基本信息
我的世界Java版本
平台
其他链接
创作团队
详情信息
SuperMartijn642的配置库 允许你 仅指定一次配置 ,然后它会 自行处理在世界加载之间重新加载值 、 与客户端同步值 以及 为仅客户端或仅服务器生成值 等操作。
创建一个配置:
使用ModConfigBuilder来创建一个配置。
只需使用#ModConfigBuilder()创建一个新实例即可。
ModConfigBuilder builder = 新的 ModConfigBuilder();
可以使用ModConfigBuilder#define向配置中添加一个值,该方法接受一个名称和一个默认值。
对于整数和双精度值,还需要指定最小值和最大值。
测试代码块;
ModConfigBuilder#define会返回一个Supplier,应该将其存储起来以便从配置中获取值。
Supplier <boolean> booleanValue = builder .define( "booleanValue" , true ); </boolean>
Supplier <integer> integerValue = builder .define( "integerValue" , 5 , 0 , 10 ); </integer>
Supplier <double> doubleValue = builder .define( "doubleValue" , 0.5 , 0 , 1 ); </double>
Supplier <exampleenum> enumValue = builder .define( "enumValue" , ExampleEnum. VALUE_1 ); </exampleenum>
在定义值之前,可以通过调用ModConfigBuilder#comment(String)为一个值添加注释。
Supplier <boolean> valueWithComment = builder .comment( "这是针对'valueWithComment'的注释" ).define( "valueWithComment " , true ); </boolean>
默认情况下,值会在世界加载时重新加载。
可以通过在定义值之前调用ModConfigBuilder#gameRestart()将其改为仅在Minecraft启动时重新加载一个值。
Supplier <boolean> notReloadedValue = builder .comment( "这个值将不会被重新加载" ).define( "notReloadedValue" , true ); </boolean>
默认情况下,COMMON或SERVER配置中的值会与客户端同步,要阻止这种情况可使用ModConfigBuilder#dontSync()。
Supplier <boolean> notSynchronizedValue = builder .comment( "这个值将不会被同步" ).define( "notSynchronizedValue" , true ); </boolean>
值也可以被归入类别。
ModConfigBuilder#push(String)会推送一个类别,而ModConfigBuilder#pop()会弹出一个类别。
builder .push( "特殊" );
Supplier <boolean> specialValue = builder .comment( "这个值在'特殊'类别中" ).define( "specialValue" , true ); </boolean>
builder .pop();
可以使用ModConfigBuilder#categoryComment(String)为当前活动类别添加注释。
builder .push( "客户端" ).categoryComment( "这是针对'客户端'类别的注释" );
在定义完所有值之后,必须调用ModConfigBuilder#build()来完成配置。
builder .build();
现在,你配置中的值将自动重新加载和同步,并且可以使用存储的Supplier实例来获取这些值。
这将适用于所有可用版本,包括Minecraft 1.12、1.14、1.15和1.16。
示例模组:
有关如何使用配置库的具体示例,请查看 示例模组 。
Discord
如需了解未来内容、即将推出的模组以及参与讨论,欢迎随时加入SuperMartijn642的Discord服务器!
Patreon