
E-Utils
EverlastingUtils是一个用于Hytale模组开发和所有Hysocs模组的强大实用程序库。
EverlastingUtils (Hytale)
注意:如果你看到此页面,是因为它作为另一个模组的依赖或前置,只需安装它即可,无需阅读此文档。
EverlastingUtils 是一个面向 Hytale 服务端开发的强大实用工具库。它抽象了复杂的样板代码,让开发者能够专注于游戏玩法功能,而不是底层基础设施。
特性
高级配置管理
一个强大 JSONC 配置系统的直接移植。
- JSONC 支持:完全支持配置文件中的注释(
//和/* */)。 - 热重载:自动检测文件更改,无需重启服务端即可在运行时重新加载配置。
- 自动保存与备份:内置自动保存功能,并在迁移前自动生成备份。
- 版本控制:自动处理配置版本更新。
线程与调度
一个用于在 Hytale 环境中安全管理任务的安全包装器。
- 安全:通过明确定义异步与同步执行,防止常见的并发错误。
- 清理:在插件关闭时自动追踪并取消任务。
- 统一 API:通过简单的静态方法运行一次性或重复性任务。
颜色解析
连接传统工作流与 Hytale 组件系统之间的桥梁。
- 传统支持:将经典的
&a、&l、&f等代码解析为 Hytale 的Message对象。 - 十六进制支持:自动将标准颜色代码映射到特定的十六进制值。
使用示例
1. 配置管理
通过实现 ConfigManager.ConfigData 创建你的配置类:
public class MyConfig implements ConfigManager.ConfigData {
// 必需的方法
@Override public String getVersion() { return "1.0.0"; }
@Override public String getConfigId() { return "my_plugin"; }// 你的设置
public boolean debugMode = false;
public String welcomeMessage = "Hello World";
}
在你的主类中初始化它:
// 设置元数据(头部注释等)
ConfigMetadata meta = ConfigMetadata.createDefault("my_plugin");// 初始化管理器
ConfigManager<MyConfig> configManager = new ConfigManager<>(
MyConfig.class,
new MyConfig(),
meta
);
// 在任何地方访问值
boolean isDebug = configManager.getConfig().debugMode;
2. 任务调度
在你的插件启动时初始化调度器(以便挂接到主游戏线程):
@Override
public void onServerStarted() {
// 挂接到 Hytale 的主线程执行器
SchedulerManager.init(runnable ->
HytaleServer.getInstance().getScheduler().execute(runnable)
);
}
轻松调度任务:
// 在 5 秒后于主线程上运行一个任务(同步)
SchedulerManager.schedule("my_task_id", 5, TimeUnit.SECONDS, false, () -> {
player.sendMessage(Message.raw("延迟的消息!"));
});// 立即运行一个通用异步任务
SchedulerManager.schedule("async_calc", 0, TimeUnit.SECONDS, true, () -> {
// 此处进行大量计算...
});
3. 颜色解析
使用传统代码轻松发送格式化消息:
String rawText = "&a成功! &7你已收到 &e100 金币&7。";
Message message = ColorParser.parse(rawText);player.sendMessage(message);
为开发者安装
将库添加到你的 build.gradle.kts 文件中。
1. 将 jar 放置到 libs 文件夹中
C:\Users\Administrator\Desktop\Mods\EventAntiXray\libs\everlastingutils-1.0.0.jar
2. 添加依赖:由于 EverlastingUtils 是一个独立模组,请使用 compileOnly,这样它就不会被打包进你的 jar 中:
dependencies {
compileOnly("com.hysocs:everlastingutils:1.0.0")
// 或者,如果使用 libs/ 中的本地 jar
// compileOnly(files("libs/everlastingutils-1.0.0.jar"))
}
注意:请确保 EverlastingUtils 的 jar 文件在运行时存在于你服务端的 mods 文件夹中。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。