From 1b54dd566a69047c651fd43e015f8891299f7e8a Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 23 Sep 2020 20:27:44 +0200 Subject: [PATCH] added baby config, fixed cyclotron connectors --- .../java/com/hbm/config/GeneralConfig.java | 2 ++ .../java/com/hbm/config/VersatileConfig.java | 25 +++++++++++++++++++ src/main/java/com/hbm/config/WorldConfig.java | 2 +- .../hbm/entity/effect/EntityFalloutRain.java | 5 ++-- .../hbm/explosion/ExplosionNukeGeneric.java | 5 ++-- .../com/hbm/inventory/MachineRecipes.java | 21 ++++++++++++++-- src/main/java/com/hbm/lib/HbmWorldGen.java | 12 +-------- .../java/com/hbm/main/CraftingManager.java | 19 ++++++++++++++ src/main/java/com/hbm/main/MainRegistry.java | 8 +++--- .../machine/TileEntityMachineCyclotron.java | 18 ++++++++++++- .../machine/TileEntityMachineReactor.java | 1 - ...eEntityMachineSchrabidiumTransmutator.java | 5 ++-- 12 files changed, 98 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/hbm/config/VersatileConfig.java diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 99a01a352..871dca075 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -27,6 +27,7 @@ public class GeneralConfig { public static boolean enableGuns = true; public static boolean enableVirus = true; public static boolean enableCrosshairs = true; + public static boolean enableBabyMode = false; public static void loadFromConfig(Configuration config) { @@ -54,5 +55,6 @@ public class GeneralConfig { enableGuns = config.get(CATEGORY_GENERAL, "1.20_enableGuns", true).getBoolean(true); enableVirus = config.get(CATEGORY_GENERAL, "1.21_enableVirus", false).getBoolean(false); enableCrosshairs = config.get(CATEGORY_GENERAL, "1.22_enableCrosshairs", true).getBoolean(true); + enableBabyMode = config.get(CATEGORY_GENERAL, "1.23_enableBabyMode", false).getBoolean(false); } } diff --git a/src/main/java/com/hbm/config/VersatileConfig.java b/src/main/java/com/hbm/config/VersatileConfig.java new file mode 100644 index 000000000..c7be4d3cf --- /dev/null +++ b/src/main/java/com/hbm/config/VersatileConfig.java @@ -0,0 +1,25 @@ +package com.hbm.config; + +import com.hbm.items.ModItems; + +import net.minecraft.item.Item; + +public class VersatileConfig { + + public static Item getTransmutatorItem() { + + if(GeneralConfig.enableBabyMode) + return ModItems.ingot_schrabidium; + + return ModItems.ingot_schraranium; + } + + public static int getSchrabOreChance() { + + if(GeneralConfig.enableBabyMode) + return 20; + + return 100; + } + +} diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 517520247..ee301bd89 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -17,7 +17,7 @@ public class WorldConfig { public static int leadSpawn = 6; public static int berylliumSpawn = 6; public static int ligniteSpawn = 2; - public static int asbestosSpawn = 2; + public static int asbestosSpawn = 4; public static int radioStructure = 500; public static int antennaStructure = 250; diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 8d74aa276..e2d34d870 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -3,6 +3,7 @@ package com.hbm.entity.effect; import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; import com.hbm.config.RadiationConfig; +import com.hbm.config.VersatileConfig; import com.hbm.main.MainRegistry; import com.hbm.saveddata.AuxSavedData; @@ -176,7 +177,7 @@ public class EntityFalloutRain extends Entity { } else if (b == ModBlocks.ore_uranium) { - if (rand.nextInt(MainRegistry.schrabFromUraniumChance) == 0) + if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) worldObj.setBlock(x, y, z, ModBlocks.ore_schrabidium); else worldObj.setBlock(x, y, z, ModBlocks.ore_uranium_scorched); @@ -184,7 +185,7 @@ public class EntityFalloutRain extends Entity { } else if (b == ModBlocks.ore_nether_uranium) { - if (rand.nextInt(MainRegistry.schrabFromUraniumChance) == 0) + if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) worldObj.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium); else worldObj.setBlock(x, y, z, ModBlocks.ore_nether_uranium_scorched); diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java index 3495d3058..08b8019fb 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java @@ -22,6 +22,7 @@ import net.minecraft.world.WorldSettings.GameType; import net.minecraftforge.common.util.ForgeDirection; import com.hbm.blocks.ModBlocks; +import com.hbm.config.VersatileConfig; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.grenade.EntityGrenadeASchrab; @@ -467,7 +468,7 @@ public class ExplosionNukeGeneric { } else if (b == ModBlocks.ore_uranium) { - rand = random.nextInt(MainRegistry.schrabFromUraniumChance); + rand = random.nextInt(VersatileConfig.getSchrabOreChance()); if (rand == 1) { world.setBlock(x, y, z, ModBlocks.ore_schrabidium); } else { @@ -476,7 +477,7 @@ public class ExplosionNukeGeneric { } else if (b == ModBlocks.ore_nether_uranium) { - rand = random.nextInt(MainRegistry.schrabFromUraniumChance); + rand = random.nextInt(VersatileConfig.getSchrabOreChance()); if (rand == 1) { world.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium); } else { diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 0d6dd54f8..eafba3c21 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -109,6 +109,13 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_starmetal, 2); } + if(GeneralConfig.enableBabyMode) { + if(mODE(item, new String[] { "gemCoal", "dustCoal" }) && item2.getItem() == ModItems.canister_empty + || item.getItem() == ModItems.canister_empty && mODE(item2, new String[] { "gemCoal", "dustCoal" })) { + return new ItemStack(ModItems.canister_oil ); + } + } + return null; } @@ -754,6 +761,12 @@ public class MachineRecipes { getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_cobalt)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite) }, getFurnaceOutput(new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite)).copy()); + + if(GeneralConfig.enableBabyMode) { + recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_empty), new ItemStack(Items.coal) }, + getFurnaceOutput(new ItemStack(ModItems.canister_empty), new ItemStack(Items.coal)).copy()); + } + } catch (Exception x) { MainRegistry.logger.error("Unable to register alloy recipes for NEI!"); } @@ -1787,8 +1800,12 @@ public class MachineRecipes { input[0] = new FluidStack(1800, FluidType.COOLANT); break; case DESH: - input[0] = new FluidStack(200, FluidType.MERCURY); - input[1] = new FluidStack(200, FluidType.LIGHTOIL); + if(GeneralConfig.enableBabyMode) { + input[0] = new FluidStack(200, FluidType.LIGHTOIL); + } else { + input[0] = new FluidStack(200, FluidType.MERCURY); + input[1] = new FluidStack(200, FluidType.LIGHTOIL); + } break; case PEROXIDE: input[0] = new FluidStack(1000, FluidType.WATER); diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 25cc2902b..8f0ccc14e 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -229,19 +229,9 @@ public class HbmWorldGen implements IWorldGenerator { int randPosY = rand.nextInt(16) + 16; int randPosZ = j + rand.nextInt(16); - (new WorldGenMinable(ModBlocks.ore_asbestos, 3)).generate(world, rand, randPosX, randPosY, randPosZ); + (new WorldGenMinable(ModBlocks.ore_asbestos, 4)).generate(world, rand, randPosX, randPosY, randPosZ); } - /*if (MainRegistry.enableBarrels && rand.nextInt(5) == 0) { - for (int k = 0; k < 1; k++) { - int randPosX = i + rand.nextInt(16); - int randPosY = rand.nextInt(25); - int randPosZ = j + rand.nextInt(16); - - (new WorldGenMinable(ModBlocks.yellow_barrel, 10)).generate(world, rand, randPosX, randPosY, randPosZ); - } - }*/ - if (GeneralConfig.enableDungeons) { BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 40cafc1a9..d5c44e7ca 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1,6 +1,7 @@ package com.hbm.main; import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; @@ -1626,6 +1627,24 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wood_gavel, 1), new Object[] { "SWS", " R ", " R ", 'S', "slabWood", 'W', "logWood", 'R', "stickWood" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', "ingotLead", 'G', ModItems.wood_gavel })); + if(GeneralConfig.enableBabyMode) { + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, ModItems.niter }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_fuel, 1), new Object[] { ModItems.canister_oil, Items.redstone }); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 4), new Object[] { "##", "##", '#', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 4), new Object[] { "##", "##", '#', "ingotGold" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_aluminium, 4), new Object[] { "##", "##", '#', "ingotAluminum" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_titanium, 4), new Object[] { "##", "##", '#', "ingotTitanium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_copper, 4), new Object[] { "##", "##", '#', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_lead, 4), new Object[] { "##", "##", '#', "ingotLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_steel, 4), new Object[] { "##", "##", '#', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_schrabidium, 4), new Object[] { "##", "##", '#', "ingotSchrabidium" })); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 4), new Object[] { "##", "##", '#', ModItems.ingot_advanced_alloy }); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_saturnite, 4), new Object[] { "##", "##", '#', ModItems.ingot_saturnite }); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 4), new Object[] { "##", "##", '#', ModItems.ingot_combine_steel }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', "ingotTungsten" })); + } } public static void AddSmeltingRec() diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 17404635e..f40c9f4d7 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -180,8 +180,6 @@ public class MainRegistry { public static Achievement horizonsEnd; public static Achievement horizonsBonus; - public static final int schrabFromUraniumChance = 100; - public static int generalOverride = 0; public static int polaroidID = 1; @@ -209,7 +207,6 @@ public class MainRegistry { ModBlocks.mainRegistry(); ModItems.mainRegistry(); - CraftingManager.mainRegistry(); proxy.registerRenderInfo(); HbmWorld.mainRegistry(); GameRegistry.registerFuelHandler(new FuelHandler()); @@ -218,6 +215,8 @@ public class MainRegistry { CellularDungeonFactory.init(); Satellite.register(); VersionChecker.checkVersion(); + loadConfig(PreEvent); + CraftingManager.mainRegistry(); AssemblerRecipes.preInit(PreEvent.getModConfigurationDirectory()); Library.superuser.add("192af5d7-ed0f-48d8-bd89-9d41af8524f8"); @@ -1135,6 +1134,9 @@ public class MainRegistry { MinecraftForge.TERRAIN_GEN_BUS.register(new ModEventHandler()); MinecraftForge.ORE_GEN_BUS.register(new ModEventHandler()); PacketDispatcher.registerPackets(); + } + + private void loadConfig(FMLPreInitializationEvent event) { Configuration config = new Configuration(event.getSuggestedConfigurationFile()); config.load(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 9851c77d8..0d9edf7ee 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -13,6 +13,7 @@ import com.hbm.explosion.ExplosionParticle; import com.hbm.explosion.ExplosionParticleB; import com.hbm.explosion.ExplosionThermo; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.CyclotronRecipes; @@ -28,7 +29,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor { +public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor, IConsumer { public long power; public static final long maxPower = 100000000; @@ -441,4 +442,19 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements if(stack != null && i >= 14 && i <= 15 && stack.getItem() instanceof ItemMachineUpgrade) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.5F, 1.0F); } + + @Override + public void setPower(long i) { + this.power = i; + } + + @Override + public long getPower() { + return this.power; + } + + @Override + public long getMaxPower() { + return this.maxPower; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java index acd300c49..f818b1ae2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java @@ -1,6 +1,5 @@ package com.hbm.tileentity.machine; -import com.hbm.blocks.machine.MachineReactor; import com.hbm.inventory.BreederRecipes; import com.hbm.inventory.BreederRecipes.BreederRecipe; import com.hbm.tileentity.TileEntityMachineBase; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index 65cf3299d..23cad649f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import com.hbm.config.VersatileConfig; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; @@ -125,7 +126,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB if (power >= 4990000 && slots[0] != null && MachineRecipes.mODE(slots[0], "ingotUranium") && slots[2] != null && slots[2].getItem() == ModItems.redcoil_capacitor && slots[2].getItemDamage() < slots[2].getMaxDamage() - && (slots[1] == null || (slots[1] != null && slots[1].getItem() == ModItems.ingot_schraranium + && (slots[1] == null || (slots[1] != null && slots[1].getItem() == VersatileConfig.getTransmutatorItem() && slots[1].stackSize < slots[1].getMaxStackSize()))) { return true; } @@ -150,7 +151,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } if (slots[1] == null) { - slots[1] = new ItemStack(ModItems.ingot_schraranium); + slots[1] = new ItemStack(VersatileConfig.getTransmutatorItem()); } else { slots[1].stackSize++; }