From dcecfb1baaaad15369d00808e14369e23de47536 Mon Sep 17 00:00:00 2001 From: Kli Kli Date: Sat, 14 Sep 2024 14:42:18 +0200 Subject: [PATCH] feat: move dimensional miner config to startup config This helps avoid issues if mods influence load order / data load time vs config load time. --- .../config/OccultismServerConfig.java | 51 ------------------- .../config/OccultismStartupConfig.java | 51 +++++++++++++++++++ .../occultism/registry/OccultismItems.java | 24 ++++----- 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java b/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java index d4b6940a6..79c4af69b 100644 --- a/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java +++ b/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java @@ -31,7 +31,6 @@ public class OccultismServerConfig { public final SpiritJobSettings spiritJobs; public final RitualSettings rituals; - public final DimensionalMineshaftSettings dimensionalMineshaft; public final ItemSettings itemSettings; public final ModConfigSpec spec; @@ -40,7 +39,6 @@ public OccultismServerConfig() { this.storage = new StorageSettings(builder); this.spiritJobs = new SpiritJobSettings(builder); this.rituals = new RitualSettings(builder); - this.dimensionalMineshaft = new DimensionalMineshaftSettings(builder); this.itemSettings = new ItemSettings(builder); this.spec = builder.build(); } @@ -137,55 +135,6 @@ public SpiritJobSettings(ModConfigSpec.Builder builder) { } } - public static class DimensionalMineshaftSettings { - public final MinerSpiritSettings minerFoliotUnspecialized; - public final MinerSpiritSettings minerDjinniOres; - public final MinerSpiritSettings minerAfritDeeps; - public final MinerSpiritSettings minerMaridMaster; - - public DimensionalMineshaftSettings(ModConfigSpec.Builder builder) { - builder.comment("Dimensional Mineshaft Settings").push("dimensional_mineshaft"); - - this.minerFoliotUnspecialized = - new MinerSpiritSettings("miner_foliot_unspecialized", builder, 400, 1, 1000); - - this.minerDjinniOres = - new MinerSpiritSettings("miner_djinni_ores", builder, 300, 1, 400); - - this.minerAfritDeeps = - new MinerSpiritSettings("miner_afrit_deeps", builder, 200, 1, 800); - - this.minerMaridMaster = - new MinerSpiritSettings("miner_marid_master", builder, 100, 1, 1600); - - builder.pop(); - } - - public static class MinerSpiritSettings { - public final IntValue maxMiningTime; - public final IntValue rollsPerOperation; - public final IntValue durability; - - public MinerSpiritSettings(String oreName, ModConfigSpec.Builder builder, - int maxMiningTime, int rollsPerOperation, int durability) { - builder.comment("Miner Spirit Settings").push(oreName); - - this.maxMiningTime = - builder.comment("The amount of time it takes the spirit to perform one mining operation.") - .defineInRange("maxMiningTime", maxMiningTime, 0, Integer.MAX_VALUE); - this.rollsPerOperation = - builder.comment("The amount of blocks the spirit will obtain per mining operation") - .defineInRange("rollsPerOperation", rollsPerOperation, 0, Integer.MAX_VALUE); - this.durability = - builder.comment("The amount of mining operations the spirit can perform before breaking.") - .defineInRange("durability", durability, 0, Integer.MAX_VALUE); - - builder.pop(); - } - } - - } - public static class RitualSettings { public final BooleanValue enableClearWeatherRitual; public final BooleanValue enableRainWeatherRitual; diff --git a/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java b/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java index e35a7eb13..b523b486d 100644 --- a/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java +++ b/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java @@ -32,11 +32,13 @@ public class OccultismStartupConfig { + public final DimensionalMineshaftSettings dimensionalMineshaft; public final RitualSettings rituals; public final ModConfigSpec spec; public OccultismStartupConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); + this.dimensionalMineshaft = new DimensionalMineshaftSettings(builder); this.rituals = new RitualSettings(builder); this.spec = builder.build(); } @@ -65,4 +67,53 @@ public RitualSettings(ModConfigSpec.Builder builder) { builder.pop(); } } + + public static class DimensionalMineshaftSettings { + public final MinerSpiritSettings minerFoliotUnspecialized; + public final MinerSpiritSettings minerDjinniOres; + public final MinerSpiritSettings minerAfritDeeps; + public final MinerSpiritSettings minerMaridMaster; + + public DimensionalMineshaftSettings(ModConfigSpec.Builder builder) { + builder.comment("Dimensional Mineshaft Settings").push("dimensional_mineshaft"); + + this.minerFoliotUnspecialized = + new MinerSpiritSettings("miner_foliot_unspecialized", builder, 400, 1, 1000); + + this.minerDjinniOres = + new MinerSpiritSettings("miner_djinni_ores", builder, 300, 1, 400); + + this.minerAfritDeeps = + new MinerSpiritSettings("miner_afrit_deeps", builder, 200, 1, 800); + + this.minerMaridMaster = + new MinerSpiritSettings("miner_marid_master", builder, 100, 1, 1600); + + builder.pop(); + } + + public static class MinerSpiritSettings { + public final ModConfigSpec.IntValue maxMiningTime; + public final ModConfigSpec.IntValue rollsPerOperation; + public final ModConfigSpec.IntValue durability; + + public MinerSpiritSettings(String oreName, ModConfigSpec.Builder builder, + int maxMiningTime, int rollsPerOperation, int durability) { + builder.comment("Miner Spirit Settings").push(oreName); + + this.maxMiningTime = + builder.comment("The amount of time it takes the spirit to perform one mining operation.") + .defineInRange("maxMiningTime", maxMiningTime, 0, Integer.MAX_VALUE); + this.rollsPerOperation = + builder.comment("The amount of blocks the spirit will obtain per mining operation") + .defineInRange("rollsPerOperation", rollsPerOperation, 0, Integer.MAX_VALUE); + this.durability = + builder.comment("The amount of mining operations the spirit can perform before breaking.") + .defineInRange("durability", durability, 0, Integer.MAX_VALUE); + + builder.pop(); + } + } + + } } diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java index f5b2d6683..1a88f54da 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java @@ -348,27 +348,27 @@ public class OccultismItems { () -> new MinerSpiritItem(defaultProperties() .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN) .durability(1000), - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.maxMiningTime, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.rollsPerOperation, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.durability)); + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.durability)); public static final DeferredItem MINER_DJINNI_ORES = ITEMS.register("miner_djinni_ores", () -> new MinerSpiritItem(defaultProperties().durability(400) .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerDjinniOres.maxMiningTime, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerDjinniOres.rollsPerOperation, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerDjinniOres.durability)); + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.durability)); public static final DeferredItem MINER_AFRIT_DEEPS = ITEMS.register("miner_afrit_deeps", () -> new MinerSpiritItem(defaultProperties().durability(800) .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerAfritDeeps.maxMiningTime, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerAfritDeeps.rollsPerOperation, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerAfritDeeps.durability)); + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.durability)); public static final DeferredItem MINER_MARID_MASTER = ITEMS.register("miner_marid_master", () -> new MinerSpiritItem(defaultProperties().durability(1600) .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerMaridMaster.maxMiningTime, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerMaridMaster.rollsPerOperation, - Occultism.SERVER_CONFIG.dimensionalMineshaft.minerMaridMaster.durability)); + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.durability)); //JEI Dummy Items public static final DeferredItem JEI_DUMMY_NONE = ITEMS.register(