Minecraft 1122 Forge 如果没有配置文件写入默认的配置文件代码
以下是一个示例代码,用于在没有配置文件时写入默认的配置文件:
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class ModConfig {
// 定义配置文件对象
private static Configuration config;
// 定义需要的配置项
private static boolean enableFeature;
private static int maxItemCount;
private static double dropRate;
public static void preInit(FMLPreInitializationEvent event) {
// 获取或创建配置文件
config = new Configuration(event.getSuggestedConfigurationFile());
// 加载配置文件
config.load();
// 读取配置项的值,如果配置文件中没有对应的键,则使用默认值
enableFeature = config.getBoolean("enableFeature", Configuration.CATEGORY_GENERAL, true, "Enable the feature");
maxItemCount = config.getInt("maxItemCount", Configuration.CATEGORY_GENERAL, 64, 1, 64, "Maximum item count");
dropRate = config.getFloat("dropRate", Configuration.CATEGORY_GENERAL, 0.5, 0.0, 1.0, "Drop rate");
// 保存配置文件
if (config.hasChanged()) {
config.save();
}
}
public static boolean isFeatureEnabled() {
return enableFeature;
}
public static int getMaxItemCount() {
return maxItemCount;
}
public static double getDropRate() {
return dropRate;
}
}
在 preInit 方法中,我们创建了一个 Configuration 对象,并使用 event.getSuggestedConfigurationFile() 获取配置文件的路径。然后,我们通过 config.getBoolean、config.getInt 和 config.getFloat 方法读取配置项的值,如果配置文件中没有对应的键,则使用提供的默认值。
最后,在保存配置文件之前,我们使用 config.hasChanged() 方法检查配置文件是否有变化。如果有变化,则调用 config.save() 方法保存配置文件。
这只是一个简单的示例,你可以根据自己的需求添加其他配置项和逻辑
原文地址: http://www.cveoy.top/t/topic/iRgY 著作权归作者所有。请勿转载和采集!