
PlaceholderLib
所有正在制作中的Hytale模组的占位符解决方案。我们团结一致。
PlaceholderLib
一个适用于 Hytale 插件的轻量级占位符 API。提供简单的注册系统,用于动态文本替换。
快速开始
1. 添加依赖
dependencies {implementation(files("libs/PlaceholderLib.jar"))}
2. 注册占位符
public class MyPlugin extends JavaPlugin {
@Override
public void setup() {
// 静态占位符
PlaceholderLib.getRegistry().register(
new SimplePlaceholder("server_name", "MyServer")
);
// 动态占位符
PlaceholderLib.getRegistry().register(
new Placeholder() {
@Override
public String getIdentifier() { return "online_count"; }
@Override
public String resolve(PlaceholderContext ctx) {
return String.valueOf(getServer().getOnlinePlayers().size());
}
}
);
}
}
工作原理
- 注册:插件使用唯一标识符(不带
%符号)注册占位符 - 模式匹配:PlaceholderLib 自动在文本中查找
%占位符id%模式 - 解析:已注册的占位符将其模式替换为实际值
- 备用方案:未注册的占位符在文本中保持原样
占位符规则
- 命名空间:
插件id_标识符(例如rpg_foodlevel) - 允许的字符:
a-z、0-9、_ - 区分大小写:
%rep_eat_food_level%≠%Rep_Eat_Food_Level% - 使用时包裹在 % 中:
%插件id_标识符%
示例实现
public class CustomPlaceholder implements Placeholder {
@Override
public String getIdentifier() {
return "my_custom_value";
}
@Override
public String resolve(PlaceholderContext context) {
// 通过 context 访问玩家、世界等
return "custom_value";
}
}
内置支持的占位符:
玩家 %player_name% %player_uuid% %player_x% %player_y% %player_z% %player_language%
服务器 %server_name% %server_max% %server_default_world% %server_gamemode%
LuckPerms %luckperms_prefix% %luckperms_suffix% %luckperms_group%
📚 需要帮助?
- Discord 支持: https://discord.gg/U4mH3weTsw
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。