Minecraft(我的世界)中文论坛

标题: [转载][API] PlaceholderAPI —— 插件前置API/PAPI变量 <API/前置> [全版本]

作者: 神奈川归尘    时间: 2020-2-20 16:24
标题: [转载][API] PlaceholderAPI —— 插件前置API/PAPI变量 <API/前置> [全版本]
本帖最后由 PQguanfang 于 2020-2-28 08:31 编辑

asdszxasdegzbcnfjrvdsewrtsdagxa

    PlaceholderAPI                                       PAPI变量/前置API

asdszxasdegzbcnfjrvdsewrtsdagxa






     插件介绍


  Why PlaceholderAPI?

  PlaceholderAPI 多数插件都需要的前置API,提供开发者API 可自行创建新的变量.

  PlaceHolderAPI 特点

  • 目前已自带多数变量
  • 可供开发者创建新变量的API
  • 多种插件的前置API



     基础帮助

  如何使用

  例 如
"这是带有 %time% 变量的文本" //实际时间
%time% 会被替换成实际时间

参 数

  %placeholder<parameters>% - 通用格式
  %placeholder<param1=value1;param2=value2>% - PlaceholderAPI 支持命名参数,通常在需要使用多个参数时使用

  亦或者

  %has_permission <nukkit.command.time>% - 检查玩家是否拥有权限: nukkit.command.time
  %synapse_status <lobby; true=你现在可以进入服务器;false=您现在不能进入服务器>% - 返回Synapse服务器状态.
  若是 true 那么 "你下载可以进入服务器",反之 "你现在不能进入服务器"


  变量篇 / 已做注释汉化


  1. %player% - 获取玩家的名称
  2. %player_displayname% - 获取玩家的显示名称
  3. %player_uuid% - 获取玩家的UUID
  4. %player_ping% - 获取玩家当前延迟
  5. %player_level% - 获取玩家所在世界名称
  6. %player_can_fly% - 玩家是否开启飞行模式
  7. %player_flying% - 玩家是否处于飞行模式
  8. %player_health% - 获取玩家的生命值
  9. %player_max_health% - 获取玩家的最大生命值
  10. %player_saturation% - 获取玩家的饥饿值
  11. %player_food% - 获取玩家的饥饿值
  12. %player_gamemode% - 获取玩家的游戏模式
  13. %player_x% - 获取玩家的x坐标
  14. %player_y% - 获取玩家的y坐标
  15. %player_z% - 获取玩家的z坐标
  16. %player_direction% - 获取玩家的朝向
  17. %player_exp% - 获取玩家的当前经验
  18. %player_exp_to_next% - 获取玩家下一等级所需经验
  19. %player_exp_level% - 获取玩家的等级
  20. %player_speed% - 获取玩家当前的速度
  21. %player_max_air% - 获取玩家的最大氧气值
  22. %player_remaining_air% - 获取玩家的剩余氧气值
  23. %player_item_in_hand% - 获取玩家手持物品信息
  24. %server_online% - 获取当前在线玩家的数量
  25. %server_max_players% - 获取最大玩家数
  26. %server_motd% - 获取服务器motd
  27. %server_ram_used% - 获取已用内存
  28. %server_ram_free% - 获取可用内存
  29. %server_ram_total% - 获取总内存
  30. %server_ram_max% - 获取最大内存
  31. %server_cores% - 获取可用的处理器内核
  32. %server_tps% - 获取当前TPS
  33. %server_uptime% - 获取当前正常运行时间
  34. %time% - 获取实际时间
复制代码




     开发者API
获取API实例
  1. //在 Java 中
  2. PlaceholderAPI api = PlaceholderAPI.getInstance();
复制代码
获得变量值 这里有几种方法
  1. //获得单个变量值
  2. api.getValue(placeholderName, player); //player is optional and has an effect only for visitor sensitive placeholders

  3. //获取包含X个变量的变量字符串
  4. api.translateString(inputString, player); //player is again optional for static placeholders
复制代码
创建一个新的变量
  1. val api = PlaceholderAPI.getInstance()

  2. //创建静态变量
  3. api.staticPlaceholder("tick", {Server.getInstance().tick}) //最简单的例子

  4. //你还可以指定更新间隔,它指示
  5. //在重新计算值之前应将其缓存多长时间(默认值为1秒)

  6. //PlacholderAPI还实现了自动更新程序,可更新变量
  7. //更新间隔中指定的每个周期

  8. //自动更新变量

  9. //此变量值将在每个刻度处刷新并自动更新
  10. api.staticPlaceholder("tick", {Server.getInstance().tick}, 1, true)


  11. //创建访客敏感的变量
  12. //它几乎与静态相同. 唯一的区别是你可以在 lambda 中使用Player实例参数

  13. api.visitorSensitivePlaceholder("isop", {p -> p.isOp}) //您还可以使用更新间隔和自动更新参数

  14. //每个变量都可以具有别名,该别名可以在方法末尾  包含在vararg中

  15. //如果您想更好地控制变量,则可以扩展现有的类
  16. //并直接注册Placeholder实例,例如
  17. api.registerPlaceholder(StaticPlaceHolder("test", 20, false, emptySet()) {"test"})
复制代码



     插件下载

  [原帖] https://nukkitx.com/resources/placeholderapi.104/
  [Github] https://github.com/Creeperface01/PlaceholderAPI-nukkit


[groupid=1701]Complex Studio[/groupid]
作者: 王境泽定律    时间: 2020-2-27 23:48
2020-02-27 23:47:19.789 [main] INFO  - 读取 PlaceholderAPI v1.3.1 中
2020-02-27 23:47:19.830 [main] INFO  - [PlaceholderAPI] Downloading KotlinLib...
2020-02-27 23:47:41.840 [main] ERROR - Throwing
java.lang.NoSuchMethodError: cn.nukkit.utils.MainLogger.logException(Ljava/lang/Exception;)V
        at com.creeperface.nukkit.placeholderapi.util.KotlinLibDownloader.check(KotlinLibDownloader.java:37) ~[?:?]
        at com.creeperface.nukkit.placeholderapi.PlaceholderPlugin.onLoad(PlaceholderPlugin.kt:15) ~[?:?]
        at cn.nukkit.plugin.JavaPluginLoader.initPlugin(JavaPluginLoader.java:109) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:57) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.loadPlugin(PluginManager.java:95) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.loadPlugins(PluginManager.java:288) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.loadPlugins(PluginManager.java:132) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.loadPlugins(PluginManager.java:124) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.loadPlugins(PluginManager.java:120) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.<init>(Server.java:489) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Nukkit.main(Nukkit.java:112) [nukkit-1.0-SNAPSHOT.jar:?]
2020-02-27 23:47:41.846 [main] INFO  - Stopping other threads
2020-02-27 23:47:41.849 [Thread-5] FATAL - RakNet crashed!

作者: 王境泽定律    时间: 2020-2-27 23:49
王境泽定律 发表于 2020-2-27 23:48
2020-02-27 23:47:19.789 [main] INFO  - 读取 PlaceholderAPI v1.3.1 中
2020-02-27 23:47:19.830 [main]  ...

楼主这咋回事
作者: PQguanfang    时间: 2020-2-28 08:32
王境泽定律 发表于 2020-2-27 23:49
楼主这咋回事

安装KotlinLib
作者: 灬醉冰魂灬    时间: 2020-4-9 11:16
为啥我不能使用和下载变量
一直显示没有对应的拓展 
作者: 琉璃糖    时间: 2020-4-9 19:53
版主=、=
你帖子排版右边炸了=、=
作者: 黄瓜zz    时间: 2020-4-21 19:12
%server_motd% - 获取服务器motd
%server_ram_used% - 获取已用内存
%server_ram_free% - 获取可用内存
%server_ram_total% - 获取总内存
%server_ram_max% - 获取最大内存
%server_cores% - 获取可用的处理器内核
%server_tps% - 获取当前TPS
tps内存那些无法显示 请问什么问题
作者: 一只鸽纸    时间: 2020-4-22 08:07
好像和W公会有冲突?装上就时不时报错,把这个API删了就好了
作者: 罗bibi    时间: 2020-4-30 23:14


写错了吧.....


作者: 石梓衡    时间: 2020-5-7 14:19
这个有问题,一装进我服务器(1.14.4)就一大堆Error,有问题!!
作者: 一个人的牢    时间: 2020-5-9 08:31
楼主有百度网盘的链接吗?官网下载的太慢了
作者: 有点宅的少年    时间: 2020-6-6 12:55
111111111111
作者: xieyuxuan416    时间: 2020-6-16 13:17
66666666666666666
作者: KAURUIGuo    时间: 2020-7-13 17:47
20200713   
作者: 昭....    时间: 2020-7-25 11:20
感谢楼主大大分享

作者: Matsrui_cultus    时间: 2020-7-25 22:22
很厉害的一个插件啊
作者: 14555哈哈哈    时间: 2020-8-2 17:53
阿这,整挺好
作者: Fucheng_XDJ    时间: 2020-8-22 17:22
我的服疯狂刷屏0.0全是warn是有前置吗

作者: kuoluo    时间: 2020-8-30 12:01
水贴| ू•ૅω•́)ᵎᵎᵎ
作者: BlianBB    时间: 2020-9-17 19:30
Vault的变量呢?
作者: BlianBB    时间: 2020-9-21 17:15
Vault的变量有吗?

作者: dancesans    时间: 2020-9-22 13:58
MCBBS有你更精彩~
作者: yyi1422    时间: 2020-10-1 23:45
缺失waila1.8什么什么的,,不懂
作者: 484180381    时间: 2020-10-4 12:58
[00:56:23] [Server thread/ERROR]: Could not load 'plugins\KotlinLib.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: cn/nukkit/plugin/PluginBase         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:318) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:222) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.Thread.run(Unknown Source) [?:1.8.0_161] Caused by: java.lang.NoClassDefFoundError: cn/nukkit/plugin/PluginBase         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.Class.forName0(Native Method) ~[?:1.8.0_161]         at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         ... 6 more Caused by: java.lang.ClassNotFoundException: cn.nukkit.plugin.PluginBase         at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:156) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.Class.forName0(Native Method) ~[?:1.8.0_161]         at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         ... 6 more [00:56:23] [Server thread/ERROR]: Could not load 'plugins\PlaceholderAPI.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: cn/nukkit/plugin/PluginBase         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:318) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:222) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.Thread.run(Unknown Source) [?:1.8.0_161] Caused by: java.lang.NoClassDefFoundError: cn/nukkit/plugin/PluginBase         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.Class.forName0(Native Method) ~[?:1.8.0_161]         at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         ... 6 more Caused by: java.lang.ClassNotFoundException: cn.nukkit.plugin.PluginBase         at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:156) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_161]         at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]         at java.lang.Class.forName0(Native Method) ~[?:1.8.0_161]         at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_161]         at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[Paper-1.12.2-b1618.jar:git-Paper-1618]         ... 6 more
作者: wqrzxf    时间: 2020-10-13 15:26

感谢楼主大大分享
作者: 2873684972    时间: 2020-10-18 00:08
谢谢大佬分享
作者: fengxiaozhen    时间: 2020-11-1 10:04
这个插件是很多插件的前置,可惜本身难懂
作者: Ex小木,    时间: 2020-11-3 03:24
很棒的 为啥是基岩版.........

作者: whatfilmae    时间: 2020-11-22 14:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiamingli    时间: 2020-11-25 11:34
实在忍不住评论,这专业团队图片真的想笑····
作者: adg2007930    时间: 2020-11-28 08:33
好像这个网站不是最新版本,这里有个更高的,https://www.spigotmc.org/resources/placeholderapi.6245/
作者: ghvj    时间: 2020-12-12 19:56
66666666666666
作者: 1768890693    时间: 2020-12-19 21:25
6666666666666
作者: 1768890693    时间: 2020-12-19 21:30
6666666666666
作者: 1768890693    时间: 2020-12-19 21:34
6666666666666
作者: 1768890693    时间: 2020-12-19 21:36
6666666666666
作者: 1768890693    时间: 2020-12-19 21:36
6666666666666
作者: 1768890693    时间: 2020-12-19 21:39
6666666666666
作者: 口口乱心    时间: 2021-1-19 22:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1493864940    时间: 2021-1-20 11:24
支持支持支持啊
作者: xiyue1314520    时间: 2021-1-22 22:40
mc有你更精彩
作者: jalliam    时间: 2021-1-31 18:44
来了就顶一下,有用的插件千万别沉了
作者: gaogao9711    时间: 2021-2-8 19:32
8888888888888888888888888888888888888888888
作者: jalliam    时间: 2021-2-10 04:07
楼主能不能把查询所有api变量的网站,更新在帖子里,每次搜索都是你拍第一,然后找半天,找到那个网站。
作者: 509819514    时间: 6 天前
下一级需要经验是错的  什么情况啊????/
作者: 509819514    时间: 6 天前
能不能麻烦发一下正确的谢谢