YAML Config 是一个功能强大的 Minecraft 配置模组,使模组开发者能够使用 YAML 文件格式创建和管理配置设置。它提供了用户友好的 GUI、广泛的数据类型支持,以及用于客户端-服务器同步的强大网络功能。
boolean, int, float, double, String, ResourceLocation, Registry
List, Map
LocalDateTime
1. 定义一个 Config 类:
public class MyModConfig {
public static IConfig config;
public static IConfigEntry debug;
public static void init() {
ConfigBuilder builder = new ConfigBuilder(MyMod.MOD_ID, "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);
}
}
2. 定义配置项:
ConfigBuilder 类来定义你的配置设置。define* 方法为每个条目选择合适的数据类型。// 定义布尔值条目的示例:
debug = builder.defineBoolean("debug", false);
// 定义带范围的整数条目的示例:
intEntry = builder.defineInteger("intEntry", 10, 0, 100); // 最小 0,最大 100
// 定义带模式的字符串条目的示例:
stringEntry = builder.defineString("stringEntry", "test", "test\\d+");
// 定义注册表条目的示例:
registryEntry = builder.defineRegistry("registryEntry", Blocks.GRASS_BLOCK, BuiltInRegistries.BLOCK);
// 定义列表的示例:
stringListEntry = builder.defineStringList("stringListEntry", List.of("test1", "test2", "test3"), 3, 10); // 最小 3,最大 10
// 定义映射的示例:
integerMapEntry = builder.defineIntegerMap("integerMapEntry", Map.of("test1", 1, "test2", 2, "test3", 3), 3, 10); // 最小 3,最大 10
3. 构建配置:
ConfigBuilder 上调用 build() 方法来创建你的配置。public MyModConfig() {
ConfigBuilder builder = new ConfigBuilder("mymod", "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);
// ... 定义配置项
config = builder.build();
}
4. 在代码中访问配置值:
get() 方法获取配置项的当前值。set() 方法修改配置项的值。// 示例:
boolean debugEnabled = MyModConfig.debug.get(); // 获取 "debug" 设置的当前值
if (debugEnabled) {
// 执行与调试相关的操作
}
MyModConfig.intEntry.set(25); // 将 "intEntry" 的值设置为 25
ConfigType.CLIENT: 客户端配置仅对安装了该模组的客户端生效。它们不会与服务器上的其他玩家共享。ConfigType.SERVER: 服务器端配置仅适用于专用服务器。它们不会在单人世界中使用,也不会同步给服务器上的玩家。ConfigType.COMMON: 通用配置由客户端和服务器共享。可以通过直接编辑配置文件并重启服务器来在服务器上修改,也可以通过游戏内 GUI 编辑这些值并保存更改。IConfigEntryType 接口向 YAML Config 模组注册自定义数据类型。// 示例:基础客户端配置
public class MyModConfig {
public static IConfig config;
public static IConfigEntry debug;
public static IConfigEntry testInt;
public static void init() {
ConfigBuilder builder = new ConfigBuilder("mymod", "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);
debug = builder.defineBoolean("debug", false) // 默认值为 false。
.withComments("Whether debug mode is enabled for the mod.");
testInt = builder.defineInteger("testInt", 10, 0, 100); // 默认值 10,最小 0,最大 100。
config = builder.build();
}
} 友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:90,592 | 历史访问人次:180,595
今日访问人数:1,375 | 今日访问人次:1,467
昨日访问人数:19,978 | 昨日访问人次:22,291
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6