插件介绍
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 那么 "你下载可以进入服务器",反之 "你现在不能进入服务器"
变量篇 / 已做注释汉化
- %player% - 获取玩家的名称
- %player_displayname% - 获取玩家的显示名称
- %player_uuid% - 获取玩家的UUID
- %player_ping% - 获取玩家当前延迟
- %player_level% - 获取玩家所在世界名称
- %player_can_fly% - 玩家是否开启飞行模式
- %player_flying% - 玩家是否处于飞行模式
- %player_health% - 获取玩家的生命值
- %player_max_health% - 获取玩家的最大生命值
- %player_saturation% - 获取玩家的饥饿值
- %player_food% - 获取玩家的饥饿值
- %player_gamemode% - 获取玩家的游戏模式
- %player_x% - 获取玩家的x坐标
- %player_y% - 获取玩家的y坐标
- %player_z% - 获取玩家的z坐标
- %player_direction% - 获取玩家的朝向
- %player_exp% - 获取玩家的当前经验
- %player_exp_to_next% - 获取玩家下一等级所需经验
- %player_exp_level% - 获取玩家的等级
- %player_speed% - 获取玩家当前的速度
- %player_max_air% - 获取玩家的最大氧气值
- %player_remaining_air% - 获取玩家的剩余氧气值
- %player_item_in_hand% - 获取玩家手持物品信息
- %server_online% - 获取当前在线玩家的数量
- %server_max_players% - 获取最大玩家数
- %server_motd% - 获取服务器motd
- %server_ram_used% - 获取已用内存
- %server_ram_free% - 获取可用内存
- %server_ram_total% - 获取总内存
- %server_ram_max% - 获取最大内存
- %server_cores% - 获取可用的处理器内核
- %server_tps% - 获取当前TPS
- %server_uptime% - 获取当前正常运行时间
- %time% - 获取实际时间
复制代码
开发者API
获取API实例
- //在 Java 中
- PlaceholderAPI api = PlaceholderAPI.getInstance();
复制代码 获得变量值 这里有几种方法
- //获得单个变量值
- api.getValue(placeholderName, player); //player is optional and has an effect only for visitor sensitive placeholders
- //获取包含X个变量的变量字符串
- api.translateString(inputString, player); //player is again optional for static placeholders
复制代码 创建一个新的变量
- val api = PlaceholderAPI.getInstance()
- //创建静态变量
- api.staticPlaceholder("tick", {Server.getInstance().tick}) //最简单的例子
- //你还可以指定更新间隔,它指示
- //在重新计算值之前应将其缓存多长时间(默认值为1秒)
- //PlacholderAPI还实现了自动更新程序,可更新变量
- //更新间隔中指定的每个周期
- //自动更新变量
- //此变量值将在每个刻度处刷新并自动更新
- api.staticPlaceholder("tick", {Server.getInstance().tick}, 1, true)
- //创建访客敏感的变量
- //它几乎与静态相同. 唯一的区别是你可以在 lambda 中使用Player实例参数
- api.visitorSensitivePlaceholder("isop", {p -> p.isOp}) //您还可以使用更新间隔和自动更新参数
- //每个变量都可以具有别名,该别名可以在方法末尾 包含在vararg中
- //如果您想更好地控制变量,则可以扩展现有的类
- //并直接注册Placeholder实例,例如
- api.registerPlaceholder(StaticPlaceHolder("test", 20, false, emptySet()) {"test"})
复制代码
插件下载
[原帖] https://nukkitx.com/resources/placeholderapi.104/
[Github] https://github.com/Creeperface01/PlaceholderAPI-nukkit
|