本帖最后由 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]