弱鸡绿毛怪
本帖最后由 MagicLocyDragon 于 2019-6-18 08:51 编辑



PAPI是一个什么插件

这是一个给开发者使用的前置插件。
若并非开发者,直接下载装进服务器即可。或者简单了解一下它的作用。
有许多插件都与本插件挂钩。

为什么要二搬呢
因为看到之前那个下载地址挂了,而且也好久没有更新了,就这样。

下载地址



· 百度网盘:
https://pan.baidu.com/s/16gj_z74A0Z-WxTsCRDwVIg
· 提取码:
ptta

· 帖内下载:
PlaceholderAPI-2.10.2.jar (335.7 KB, 下载次数: 3189)
(全版本通用)


指令&权限

/papi help ——查看插件帮助
/papi list ——查看与papi挂钩的插件
/papi reload ——重载配置文件
/papi info [占位符名] ——查看信息
关于PAPI的云服务器的信息可以在这里看教程:
http://www.mcbbs.net/thread-666353-1-1.html

placeholderapi.admin #使用所有指令的权限

配置文件

check_updates: true #检查更新
cloud_enabled
: true #开启云服务
auto_install_expansions
: true #自动安装拓展内容
boolean
: #布尔式的格式化内容
  'true'
: 'yes'
  'false'
: 'no'
date_format
: MM/dd/yy HH:mm:ss #日期的格式化M是月 d是日期 y是年 H是小时 m是分钟 s是秒
expansions
: #拓展
  pinger
: #?不太懂
    offline
: offline
    check_interval
: 10 #检查的频率(秒)
    online
: online
  vault
:
    formatting
:
      thousands
: k #经济到1000的格式化?大概是1k(1000) 10k(10000)这个意思吧



javascript_placeholders.yml

如果你开启了js的拓展功能,就会生成一个这个文件。这个文件是用来创建自己的变量用的。
millionaire: #声明变量
  expression
: '%vaulteco_balance% >= 1000000' #条件: 若钱大于1x10^60
  type
: boolean #数据类型:boolean 如果条件成立返回true,反之false
  true_result
: '&aMillionaire' #若成立返回的内容
  false_result
: '&cbroke' #若不成立返回的内容
is_staff
:
  expression
: '"%vault_group%" == "Moderator" || "%vault_group%" == "Admin" || "%vault_group%"
    == "Owner"' #只是换了一个条件而已,差不多
  type
: boolean
  true_result
: '&bStaff'
  false_result
: '&ePlayer'
staff_online
:
  type
: string #就是换了一个数据类型而已,也似乎不用说了。


开发者食用方法

首先的首先先导入前置
首先在plugin.yml写上
softdepend: [PlaceholderAPI]
想必都是废话吧

创建一个类,继承EZPlaceholderHook类
输入代码
public class Test extends EZPlaceholderHook {
public Test(Main main) { #假设Main是我们的主类,创建构造方法
super(main, "customplaceholder"); #引用父类方法
}
@Override
public String onPlaceholderRequest(Player p, String indentifier) { #重写父类方法,该方法被请求一个变量时调用
if (p == null) return new String();
if (indentifier.equals("test")) {#注意这里要使用变量时是 %customplaceholder_test%
return p.getMaxHealth();
}
}
#即在请求test变量时返回玩家p的最大血量.
}

如何hook这个变量?
在onEnable里面写入代码:
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) { #先判断有没有papi
new Test(this).hook();
} else {
getLogger().info("未找到PlaceholderAPI.");
}

到这里就已经hook上了

怎么使用一个变量呢:

Player player = Bukkit.getPlayer("LocyDragon"); #先要有一个玩家,LocyDragon是楼主的id
String msg = PlaceholderAPI.setPlaceholders(player, "血量: %customplaceholder_test%");
Bukkit.getLogger().info(msg); #就这样就ok了

maven:
  1. <repositories>
  2.         <repository>
  3.             <id>placeholderapi</id>
  4.             <url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
  5.         </repository>
  6.     </repositories>
  7.     <dependencies>
  8.         <dependency>
  9.          <groupId>me.clip</groupId>
  10.           <artifactId>placeholderapi</artifactId>
  11.           <version>2.9.2</version>
  12.          <scope>provided</scope>
  13.         </dependency>
  14.     </dependencies>
复制代码


来自群组: SpicyChicken
2021.12 数据,可能有更多内容



PAPI是一个什么插件

这是一个给开发者使用的前置插件。
若并非开发者,直接下载装进服务器即可。或者简单了解一下它的作用。
有许多插件都与本插件挂钩。


为什么要二搬呢
因为看到之前那个下载地址挂了,而且也好久没有更新了,就这样。

下载地址



· 百度网盘:
https://pan.baidu.com/s/16gj_z74A0Z-WxTsCRDwVIg
· 提取码:
ptta


· 帖内下载:

(全版本通用)


指令&amp;权限

/papi help ——查看插件帮助
/papi list ——查看与papi挂钩的插件
/papi reload ——重载配置文件
/papi info [占位符名] ——查看信息
关于PAPI的云服务器的信息可以在这里看教程:
http://www.mcbbs.net/thread-666353-1-1.html


placeholderapi.admin #使用所有指令的权限

配置文件

check_updates: true #检查更新
cloud_enabled
: true #开启云服务
auto_install_expansions
: true #自动安装拓展内容
boolean
: #布尔式的格式化内容
'true'
: 'yes'
'false'
: 'no'
date_format
: MM/dd/yy HH:mm:ss #日期的格式化M是月 d是日期 y是年 H是小时 m是分钟 s是秒
expansions
: #拓展
pinger
: #?不太懂
    offline
: offline
    check_interval
: 10 #检查的频率(秒)
    online
: online
vault
:
    formatting
:
   thousands
: k #经济到1000的格式化?大概是1k(1000) 10k(10000)这个意思吧



javascript_placeholders.yml

如果你开启了js的拓展功能,就会生成一个这个文件。这个文件是用来创建自己的变量用的。
millionaire: #声明变量
expression
: '%vaulteco_balance% &gt;= 1000000' #条件: 若钱大于1x10^60
type
: boolean #数据类型:boolean 如果条件成立返回true,反之false
true_result
: '&amp;aMillionaire' #若成立返回的内容
false_result
: '&amp;cbroke' #若不成立返回的内容
is_staff
:
expression
: '&quot;%vault_group%&quot; == &quot;Moderator&quot; || &quot;%vault_group%&quot; == &quot;Admin&quot; || &quot;%vault_group%&quot;
    == &quot;Owner&quot;' #只是换了一个条件而已,差不多
type
: boolean
true_result
: '&amp;bStaff'
false_result
: '&amp;ePlayer'
staff_online
:
type
: string #就是换了一个数据类型而已,也似乎不用说了。


开发者食用方法

首先的首先先导入前置
首先在plugin.yml写上
softdepend: [PlaceholderAPI]
想必都是废话吧


创建一个类,继承EZPlaceholderHook类
输入代码
public class Test extends EZPlaceholderHook {
public Test(Main main) { #假设Main是我们的主类,创建构造方法
super(main, &quot;customplaceholder&quot;); #引用父类方法
}
@Override
public String onPlaceholderRequest(Player p, String indentifier) { #重写父类方法,该方法被请求一个变量时调用
if (p == null) return new String();
if (indentifier.equals(&quot;test&quot;)) {#注意这里要使用变量时是 %customplaceholder_test%
return p.getMaxHealth();
}
}
#即在请求test变量时返回玩家p的最大血量.
}


如何hook这个变量?
在onEnable里面写入代码:
if (Bukkit.getPluginManager().isPluginEnabled(&quot;PlaceholderAPI&quot;)) { #先判断有没有papi
new Test(this).hook();
} else {
getLogger().info(&quot;未找到PlaceholderAPI.&quot;);
}


到这里就已经hook上了


怎么使用一个变量呢:


Player player = Bukkit.getPlayer(&quot;LocyDragon&quot;); #先要有一个玩家,LocyDragon是楼主的id
String msg = PlaceholderAPI.setPlaceholders(player, &quot;血量: %customplaceholder_test%&quot;);
Bukkit.getLogger().info(msg); #就这样就ok了


maven:

代码:

  1. <repositories>
  2.   <repository>
  3.    <id>placeholderapi</id>
  4.    <url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
  5.   </repository>
  6.     </repositories>
  7.     <dependencies>
  8.   <dependency>
  9.    <groupId>me.clip</groupId>
  10.     <artifactId>placeholderapi</artifactId>
  11.     <version>2.9.2</version>
  12.    <scope>provided</scope>
  13.   </dependency>
  14.     </dependencies>



AlbertBlue
沙发。话说没有全部变量列表吗

OasisCYee
本帖最后由 城雨 于 2018-2-9 12:26 编辑

KCauldron1.7.10。哪位dalao能请教一下吗?

弱鸡绿毛怪
城雨 发表于 2018-2-9 12:25
KCauldron1.7.10。哪位dalao能请教一下吗?

这不关我插件的问题
也不是papi的问题

zishibudui233
请问 javascript_placeholders 脚本变量搞了半天不会
我就是想搞个VIP权限组,让它变量 显示到FB计分板上面

skyxingcheng
1.7.10Thermos不能用新版本的player变量 求解啊

新东方教主
很多插件都用得到,收下了。

弱鸡绿毛怪
zishibudui233 发表于 2018-5-2 01:00
请问 javascript_placeholders 脚本变量搞了半天不会
我就是想搞个VIP权限组,让它变量 显示到FB计分板上面 ...

is_vip:
  expression: '"%vault_group%" == "Vip用户组"'
  type: boolean
  true_result: '&f[&e&lVip用户&f]'
  false_result: '&f[&7普通玩家&f]'

Kavintion
2.9.2版本出了,麻烦更新一下
话说不放出原贴的下载直链吗...

CyanBillows
Lightning_Reed 发表于 2018-2-6 18:49
沙发。话说没有全部变量列表吗

变量wiki里有很多,其余挂钩的插件也一般有标注

弱鸡绿毛怪
Kavintion 发表于 2018-9-17 15:38
2.9.2版本出了,麻烦更新一下
话说不放出原贴的下载直链吗...

感谢提醒,已经更新

qiupiu
指令里面没办法添加变量嘛...

MXHim
1.13能用吗

黑崎丶一护
Lightning_Reed 发表于 2018-2-6 18:49
沙发。话说没有全部变量列表吗

是的只是部分而已

CitrusUtopia
根本检测不了权限组,气死我了(豹怒),删除了,真是太失望了