From 2a54574d2db1c68fe00e9a59b01b083fc81f4b49 Mon Sep 17 00:00:00 2001 From: ConnorRowe Date: Mon, 18 Jul 2016 21:18:48 +0100 Subject: [PATCH] Added config for ore generation --- .../com/sosnitzka/taiga/ConfigHandler.java | 86 +++++++++++++++++++ src/main/java/com/sosnitzka/taiga/TAIGA.java | 1 + .../com/sosnitzka/taiga/world/ZWorldGen.java | 45 +++++----- 3 files changed, 110 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/sosnitzka/taiga/ConfigHandler.java diff --git a/src/main/java/com/sosnitzka/taiga/ConfigHandler.java b/src/main/java/com/sosnitzka/taiga/ConfigHandler.java new file mode 100644 index 0000000..87de80d --- /dev/null +++ b/src/main/java/com/sosnitzka/taiga/ConfigHandler.java @@ -0,0 +1,86 @@ +package com.sosnitzka.taiga; + +import java.io.File; + +import net.minecraftforge.common.config.Configuration; + +public class ConfigHandler { + public static Configuration config; + + /// Sections + public static String generationSection = "Generation configuration"; + public static String recipeSection = "Recipe Configuration"; + + /// Options + // regular Ores / Blocks without extra abilities + public static boolean generateBasalt; + public static boolean generateRottenGround; + public static boolean generateLignite; + public static boolean generateSlagIron; + public static boolean generateSlagGold; + public static boolean generateExtraIron; + + // Ores + // Group: Solid + public static boolean generateTitanite; + public static boolean generateMeteorite; + public static boolean generateVibranium; + public static boolean generateAdamantite; + // Group: Arcane + public static boolean generatePrometheum; + public static boolean generateRubium; + public static boolean generateTiberium; + public static boolean generateArcanite; + // Group: Etheric + public static boolean generateEternite; + public static boolean generateMythril; + public static boolean generatePalladium; + public static boolean generateIgnitite; + // Group: Ratio + public static boolean generateViolium; + public static boolean generateBismuth; + public static boolean generateMindorite; + public static boolean generateKarmesine; + + public static void init(File file){ + config = new Configuration(file); + syncConfig(); + } + + public static void syncConfig() { + config.addCustomCategoryComment(generationSection, "This section contains all settings regarding ore/block generation. "); + + // regular Ores / Blocks without extra abilities + generateBasalt = config.get(generationSection, "generateBasalt", true, "Enable this if you want basalt to generate in the world. default=true").getBoolean(generateBasalt); + generateRottenGround = config.get(generationSection, "generateRottenGround", true, "Enable this if you want rotten ground to generate in the world. default=true").getBoolean(generateRottenGround); + generateLignite = config.get(generationSection, "generateLignite", true, "Enable this if you want lignite to generate in the world. default=true").getBoolean(generateLignite); + generateSlagIron = config.get(generationSection, "generateSlagIron", true, "Enable this if you want slag iron to generate in the world. default=true").getBoolean(generateSlagIron); + generateSlagGold = config.get(generationSection, "generateSlagGold", true, "Enable this if you want slag gold to generate in the world. default=true").getBoolean(generateSlagGold); + generateExtraIron = config.get(generationSection, "generateExtraIron", true, "Enable this if you want extra iron to generate in the world. default=true").getBoolean(generateExtraIron); + + // Ores + // Group: Solid + generateTitanite = config.get(generationSection, "generateTitanite", true, "Enable this if you want titanite to generate in the world. default=true").getBoolean(generateTitanite); + generateMeteorite = config.get(generationSection, "generateMeteorite", true, "Enable this if you want meteorite to generate in the world. default=true").getBoolean(generateMeteorite); + generateVibranium = config.get(generationSection, "generateVibranium", true, "Enable this if you want vibranium to generate in the world. default=true").getBoolean(generateVibranium); + generateAdamantite = config.get(generationSection, "generateAdamantite", true, "Enable this if you want adamantite to generate in the world. default=true").getBoolean(generateAdamantite); + // Group: Arcane + generatePrometheum = config.get(generationSection, "generatePrometheum", true, "Enable this if you want prometheum to generate in the world. default=true").getBoolean(generatePrometheum); + generateRubium = config.get(generationSection, "generateRubium", true, "Enable this if you want rubium to generate in the world. default=true").getBoolean(generateRubium); + generateTiberium = config.get(generationSection, "generateTiberium", true, "Enable this if you want tiberium to generate in the world. default=true").getBoolean(generateTiberium); + generateArcanite = config.get(generationSection, "generateArcanite", true, "Enable this if you want arcanite to generate in the world. default=true").getBoolean(generateArcanite); + // Group: Etheric + generateEternite = config.get(generationSection, "generateEternite", true, "Enable this if you want eternite to generate in the world. default=true").getBoolean(generateEternite); + generateMythril = config.get(generationSection, "generateMythril", true, "Enable this if you want mythril to generate in the world. default=true").getBoolean(generateMythril); + generatePalladium = config.get(generationSection, "generatePalladium", true, "Enable this if you want palladium to generate in the world. default=true").getBoolean(generatePalladium); + generateIgnitite = config.get(generationSection, "generateIgnitite", true, "Enable this if you want ignitite to generate in the world. default=true").getBoolean(generateIgnitite); + // Group: Ratio + generateViolium = config.get(generationSection, "generateViolium", true, "Enable this if you want violium to generate in the world. default=true").getBoolean(generateViolium); + generateBismuth = config.get(generationSection, "generateBismuth", true, "Enable this if you want bismuth to generate in the world. default=true").getBoolean(generateBismuth); + generateMindorite = config.get(generationSection, "generateMindorite", true, "Enable this if you want mindorite to generate in the world. default=true").getBoolean(generateMindorite); + generateKarmesine = config.get(generationSection, "generateKarmesine", true, "Enable this if you want karmesine to generate in the world. default=true").getBoolean(generateKarmesine); + + config.save(); + } + +} diff --git a/src/main/java/com/sosnitzka/taiga/TAIGA.java b/src/main/java/com/sosnitzka/taiga/TAIGA.java index 4f773aa..d78e579 100644 --- a/src/main/java/com/sosnitzka/taiga/TAIGA.java +++ b/src/main/java/com/sosnitzka/taiga/TAIGA.java @@ -46,6 +46,7 @@ public class TAIGA { Blocks.register(); Fluids.registerfromItem(); Alloys.register(); + ConfigHandler.init(e.getSuggestedConfigurationFile()); // ARCANE ORES registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 223, 6.2f, 8.35f, 0.63f, 50, 50, OBSIDIAN, false, true); diff --git a/src/main/java/com/sosnitzka/taiga/world/ZWorldGen.java b/src/main/java/com/sosnitzka/taiga/world/ZWorldGen.java index 87d1b77..5b70f44 100644 --- a/src/main/java/com/sosnitzka/taiga/world/ZWorldGen.java +++ b/src/main/java/com/sosnitzka/taiga/world/ZWorldGen.java @@ -1,5 +1,6 @@ package com.sosnitzka.taiga.world; +import com.sosnitzka.taiga.ConfigHandler; import com.sosnitzka.taiga.util.Generator; import net.minecraft.block.BlockStone; import net.minecraft.init.Blocks; @@ -14,36 +15,36 @@ import static com.sosnitzka.taiga.Blocks.*; public class ZWorldGen implements IWorldGenerator { private void nether(Random random, int x, int z, World world) { - Generator.generateNetherOre(adamantiteOre.getDefaultState(), random, x, z, world, 25, 1, 32, 2, 5); - Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 7); - Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 21, 32, 64, 2, 5); - Generator.generateOre(prometheumOre.getDefaultState(), random, x, z, world, 21, 48, 64, 2, 4); + if (ConfigHandler.generateAdamantite){ Generator.generateNetherOre(adamantiteOre.getDefaultState(), random, x, z, world, 25, 1, 32, 2, 5); } + if (ConfigHandler.generateTiberium){ Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 7); } + if (ConfigHandler.generatePalladium){ Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 21, 32, 64, 2, 5); } + if (ConfigHandler.generatePrometheum){ Generator.generateOre(prometheumOre.getDefaultState(), random, x, z, world, 21, 48, 64, 2, 4); } } private void world(Random random, int x, int z, World world) { - Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); - Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 20, 8, 48, 5, 9); - Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); - Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 14); - Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5); - Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15); + if (ConfigHandler.generateSlagIron){ Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); } + if (ConfigHandler.generateSlagGold){ Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 20, 8, 48, 5, 9); } + if (ConfigHandler.generateLignite){ Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); } + if (ConfigHandler.generateExtraIron){ Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 14); } + if (ConfigHandler.generateBasalt){ Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5); } + if (ConfigHandler.generateRottenGround){ Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15); } - Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, 18, 48, 64, 2, 4); - Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 30, 16, 48, 2, 5); - Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 50, 50, 130, 2, 4); - Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 18, 16, 32, 2, 4); - Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, 12, 0, 32, 2, 10); - Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 200, 16, 96, 2, 4); - Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 200, 16, 96, 2, 4); - Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 200, 16, 96, 2, 4); + if (ConfigHandler.generateVibranium){ Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, 18, 48, 64, 2, 4); } + if (ConfigHandler.generateKarmesine){ Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 30, 16, 48, 2, 5); } + if (ConfigHandler.generateBismuth){ Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 50, 50, 130, 2, 4); } + if (ConfigHandler.generateMythril){ Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 18, 16, 32, 2, 4); } + if (ConfigHandler.generateMeteorite){ Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, 12, 0, 32, 2, 10); } + if (ConfigHandler.generateMindorite){ Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 200, 16, 96, 2, 4); } + if (ConfigHandler.generateArcanite){ Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 200, 16, 96, 2, 4); } + if (ConfigHandler.generateEternite){ Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 200, 16, 96, 2, 4); } } private void end(Random random, int x, int z, World world) { - Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, 16, 10, 35, 2, 6); - Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 16, 20, 45, 2, 6); - Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, 16, 30, 55, 2, 6); - Generator.generateEndOre(titaniteOre.getDefaultState(), random, x, z, world, 16, 40, 65, 2, 6); + if (ConfigHandler.generateRubium){ Generator.generateEndOre(rubiumOre.getDefaultState(), random, x, z, world, 16, 10, 35, 2, 6); } + if (ConfigHandler.generateIgnitite){ Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 16, 20, 45, 2, 6); } + if (ConfigHandler.generateViolium){ Generator.generateEndOre(violiumOre.getDefaultState(), random, x, z, world, 16, 30, 55, 2, 6); } + if (ConfigHandler.generateTitanite){ Generator.generateEndOre(titaniteOre.getDefaultState(), random, x, z, world, 16, 40, 65, 2, 6); } }