ConfigurationsBackport

ConfigurationsBackport

将Forge 1.12.x中的Config注解系统带回1.8.9版本。

基础库

配置回溯(ConfigurationsBackport)

使用 Mixins 将 1.12.2 版本 Forge 的 Config 注解系统带回到 1.8.9 版本。 其文档位于:https://docs.minecraftforge.net/en/1.12.x/config/annotations/

如何使用?

你可以完全按照在 1.12.2 中相同的用法来使用 Config 注解。 但需要将 net.minecraftforge.common.config.ConfigManager 替换为 my_life_is_bad.configurationsbackport.common.config.ConfigManager。

示例:

package my_life_is_bad.configurationsbackport;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.client.event.ConfigChangedEvent.OnConfigChangedEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod.EventHandler;
import my_life_is_bad.configurationsbackport.common.config.ConfigManager;
import my_life_is_bad.configurationsbackport.common.config.Config;

@Mod(modid = ConfigurationsBackport.MODID, version = ConfigurationsBackport.VERSION)

public class ConfigurationsBackport {
    public static final String MODID = "configurationsbackport";
    public static final String VERSION = "1.1";

@Config(modid = MODID)
    public static class Configuration {
        @Config.Comment("字符串条目:")
        public static String stringEntry = "我是一个字符串 :D";

        @Config.Comment("整数条目(滑动条):")
        @Config.RangeInt(min = 1, max = 16)
        @Config.SlidingOption()
        public static int intSlider = 100;

        @Config.Comment("整数条目:")
        @Config.RangeInt(min = 1, max = 16)
        public static int intEntry = 100;

        @Config.Comment("双精度浮点条目:")
        @Config.RangeDouble(min = 0.1D, max = 1.6D)
        public static double doubleEntry = 0.1D;

        @Config.Comment("双精度浮点条目(滑动条):")
        @Config.RangeDouble(min = 0.1D, max = 1.6D)
        @Config.SlidingOption()
        public static double doubleSlider = 0.1D;
    }

@EventHandler
	public void onFMLConstructionEvent(FMLConstructionEvent event) {
		MinecraftForge.EVENT_BUS.register(this);
	}

    @SubscribeEvent
	public void onConfigChangedEvent(OnConfigChangedEvent event) {
		if (event.modID.equals(MODID)) {
			ConfigManager.sync(MODID, Config.Type.INSTANCE);
		}
	}
}~~~~

ConfigurationsBackport