В общем, хочу сделать настройку статов по образу и подобию родительского мода (Epic Knights) в конфиге. Не вижу различий в коде, однако он работает, а мой конфиг генерится пустым.
в мейн классе и у меня, и у автора Epic Knights конфиг регается вот так:
ModConfig.class (Epic Knights):
package com.magistuarmory.config;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.CollapsibleObject;
import me.shedaniel.autoconfig.serializer.PartitioningSerializer;
@Config(
name = "epicknights"
)
public class ModConfig extends PartitioningSerializer.GlobalData {
@CollapsibleObject
public GeneralConfig general = new GeneralConfig();
@CollapsibleObject
public WeaponsConfig weapons = new WeaponsConfig();
@CollapsibleObject
public ShieldsConfig shields = new ShieldsConfig();
@CollapsibleObject
public ArmorConfig armor = new ArmorConfig();
@CollapsibleObject
public MobEquipmentConfig mobEquipments = new MobEquipmentConfig();
public ModConfig() {
}
}
ArmorConfig.class (Epic Knights):
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.magistuarmory.config;
import me.shedaniel.autoconfig.ConfigData;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.CollapsibleObject;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.RequiresRestart;
@Config(
name = "armor"
)
public class ArmorConfig implements ConfigData {
@CollapsibleObject
public MinicrownConfig minicrown = new MinicrownConfig();
@CollapsibleObject
public CrownConfig crown = new CrownConfig();
@CollapsibleObject
public FlowercrownConfig flowercrown = new FlowercrownConfig();
@CollapsibleObject
public KnightConfig knight = new KnightConfig();
@CollapsibleObject
public ArmetConfig armet = new ArmetConfig();
@CollapsibleObject
public StechhelmConfig stechhelm = new StechhelmConfig();
@CollapsibleObject
public JoustingConfig jousting = new JoustingConfig();
@CollapsibleObject
public SalletConfig sallet = new SalletConfig();
@CollapsibleObject
public GothicConfig gothic = new GothicConfig();
@CollapsibleObject
public MaximilianHelmetConfig maximilianHelmet = new MaximilianHelmetConfig();
@CollapsibleObject
public MaximilianConfig maximilian = new MaximilianConfig();
@CollapsibleObject
public ChainmailConfig chainmail = new ChainmailConfig();
@CollapsibleObject
public KettlehatConfig kettlehat = new KettlehatConfig();
@CollapsibleObject
public PlatemailConfig platemail = new PlatemailConfig();
@CollapsibleObject
public BarbuteConfig barbute = new BarbuteConfig();
@CollapsibleObject
public HalfarmorConfig halfarmor = new HalfarmorConfig();
@CollapsibleObject
public CrusaderConfig crusader = new CrusaderConfig();
@CollapsibleObject
public BrigandineConfig brigandine = new BrigandineConfig();
@CollapsibleObject
public GambesonConfig gambeson = new GambesonConfig();
@CollapsibleObject
public CeremonialArmetConfig ceremonialArmet = new CeremonialArmetConfig();
@CollapsibleObject
public CeremonialConfig ceremonial = new CeremonialConfig();
@CollapsibleObject
public ShishakConfig shishak = new ShishakConfig();
@CollapsibleObject
public NormanConfig norman = new NormanConfig();
@CollapsibleObject
public RustedBarbuteConfig rustedBarbute = new RustedBarbuteConfig();
@CollapsibleObject
public RustedHalfarmorConfig rustedHalfarmor = new RustedHalfarmorConfig();
@CollapsibleObject
public RustedChainmailConfig rustedChainmail = new RustedChainmailConfig();
@CollapsibleObject
public RustedKettlehatConfig rustedKettlehat = new RustedKettlehatConfig();
@CollapsibleObject
public RustedNormanConfig rustedNorman = new RustedNormanConfig();
@CollapsibleObject
public RustedCrusaderConfig rustedCrusader = new RustedCrusaderConfig();
@CollapsibleObject
public BascinetConfig bascinet = new BascinetConfig();
@CollapsibleObject
public XivCenturyKnightConfig xivCenturyKnight = new XivCenturyKnightConfig();
@CollapsibleObject
public WingedHussarChestplateConfig wingedHussarChestplate = new WingedHussarChestplateConfig();
@CollapsibleObject
public CuirassierConfig cuirassier = new CuirassierConfig();
@CollapsibleObject
public KastenbrustConfig kastenbrust = new KastenbrustConfig();
@CollapsibleObject
public GrandBascinetConfig grandBascinet = new GrandBascinetConfig();
@CollapsibleObject
public LamellarConfig lamellar = new LamellarConfig();
public ArmorConfig() {
}
public static class MinicrownConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 0.0F;
@RequiresRestart
public int helmetDurability = 77;
@RequiresRestart
public int helmetDefense = 2;
public MinicrownConfig() {
}
}
public static class CrownConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 0.0F;
@RequiresRestart
public int helmetDurability = 77;
@RequiresRestart
public int helmetDefense = 2;
public CrownConfig() {
}
}
public static class FlowercrownConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 0.0F;
@RequiresRestart
public int helmetDurability = 10;
@RequiresRestart
public int helmetDefense = 0;
public FlowercrownConfig() {
}
}
public static class KnightConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 1.25F;
@RequiresRestart
public int chestplateDurability = 335;
@RequiresRestart
public int chestplateDefense = 8;
@RequiresRestart
public int leggingsDurability = 315;
@RequiresRestart
public int leggingsDefense = 5;
@RequiresRestart
public int bootsDurability = 230;
@RequiresRestart
public int bootsDefense = 2;
public KnightConfig() {
}
}
<.......>
public static class LamellarConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 0.3F;
@RequiresRestart
public int chestplateDurability = 250;
@RequiresRestart
public int chestplateDefense = 6;
@RequiresRestart
public int bootsDurability = 200;
@RequiresRestart
public int bootsDefense = 2;
public LamellarConfig() {
}
}
}
ConfigMain (моё):
package net.witchkings.knightsofterrafirma.config;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.CollapsibleObject;
import me.shedaniel.autoconfig.serializer.PartitioningSerializer;
@Config(
name = "knightsofterrafirma"
)
public class ConfigMain extends PartitioningSerializer.GlobalData {
@CollapsibleObject
public ConfigArmor armor = new ConfigArmor();
public ConfigMain() {
}
}
ConfigArmor (моё):
package net.witchkings.knightsofterrafirma.config;
import me.shedaniel.autoconfig.ConfigData;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.CollapsibleObject;
import me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.RequiresRestart;
@Config(
name = "armor"
)
public class ConfigArmor implements ConfigData {
@CollapsibleObject
public static BlackSteelKnightConfig knightBlackSteel = new BlackSteelKnightConfig();
@CollapsibleObject
public static BlackSteelArmetConfig armetBlackSteel = new BlackSteelArmetConfig();
@CollapsibleObject
public static BlackSteelStechhelmConfig stechhelmBlackSteel = new BlackSteelStechhelmConfig();
@CollapsibleObject
public static BlackSteelJoustingConfig joustingBlackSteel = new BlackSteelJoustingConfig();
@CollapsibleObject
public static BlackSteelSalletConfig salletBlackSteel = new BlackSteelSalletConfig();
@CollapsibleObject
public static BlackSteelGothicConfig gothicBlackSteel = new BlackSteelGothicConfig();
@CollapsibleObject
public static BlackSteelMaximilianHelmetConfig maximilianHelmetBlackSteel = new BlackSteelMaximilianHelmetConfig();
@CollapsibleObject
public static BlackSteelMaximilianConfig maximilianBlackSteel = new BlackSteelMaximilianConfig();
@CollapsibleObject
public static BlackSteelBarbuteConfig barbuteBlackSteel = new BlackSteelBarbuteConfig();
@CollapsibleObject
public static BlackSteelHalfarmorConfig halfarmorBlackSteel = new BlackSteelHalfarmorConfig();
@CollapsibleObject
public static BlackSteelKastenbrustConfig kastenbrustBlackSteel = new BlackSteelKastenbrustConfig();
@CollapsibleObject
public static BlackSteelGrandBascinetConfig grandBascinetBlackSteel = new BlackSteelGrandBascinetConfig();
@CollapsibleObject
public static BlackSteelKettlehatConfig kettlehatBlackSteel = new BlackSteelKettlehatConfig();
@CollapsibleObject
public static BlackSteelPlatemailConfig platemailBlackSteel = new BlackSteelPlatemailConfig();
@CollapsibleObject
public static CeremonialArmetConfig ceremonialArmet = new CeremonialArmetConfig();
@CollapsibleObject
public static CeremonialConfig ceremonial = new CeremonialConfig();
@CollapsibleObject
public static BlueSteelKnightConfig knightBlueSteel = new BlueSteelKnightConfig();
@CollapsibleObject
public static BlueSteelArmetConfig armetBlueSteel = new BlueSteelArmetConfig();
@CollapsibleObject
public static BlueSteelStechhelmConfig stechhelmBlueSteel = new BlueSteelStechhelmConfig();
@CollapsibleObject
public static BlueSteelJoustingConfig joustingBlueSteel = new BlueSteelJoustingConfig();
@CollapsibleObject
public static BlueSteelSalletConfig salletBlueSteel = new BlueSteelSalletConfig();
@CollapsibleObject
public static BlueSteelGothicConfig gothicBlueSteel = new BlueSteelGothicConfig();
@CollapsibleObject
public static BlueSteelMaximilianHelmetConfig maximilianHelmetBlueSteel = new BlueSteelMaximilianHelmetConfig();
@CollapsibleObject
public static BlueSteelMaximilianConfig maximilianBlueSteel = new BlueSteelMaximilianConfig();
@CollapsibleObject
public static BlueSteelBarbuteConfig barbuteBlueSteel = new BlueSteelBarbuteConfig();
@CollapsibleObject
public static BlueSteelHalfarmorConfig halfarmorBlueSteel = new BlueSteelHalfarmorConfig();
@CollapsibleObject
public static BlueSteelKastenbrustConfig kastenbrustBlueSteel = new BlueSteelKastenbrustConfig();
@CollapsibleObject
public static BlueSteelGrandBascinetConfig grandBascinetBlueSteel = new BlueSteelGrandBascinetConfig();
@CollapsibleObject
public static RedSteelKnightConfig knightRedSteel = new RedSteelKnightConfig();
@CollapsibleObject
public static RedSteelArmetConfig armetRedSteel = new RedSteelArmetConfig();
@CollapsibleObject
public static RedSteelStechhelmConfig stechhelmRedSteel = new RedSteelStechhelmConfig();
@CollapsibleObject
public static RedSteelJoustingConfig joustingRedSteel = new RedSteelJoustingConfig();
@CollapsibleObject
public static RedSteelSalletConfig salletRedSteel = new RedSteelSalletConfig();
@CollapsibleObject
public static RedSteelGothicConfig gothicRedSteel = new RedSteelGothicConfig();
@CollapsibleObject
public static RedSteelMaximilianHelmetConfig maximilianHelmetRedSteel = new RedSteelMaximilianHelmetConfig();
@CollapsibleObject
public static RedSteelMaximilianConfig maximilianRedSteel = new RedSteelMaximilianConfig();
@CollapsibleObject
public static RedSteelBarbuteConfig barbuteRedSteel = new RedSteelBarbuteConfig();
@CollapsibleObject
public static RedSteelHalfarmorConfig halfarmorRedSteel = new RedSteelHalfarmorConfig();
@CollapsibleObject
public static RedSteelKastenbrustConfig kastenbrustRedSteel = new RedSteelKastenbrustConfig();
@CollapsibleObject
public static RedSteelGrandBascinetConfig grandBascinetRedSteel = new RedSteelGrandBascinetConfig();
public ConfigArmor() {
}
public static class BlackSteelKnightConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 1.25F;
@RequiresRestart
public int chestplateDurability = 335;
@RequiresRestart
public int chestplateDefense = 3;
@RequiresRestart
public int leggingsDurability = 315;
@RequiresRestart
public int leggingsDefense = 5;
@RequiresRestart
public int bootsDurability = 230;
@RequiresRestart
public int bootsDefense = 2;
public BlackSteelKnightConfig() {
}
}
<........>
public static class RedSteelGrandBascinetConfig {
@RequiresRestart
public boolean enabled = true;
@RequiresRestart
public float toughness = 1.25F;
@RequiresRestart
public int helmetDurability = 275;
@RequiresRestart
public int helmetDefense = 3;
public RedSteelGrandBascinetConfig() {
}
}
}
в мейн классе и у меня, и у автора Epic Knights конфиг регается вот так:
рег:
public static ConfigMain CONFIG;
public static ConfigArmor CONFIG_ARMOR;
static {
AutoConfig.register(ConfigMain.class, PartitioningSerializer.wrap(JanksonConfigSerializer::new));
CONFIG = AutoConfig.getConfigHolder(ConfigMain.class).getConfig();
CONFIG_ARMOR = CONFIG.armor;
}