Skip to content

Commit

Permalink
added Config to load + Durability of Hammers + Crooks
Browse files Browse the repository at this point in the history
  • Loading branch information
remplerus committed Feb 27, 2021
1 parent 9e80bd5 commit ab27279
Show file tree
Hide file tree
Showing 7 changed files with 135 additions and 43 deletions.
@@ -1,5 +1,7 @@
package novamachina.exnihilosequentia;

import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.loading.FMLPaths;
import novamachina.exnihilosequentia.client.setup.ClientSetup;
import novamachina.exnihilosequentia.common.init.ExNihiloInitialization;
import novamachina.exnihilosequentia.common.loot.modifier.UseCrookModifier;
Expand Down Expand Up @@ -28,6 +30,7 @@ public class ExNihiloSequentia {
public ExNihiloSequentia() {
logger.debug("Starting Ex Nihilo: Sequentia");
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.COMMON_CONFIG);
Config.loadConfig(Config.COMMON_CONFIG, FMLPaths.CONFIGDIR.get().resolve(ExNihiloConstants.ModIds.EX_NIHILO_SEQUENTIA + "-common.toml"));
ExNihiloInitialization.init(FMLJavaModLoadingContext.get().getModEventBus());
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::init);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ExNihiloInitialization::setupNonTagBasedRegistries);
Expand Down
Expand Up @@ -170,16 +170,16 @@ private static void loadRecipes(RecipeManager manager) {
private static void overrideOres() {
if (Config.enableOreOverride()) {
EnumOre.COPPER.setEnabled(Config.enableCopper());
EnumOre.LEAD.setEnabled(Config.enableCopper());
EnumOre.NICKEL.setEnabled(Config.enableCopper());
EnumOre.SILVER.setEnabled(Config.enableCopper());
EnumOre.TIN.setEnabled(Config.enableCopper());
EnumOre.ALUMINUM.setEnabled(Config.enableCopper());
EnumOre.PLATINUM.setEnabled(Config.enableCopper());
EnumOre.URANIUM.setEnabled(Config.enableCopper());
EnumOre.ZINC.setEnabled(Config.enableCopper());
EnumOre.IRON.setEnabled(Config.enableCopper());
EnumOre.GOLD.setEnabled(Config.enableCopper());
EnumOre.LEAD.setEnabled(Config.enableLead());
EnumOre.NICKEL.setEnabled(Config.enableNickel());
EnumOre.SILVER.setEnabled(Config.enableSilver());
EnumOre.TIN.setEnabled(Config.enableTin());
EnumOre.ALUMINUM.setEnabled(Config.enableAluminum());
EnumOre.PLATINUM.setEnabled(Config.enablePlatinum());
EnumOre.URANIUM.setEnabled(Config.enableUranium());
EnumOre.ZINC.setEnabled(Config.enableZinc());
EnumOre.IRON.setEnabled(Config.enableIron());
EnumOre.GOLD.setEnabled(Config.enableGold());
}
}

Expand Down
Expand Up @@ -103,12 +103,12 @@ public class ExNihiloItems {
static {
for (EnumCrook crook : EnumCrook.values()) {
crook.setRegistryObject(ITEMS
.register(crook.crookName, () -> new CrookBaseItem(crook.tier, crook.defaultDurability)));
.register(crook.crookName, () -> new CrookBaseItem(crook.tier, crook.maxDamage)));
}

for (EnumHammer hammer : EnumHammer.values()) {
hammer.setRegistryObject(ITEMS.register(hammer.hammerName,
() -> new HammerBaseItem(hammer.tier, hammer.defaultDurability)));
() -> new HammerBaseItem(hammer.tier, hammer.maxDamage)));
}

for (EnumOre ore : EnumOre.values()) {
Expand Down
Expand Up @@ -5,34 +5,35 @@
import net.minecraft.item.ItemTier;
import net.minecraftforge.common.IExtensibleEnum;
import net.minecraftforge.fml.RegistryObject;
import novamachina.exnihilosequentia.common.utility.Config;
import novamachina.exnihilosequentia.common.utility.ExNihiloConstants;

public enum EnumCrook implements IExtensibleEnum {
WOOD(ExNihiloConstants.Items.CROOK_WOOD, 64, ItemTier.WOOD),
WOOD(ExNihiloConstants.Items.CROOK_WOOD, Config.getCrookWoodDurability(), ItemTier.WOOD),

STONE(ExNihiloConstants.Items.CROOK_STONE, 128, ItemTier.STONE),
ANDESITE(ExNihiloConstants.Items.CROOK_ANDESITE, 128, ItemTier.STONE),
GRANITE(ExNihiloConstants.Items.CROOK_GRANITE, 128, ItemTier.STONE),
DIORITE(ExNihiloConstants.Items.CROOK_DIORITE, 128, ItemTier.STONE),
STONE(ExNihiloConstants.Items.CROOK_STONE, Config.getCrookStoneDurability(), ItemTier.STONE),
ANDESITE(ExNihiloConstants.Items.CROOK_ANDESITE, Config.getCrookAndesiteDurability(), ItemTier.STONE),
GRANITE(ExNihiloConstants.Items.CROOK_GRANITE, Config.getCrookGraniteDurability(), ItemTier.STONE),
DIORITE(ExNihiloConstants.Items.CROOK_DIORITE, Config.getCrookDioriteDurability(), ItemTier.STONE),

GOLD(ExNihiloConstants.Items.CROOK_GOLD, 32, ItemTier.IRON),
IRON(ExNihiloConstants.Items.CROOK_IRON, 256, ItemTier.IRON),
DIAMOND(ExNihiloConstants.Items.CROOK_DIAMOND, 2048, ItemTier.DIAMOND),
GOLD(ExNihiloConstants.Items.CROOK_GOLD, Config.getCrookGoldDurability(), ItemTier.IRON),
IRON(ExNihiloConstants.Items.CROOK_IRON, Config.getCrookIronDurability(), ItemTier.IRON),
DIAMOND(ExNihiloConstants.Items.CROOK_DIAMOND, Config.getCrookDiamondDurability(), ItemTier.DIAMOND),

BONE(ExNihiloConstants.Items.CROOK_BONE, 256, ItemTier.STONE);
BONE(ExNihiloConstants.Items.CROOK_BONE, Config.getCrookBoneDurability(), ItemTier.STONE);

public final String crookName;
public final int defaultDurability;
public int maxDamage;
public final IItemTier tier;
private RegistryObject<Item> registryObject;

EnumCrook(String crookName, int durability, IItemTier tier) {
EnumCrook(String crookName, int maxDamage, IItemTier tier) {
this.crookName = crookName;
this.defaultDurability = durability;
this.maxDamage = maxDamage;
this.tier = tier;
}

public static EnumCrook create(String enumName, String crookName, int durability, IItemTier tier) {
public static EnumCrook create(String enumName, String crookName, int maxDamage, IItemTier tier) {
throw new IllegalStateException("Enum not extended");
}

Expand Down
Expand Up @@ -5,28 +5,29 @@
import net.minecraft.item.ItemTier;
import net.minecraftforge.common.IExtensibleEnum;
import net.minecraftforge.fml.RegistryObject;
import novamachina.exnihilosequentia.common.utility.Config;
import novamachina.exnihilosequentia.common.utility.ExNihiloConstants;

public enum EnumHammer implements IExtensibleEnum {
WOOD(ExNihiloConstants.Items.HAMMER_WOOD, 64, ItemTier.WOOD),
STONE(ExNihiloConstants.Items.HAMMER_STONE, 125, ItemTier.STONE),
IRON(ExNihiloConstants.Items.HAMMER_IRON, 512, ItemTier.IRON),
DIAMOND(ExNihiloConstants.Items.HAMMER_DIAMOND, 4096, ItemTier.DIAMOND),
NETHERITE(ExNihiloConstants.Items.HAMMER_NETHERITE, 8192, ItemTier.NETHERITE),
GOLD(ExNihiloConstants.Items.HAMMER_GOLD, 64, ItemTier.GOLD);
WOOD(ExNihiloConstants.Items.HAMMER_WOOD, Config.getHammerWoodDurability(), ItemTier.WOOD),
STONE(ExNihiloConstants.Items.HAMMER_STONE, Config.getHammerStoneDurability(), ItemTier.STONE),
IRON(ExNihiloConstants.Items.HAMMER_IRON, Config.getHammerIronDurability(), ItemTier.IRON),
DIAMOND(ExNihiloConstants.Items.HAMMER_DIAMOND, Config.getHammerDiamondDurability(), ItemTier.DIAMOND),
NETHERITE(ExNihiloConstants.Items.HAMMER_NETHERITE, Config.getHammerNetheriteDurability(), ItemTier.NETHERITE),
GOLD(ExNihiloConstants.Items.HAMMER_GOLD, Config.getHammerGoldDurability(), ItemTier.GOLD);

public final int defaultDurability;
public int maxDamage;
public final String hammerName;
public final IItemTier tier;
private RegistryObject<Item> registryObject;

EnumHammer(String hammerName, int durability, IItemTier tier) {
EnumHammer(String hammerName, int maxDamage, IItemTier tier) {
this.hammerName = hammerName;
this.defaultDurability = durability;
this.maxDamage = maxDamage;
this.tier = tier;
}

public static EnumHammer create(String enumName, String hammerName, int durability, IItemTier tier) {
public static EnumHammer create(String enumName, String hammerName, int maxDamage, IItemTier tier) {
throw new IllegalStateException("Enum not extended");
}

Expand Down
Expand Up @@ -29,8 +29,7 @@ public class HammerBaseItem extends ToolItem {
public HammerBaseItem(IItemTier tier, int maxDamage) {
super(0.5F, 0.5F, tier, effectiveBlocksOn,
new Item.Properties().defaultMaxDamage(maxDamage).group(ExNihiloInitialization.ITEM_GROUP)
.addToolType(
ToolType.PICKAXE, tier.getHarvestLevel()));
.addToolType(ToolType.PICKAXE, tier.getHarvestLevel()));
}

@Override
Expand Down
Expand Up @@ -18,11 +18,14 @@ public class Config {
private static final String CATEGORY_INFESTED_LEAVES = "infested_leaves";
private static final String CATEGORY_ORE = "ore";
private static final String CATEGORY_SIEVE = "sieve";
private static final String CATEGORY_DURABILITY = "durability";
private static final ForgeConfigSpec.Builder COMMON_BUILDER = new Builder();
private static final String SUBCATEGORY_BARREL_COMPOST = "compost";
private static final String SUBCATEGORY_BARREL_FLUID = "fluid_transform";
private static final String SUBCATEGORY_BARREL_MOB = "mob_spawn";
private static final String SUBCATEGORY_CRUCIBLE_WOOD = "wood";
private static final String SUBCATEGORY_CROOKS = "crook";
private static final String SUBCATEGORY_HAMMERS = "hammer";
private static ForgeConfigSpec.IntValue barrelMaxSolidAmount;
private static ForgeConfigSpec.IntValue barrelNumberOfBuckets;
private static ForgeConfigSpec.IntValue crucibleNumberOfBuckets;
Expand Down Expand Up @@ -50,6 +53,23 @@ public class Config {
private static ForgeConfigSpec.IntValue rainFillAmount;
private static ForgeConfigSpec.IntValue secondsToCompost;
private static ForgeConfigSpec.IntValue secondsToFluidTransform;
// Durability Hammer
public static ForgeConfigSpec.IntValue hammerWoodValue;
public static ForgeConfigSpec.IntValue hammerStoneValue;
public static ForgeConfigSpec.IntValue hammerIronValue;
public static ForgeConfigSpec.IntValue hammerGoldValue;
public static ForgeConfigSpec.IntValue hammerDiamondValue;
public static ForgeConfigSpec.IntValue hammerNetheriteValue;
// Durability Crooks
public static ForgeConfigSpec.IntValue crookWoodValue;
public static ForgeConfigSpec.IntValue crookStoneValue;
public static ForgeConfigSpec.IntValue crookAndesiteValue;
public static ForgeConfigSpec.IntValue crookGraniteValue;
public static ForgeConfigSpec.IntValue crookDioriteValue;
public static ForgeConfigSpec.IntValue crookGoldValue;
public static ForgeConfigSpec.IntValue crookIronValue;
public static ForgeConfigSpec.IntValue crookDiamondValue;
public static ForgeConfigSpec.IntValue crookBoneValue;
// Barrel
private static ForgeConfigSpec.IntValue secondsToSpawn;
// Infested Leaves
Expand Down Expand Up @@ -85,13 +105,46 @@ public class Config {
COMMON_BUILDER.comment("Debug Configs").push(CATEGORY_DEBUG);
debugConfigs();
COMMON_BUILDER.pop();
COMMON_BUILDER.comment("Durability Configs").push(CATEGORY_DURABILITY);
durabilityConfigs();
COMMON_BUILDER.pop();

COMMON_CONFIG = COMMON_BUILDER.build();
}

private Config() {
}

public static int getCrookWoodDurability() { return crookWoodValue.get(); }

public static int getCrookStoneDurability() { return crookStoneValue.get(); }

public static int getCrookAndesiteDurability() { return crookAndesiteValue.get(); }

public static int getCrookGraniteDurability() { return crookGraniteValue.get(); }

public static int getCrookDioriteDurability() { return crookDioriteValue.get(); }

public static int getCrookGoldDurability() { return crookGoldValue.get(); }

public static int getCrookIronDurability() { return crookIronValue.get(); }

public static int getCrookDiamondDurability() { return crookDiamondValue.get(); }

public static int getCrookBoneDurability() { return crookBoneValue.get(); }

public static int getHammerWoodDurability() { return hammerWoodValue.get(); }

public static int getHammerStoneDurability() { return hammerStoneValue.get(); }

public static int getHammerIronDurability() { return hammerIronValue.get(); }

public static int getHammerGoldDurability() { return hammerGoldValue.get(); }

public static int getHammerDiamondDurability() { return hammerDiamondValue.get(); }

public static int getHammerNetheriteDurability() { return hammerNetheriteValue.get(); }

public static boolean enableAluminum() {
return enableAluminum.get();
}
Expand Down Expand Up @@ -160,9 +213,7 @@ public static int getCrucibleNumberOfBuckets() {
return crucibleNumberOfBuckets.get();
}

public static boolean getEnableGold() {
return enableGold.get();
}
public static boolean enableGold() { return enableGold.get(); }

public static int getMaxBonusStringCount() {
return maxBonusStringCount.get();
Expand Down Expand Up @@ -221,9 +272,7 @@ public static int getWoodHeatRate() {
}

public static void loadConfig(ForgeConfigSpec spec, Path path) {
final CommentedFileConfig configData = CommentedFileConfig.builder(path).sync().autosave()
.writingMode(
WritingMode.REPLACE).build();
final CommentedFileConfig configData = CommentedFileConfig.builder(path).sync().autosave().writingMode(WritingMode.REPLACE).build();

configData.load();
spec.setConfig(configData);
Expand Down Expand Up @@ -287,6 +336,45 @@ private static void debugConfigs() {
.define("enableDebugLogging", false);
}

private static void durabilityConfigs() {
COMMON_BUILDER.comment("Durability of Hammers").push(SUBCATEGORY_HAMMERS);
hammerWoodValue = COMMON_BUILDER.comment("Durability of Wooden Hammer (Default: 128)")
.defineInRange("hammerWoodValue", 128, 1, Integer.MAX_VALUE);
hammerStoneValue = COMMON_BUILDER.comment("Durability of Stone Hammer (Default: 256)")
.defineInRange("hammerStoneValue", 256, 1, Integer.MAX_VALUE);
hammerIronValue = COMMON_BUILDER.comment("Durability of Iron Hammer (Default: 512)")
.defineInRange("hammerIronValue", 512, 1, Integer.MAX_VALUE);
hammerGoldValue = COMMON_BUILDER.comment("Durability of Gold Hammer (Default: 64)")
.defineInRange("hammerGoldValue", 64, 1, Integer.MAX_VALUE);
hammerDiamondValue = COMMON_BUILDER.comment("Durability of Diamond Hammer (Default: 4096)")
.defineInRange("hammerDiamondValue", 4096, 1, Integer.MAX_VALUE);
hammerNetheriteValue = COMMON_BUILDER.comment("Durability of Netherite Hammer (Default: 8192)")
.defineInRange("hammerNetheriteValue", 8192, 1, Integer.MAX_VALUE);
COMMON_BUILDER.pop();

COMMON_BUILDER.comment("Durability of Crooks").push(SUBCATEGORY_CROOKS);
crookWoodValue = COMMON_BUILDER.comment("Durability of Wooden Crook (Default: 128)")
.defineInRange("crookWoodValue", 128, 1, Integer.MAX_VALUE);
crookStoneValue = COMMON_BUILDER.comment("Durability of Stone Crook (Default: 256)")
.defineInRange("crookStoneValue", 256, 1, Integer.MAX_VALUE);
crookAndesiteValue = COMMON_BUILDER.comment("Durability of Andesite Crook (Default: 256)")
.defineInRange("crookAndesiteValue", 256, 1, Integer.MAX_VALUE);
crookGraniteValue = COMMON_BUILDER.comment("Durability of Granite Crook (Default: 256)")
.defineInRange("crookGraniteValue", 256, 1, Integer.MAX_VALUE);
crookDioriteValue = COMMON_BUILDER.comment("Durability of Diorite Crook (Default: 256)")
.defineInRange("crookDioriteValue", 256, 1, Integer.MAX_VALUE);
crookGoldValue = COMMON_BUILDER.comment("Durability of Gold Crook (Default: 32)")
.defineInRange("crookGoldValue", 64, 1, Integer.MAX_VALUE);
crookIronValue = COMMON_BUILDER.comment("Durability of Iron Crook (Default: 256)")
.defineInRange("crookIronValue", 512, 1, Integer.MAX_VALUE);
crookDiamondValue = COMMON_BUILDER.comment("Durability of Diamond Crook (Default: 2048)")
.defineInRange("crookDiamondValue", 2048, 1, Integer.MAX_VALUE);
crookBoneValue = COMMON_BUILDER.comment("Durability of Bone Crook (Default: 256)")
.defineInRange("crookBoneValue", 256, 1, Integer.MAX_VALUE);
COMMON_BUILDER.pop();

}

private static void infestedLeavesConfigs() {
secondsToTransformLeaves = COMMON_BUILDER
.comment("Number of seconds to for leaves to become completely infested (Default: 10)")
Expand Down

0 comments on commit ab27279

Please sign in to comment.