Использование конфига в ивентах

Версия Minecraft
1.12.2
API
Forge
183
8
16
Всем снова здравствуйте! Я хотел бы сделать так, чтобы при ломании блока, если в конфиге установлен true, то спаунился предмет. С предметом проблем не возникло, как и с его спауном. Но с конфига почему-то ничего не тянется, то есть я в игре нажимаю на измение, но в папке игры файл .cfg не меняется и евент не меняет работы
ConfigHandler.java:
@Config(modid = Info.MOD_ID)
public class ConfigHandler {
    @Config.RangeDouble(min = 0.0, max = 1.0)
    public static double что-то там = 0.2;
    public static boolean что-то там_1 = true;
    public static boolean что-то там_2 = true;
}
EventHandler.java:
public class EventHandler {
    @SubscribeEvent
    public static void onBlockBreaked(BlockEvent.BreakEvent e) {
        int x = e.getPos().getX();
        int y = e.getPos().getY();
        int z = e.getPos().getZ();
        World world = e.getWorld();
        EntityPlayer player = e.getPlayer();
        Block block = (world.getBlockState(e.getPos()).getBlock());
        if (ConfigHandler.что-то там_1) {
              что-то делаем
        }
        
    }
}
 
Решение
Для будущих поколений:
EventHandler.java:
@SubscribeEvent
    public static void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
        if (event.getModID().equals("ваш.мод.айди")) {
            ConfigManager.sync("ваш.мод.айди", Config.Type.INSTANCE);
            ConfigManager.load("ваш.мод.айди", Config.Type.INSTANCE);
        }
    }
и в главном классе мода:
Main.java:
@Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {
        proxy.preInit(event);
        Configuration config = new Configuration(event.getSuggestedConfigurationFile());
        if (config.hasChanged()) {
            config.save();
        }
    }
7,099
324
1,510
Проблема в том, что после смены значения в гуи конфига в игре продолжает крутиться старое значение?
 

tox1cozZ

aka Agravaine
8,455
598
2,892
А мы вроде в конфиг гуи передаем только пропертисы, а не саму конфигурацию. Соответственно фордж не знает что сохранять и куда, а просто меняет значение пропертисов. Вроде так.
 
7,099
324
1,510
Так на 1.12 же аннотации конфигурации, про них форж все знает по идее
 
183
8
16
Для будущих поколений:
EventHandler.java:
@SubscribeEvent
    public static void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
        if (event.getModID().equals("ваш.мод.айди")) {
            ConfigManager.sync("ваш.мод.айди", Config.Type.INSTANCE);
            ConfigManager.load("ваш.мод.айди", Config.Type.INSTANCE);
        }
    }
и в главном классе мода:
Main.java:
@Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {
        proxy.preInit(event);
        Configuration config = new Configuration(event.getSuggestedConfigurationFile());
        if (config.hasChanged()) {
            config.save();
        }
    }
 
Последнее редактирование:
Сверху