diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 6cb71e64f..efeefcd42 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -20,7 +20,7 @@ public class WorldConfig { public static int asbestosSpawn = 4; public static int rareSpawn = 6; public static int lithiumSpawn = 6; - public static int cinnebarSpawn = 2; + public static int cinnebarSpawn = 1; public static int oilcoalSpawn = 128; public static int gassshaleSpawn = 5; public static int gasbubbleSpawn = 64; @@ -90,7 +90,7 @@ public class WorldConfig { oilcoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.15_oilCoalSpawnRate", "Spawns an oily coal vein every nTH chunk", 128); gassshaleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.16_gasShaleSpawnRate", "Amount of oil shale veins per chunk", 5); gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 64); - cinnebarSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cinnebarSpawnRate", "Amount of cinnebar ore veins per chunk", 2); + cinnebarSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cinnebarSpawnRate", "Amount of cinnebar ore veins per chunk", 1); ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4); titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 4f58d1910..9d381e0c4 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -379,6 +379,7 @@ public class MineralRecipes { GameRegistry.addRecipe(new ItemStack(ModBlocks.hazmat, 8), new Object[] { "###", "# #", "###", '#', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_cloth, 1), new Object[] { "#", '#', ModBlocks.hazmat }); GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 1), new Object[] { "##", "##", '#', ModItems.powder_balefire }); + RecipesCommon.add9To1(ModItems.cell_balefire, ModItems.egg_balefire_shard); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_euphemium, 1), new Object[] { "#", '#', ModItems.rod_quad_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_euphemium, 1), new Object[] { "###", "###", "###", '#', ModItems.rod_quad_euphemium }); diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 403a70c4b..5ccb76e79 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -123,6 +123,8 @@ public class ToolRecipes { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', "ingotLead", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" })); GameRegistry.addRecipe(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ModItems.ingot_advanced_alloy, 'C', ModItems.cinnebar, 'X', Items.compass }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', ModItems.bolt_tungsten, 'I', "ingotTungsten", 'P', ModItems.plate_polymer })); + GameRegistry.addRecipe(new ItemStack(ModItems.bismuth_tool, 1), new Object[] { "CTC", "BRB", "BTB", 'C', ModItems.coil_advanced_alloy, 'T', ModItems.gem_tantalium, 'B', ModItems.ingot_bismuth, 'R', ModItems.reacher }); //Bobmazon GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string }); diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java index bf0023392..fc1028024 100644 --- a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java @@ -83,7 +83,7 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { Float val = radiation.get(newCoord); float rad = val == null ? 0 : val; float newRad = rad + chunk.getValue() * percent; - newRad = Math.max(0F, newRad * 0.999F - 0.05F); + newRad = Math.max(0F, newRad * 0.99F - 0.05F); radiation.put(newCoord, newRad); } } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 65c17c8b3..db17a0568 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -156,7 +156,6 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.ingot_polymer, 2), },150); //makeRecipe(new ComparableStack(ModItems.magnet_dee, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 6), new OreDictStack("ingotSteel", 3), new ComparableStack(ModItems.coil_advanced_torus, 1), },100); makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.plate_advanced_alloy, 6), },150); - makeRecipe(new ComparableStack(ModItems.cyclotron_tower, 1), new AStack[] {new ComparableStack(ModItems.magnet_circular, 6), new ComparableStack(ModItems.magnet_dee, 3), new OreDictStack("plateSteel", 12), new ComparableStack(ModItems.wire_advanced_alloy, 8), new ComparableStack(ModItems.plate_polymer, 24), },300); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack("ingotLead", 8), new OreDictStack("ingotBeryllium", 6), new OreDictStack("plateSteel", 16), new OreDictStack("plateDenseLead", 8), new ComparableStack(ModItems.ingot_fiberglass, 2) },100); makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 3), new ComparableStack(ModItems.board_copper, 1), new OreDictStack("ingotLead", 2), new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.circuit_copper, 1), },100); makeRecipe(new ComparableStack(ModItems.thermo_unit_empty, 1), new AStack[] {new ComparableStack(ModItems.coil_copper_torus, 3), new OreDictStack("ingotSteel", 3), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.plate_polymer, 12), },100); @@ -261,7 +260,6 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_centrifuge, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack("ingotSteel", 4), new OreDictStack("ingotIron", 4), new OreDictStack("plateSteel", 2), new OreDictStack("plateCopper", 2), new ComparableStack(ModItems.wire_red_copper, 8), },250); makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.ingot_polymer, 4), new OreDictStack("ingotDesh", 2), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.plate_advanced_alloy, 4), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.wire_gold, 4), },300); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack("plateLead", 6), new OreDictStack("plateDenseLead", 4), new OreDictStack("plateCopper", 2), },150); - makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("plateSteel", 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new ComparableStack(ModItems.ingot_starmetal, 1), new OreDictStack("dyeRed", 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(Blocks.piston, 4), new OreDictStack("ingotSteel", 6), new OreDictStack("ingotRedCopperAlloy", 2), new OreDictStack("plateCopper", 4), new ComparableStack(ModItems.wire_red_copper, 6), },200); makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateTitanium", 6), new OreDictStack("plateCopper", 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 5), new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 6), },200); @@ -288,11 +286,6 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.factory_advanced_furnace, 1), new AStack[] {new ComparableStack(ModItems.ingot_advanced_alloy, 4), new ComparableStack(ModItems.plate_advanced_alloy, 4), new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.coil_advanced_alloy, 2), },100); makeRecipe(new ComparableStack(ModBlocks.factory_advanced_core, 1), new AStack[] {new ComparableStack(ModItems.ingot_advanced_alloy, 6), new ComparableStack(ModItems.plate_advanced_alloy, 6), new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.coil_advanced_alloy, 2), new ComparableStack(ModItems.motor, 16), new ComparableStack(Blocks.piston, 6), },100); makeRecipe(new ComparableStack(ModBlocks.factory_advanced_conductor, 1), new AStack[] {new ComparableStack(ModItems.ingot_advanced_alloy, 8), new ComparableStack(ModItems.plate_advanced_alloy, 6), new ComparableStack(ModItems.wire_advanced_alloy, 4), new ComparableStack(ModItems.fuse, 6), },50); - makeRecipe(new ComparableStack(ModBlocks.reactor_element, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new OreDictStack("plateDenseLead", 4), new OreDictStack("plateLead", 2), new ComparableStack(ModItems.ingot_zirconium, 2), },150); - makeRecipe(new ComparableStack(ModBlocks.reactor_control, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("ingotLead", 6), new ComparableStack(ModItems.bolt_tungsten, 6), new ComparableStack(ModItems.motor, 1), },100); - makeRecipe(new ComparableStack(ModBlocks.reactor_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.brick_concrete, 1), new OreDictStack("plateSteel", 6), },150); - makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateCopper", 12), new ComparableStack(ModItems.wire_tungsten, 4), },130); - makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250); makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150); makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200); makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack("ingotTitanium", 4), new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.motor, 4), },250); @@ -731,8 +724,96 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.block_cap_star, 1), new AStack[] { new ComparableStack(ModItems.cap_star, 128) }, 10); if(!GeneralConfig.enable528) { + makeRecipe(new ComparableStack(ModBlocks.reactor_element, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new OreDictStack("plateDenseLead", 4), new OreDictStack("plateLead", 2), new ComparableStack(ModItems.ingot_zirconium, 2), },150); + makeRecipe(new ComparableStack(ModBlocks.reactor_control, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("ingotLead", 6), new ComparableStack(ModItems.bolt_tungsten, 6), new ComparableStack(ModItems.motor, 1), },100); + makeRecipe(new ComparableStack(ModBlocks.reactor_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.brick_concrete, 1), new OreDictStack("plateSteel", 6), },150); + makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateCopper", 12), new ComparableStack(ModItems.wire_tungsten, 4), },130); + makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250); + makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("plateSteel", 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new ComparableStack(ModItems.ingot_starmetal, 1), new OreDictStack("dyeRed", 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_reactor, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack("ingotSteel", 12), new OreDictStack("plateLead", 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new ComparableStack(ModItems.ingot_asbestos, 4)},150); makeRecipe(new ComparableStack(ModBlocks.machine_reactor_small, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new ComparableStack(ModItems.ingot_polymer, 4), new OreDictStack("plateLead", 8), new OreDictStack("plateCopper", 4), new OreDictStack("ingotLead", 12), new OreDictStack("ingotRedCopperAlloy", 6), new ComparableStack(ModItems.circuit_copper, 8), new ComparableStack(ModItems.circuit_red_copper, 4), },300); + + } else { + addTantalium(new ComparableStack(ModBlocks.machine_centrifuge, 1), 5); + addTantalium(new ComparableStack(ModBlocks.machine_gascent, 1), 25); + addTantalium(new ComparableStack(ModBlocks.machine_crystallizer, 1), 15); + addTantalium(new ComparableStack(ModBlocks.machine_large_turbine, 1), 10); + addTantalium(new ComparableStack(ModBlocks.machine_chungus, 1), 50); + addTantalium(new ComparableStack(ModBlocks.machine_refinery, 1), 3); + addTantalium(new ComparableStack(ModBlocks.machine_silex, 1), 15); + addTantalium(new ComparableStack(ModBlocks.machine_radar, 1), 20); + addTantalium(new ComparableStack(ModBlocks.machine_mining_laser, 1), 30); + + addTantalium(new ComparableStack(ModBlocks.turret_chekhov, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_friendly, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_jeremy, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_tauon, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_richard, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_howard, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_maxwell, 1), 3); + addTantalium(new ComparableStack(ModBlocks.turret_fritz, 1), 3); + addTantalium(new ComparableStack(ModBlocks.launch_pad, 1), 5); + + makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_lithium_battery, 3), + new ComparableStack(ModBlocks.hadron_coil_neodymium, 8), + new ComparableStack(ModItems.wire_advanced_alloy, 64), + new OreDictStack("ingotSteel", 16), + new OreDictStack("plateSteel", 32), + new OreDictStack("plateAluminum", 32), + new ComparableStack(ModItems.ingot_polymer, 24), + new ComparableStack(ModItems.plate_polymer, 64), + new ComparableStack(ModItems.board_copper, 8), + new ComparableStack(ModItems.circuit_red_copper, 8), + new ComparableStack(ModItems.circuit_gold, 3), + new ComparableStack(ModItems.circuit_tantalium, 50), + }, 600); + + makeRecipe(new ComparableStack(ModBlocks.rbmk_console, 1), new AStack[] { + new OreDictStack("ingotSteel", 16), + new OreDictStack("plateAluminum", 32), + new ComparableStack(ModItems.plate_polymer, 16), + new ComparableStack(ModItems.circuit_gold, 5), + new ComparableStack(ModItems.circuit_tantalium, 20), + }, 300); + + makeRecipe(new ComparableStack(ModBlocks.hadron_core, 1), new AStack[] { + new ComparableStack(ModBlocks.hadron_coil_alloy, 24), + new OreDictStack("ingotSteel", 8), + new ComparableStack(ModItems.ingot_polymer, 16), + new ComparableStack(ModItems.ingot_tcalloy, 8), + new ComparableStack(ModItems.circuit_gold, 5), + new ComparableStack(ModItems.circuit_schrabidium, 5), + new ComparableStack(ModItems.circuit_tantalium, 192), + }, 300); + + makeRecipe(new ComparableStack(ModBlocks.struct_launcher_core, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_battery, 3), + new ComparableStack(ModBlocks.steel_scaffold, 10), + new OreDictStack("ingotSteel", 16), + new ComparableStack(ModItems.ingot_polymer, 8), + new ComparableStack(ModItems.circuit_red_copper, 5), + new ComparableStack(ModItems.circuit_tantalium, 15), + }, 200); + + makeRecipe(new ComparableStack(ModBlocks.struct_launcher_core_large, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_battery, 5), + new ComparableStack(ModBlocks.steel_scaffold, 10), + new OreDictStack("ingotSteel", 24), + new ComparableStack(ModItems.ingot_polymer, 12), + new ComparableStack(ModItems.circuit_gold, 5), + new ComparableStack(ModItems.circuit_tantalium, 25), + }, 200); + + makeRecipe(new ComparableStack(ModBlocks.struct_soyuz_core, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_lithium_battery, 5), + new ComparableStack(ModBlocks.steel_scaffold, 24), + new OreDictStack("ingotSteel", 32), + new ComparableStack(ModItems.ingot_polymer, 24), + new ComparableStack(ModItems.circuit_gold, 5), + new ComparableStack(ModItems.upgrade_power_3, 3), + new ComparableStack(ModItems.circuit_tantalium, 100), + }, 200); } if(Loader.isModLoaded("Mekanism")) { @@ -781,6 +862,23 @@ public class AssemblerRecipes { time.put(out, duration); } + public static void addTantalium(ComparableStack out, int amount) { + + AStack[] ins = recipes.get(out); + + if(ins != null) { + + AStack[] news = new AStack[ins.length + 1]; + + for(int i = 0; i < ins.length; i++) + news[i] = ins[i]; + + news[news.length - 1] = new ComparableStack(ModItems.circuit_tantalium, amount); + + recipes.put(out, news); + } + } + /* * { * recipes : [ diff --git a/src/main/java/com/hbm/inventory/container/ContainerRBMKOutgasser.java b/src/main/java/com/hbm/inventory/container/ContainerRBMKOutgasser.java index 98d1ade30..1e5498d71 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerRBMKOutgasser.java +++ b/src/main/java/com/hbm/inventory/container/ContainerRBMKOutgasser.java @@ -43,7 +43,7 @@ public class ContainerRBMKOutgasser extends Container { if(!this.mergeItemStack(var5, rbmk.getSizeInventory(), this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 0, rbmk.getSizeInventory(), false)) { + } else if(!this.mergeItemStack(var5, 0, 1, false)) { return null; } diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index d85718f15..9c55880d4 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -208,7 +208,7 @@ public class GUIRBMKConsole extends GuiInfoContainer { drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); if(az5Lid) { - drawTexturedModalRect(guiLeft + 30, guiTop + 138, 110, 172, 28, 28); + drawTexturedModalRect(guiLeft + 30, guiTop + 138, 228, 172, 28, 28); } int bX = 86; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 5bb22059a..a310d6dc1 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -721,6 +721,7 @@ public class ModItems { public static Item cell_sas3; public static Item cell_antimatter; public static Item cell_anti_schrabidium; + public static Item cell_balefire; public static Item demon_core_open; public static Item demon_core_closed; @@ -1677,6 +1678,7 @@ public class ModItems { public static Item defuser; public static Item reacher; + public static Item bismuth_tool; public static Item meltdown_tool; public static Item flame_pony; @@ -2963,7 +2965,7 @@ public class ModItems { ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.00F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium"); ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten"); - cell_empty = new ItemCell().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cell_empty"); + cell_empty = new Item().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cell_empty"); cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6"); cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); @@ -2971,6 +2973,7 @@ public class ModItems { cell_tritium = new ItemHazard(0.001F).setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); cell_sas3 = new ItemHazard(ItemHazard.sa326 * ItemHazard.ingot, false, true).setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium"); + cell_balefire = new ItemHazard().addRadiation(50F).addFire(3).toItem().setUnlocalizedName("cell_balefire").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_balefire"); demon_core_open = new ItemDemonCore().addRadiation(5.0F).toItem().setUnlocalizedName("demon_core_open").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_open"); demon_core_closed = new ItemHazard().addRadiation(100000F).addFire(25).toItem().setUnlocalizedName("demon_core_closed").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_closed"); @@ -4155,6 +4158,7 @@ public class ModItems { defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); reacher = new Item().setUnlocalizedName("reacher").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":reacher"); + bismuth_tool = new ItemAmatExtractor().setUnlocalizedName("bismuth_tool").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":bismuth_tool"); meltdown_tool = new ItemDyatlov().setUnlocalizedName("meltdown_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":meltdown_tool"); flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_pony"); @@ -5832,6 +5836,7 @@ public class ModItems { GameRegistry.registerItem(cell_sas3, cell_sas3.getUnlocalizedName()); GameRegistry.registerItem(cell_antimatter, cell_antimatter.getUnlocalizedName()); GameRegistry.registerItem(cell_anti_schrabidium, cell_anti_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(cell_balefire, cell_balefire.getUnlocalizedName()); //DEMON CORE GameRegistry.registerItem(demon_core_open, demon_core_open.getUnlocalizedName()); @@ -7335,6 +7340,7 @@ public class ModItems { GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); GameRegistry.registerItem(defuser, defuser.getUnlocalizedName()); GameRegistry.registerItem(reacher, reacher.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_tool, bismuth_tool.getUnlocalizedName()); GameRegistry.registerItem(meltdown_tool, meltdown_tool.getUnlocalizedName()); GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java index ba6b58694..24f5850f3 100644 --- a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java +++ b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java @@ -6,6 +6,7 @@ import com.hbm.extprop.HbmPlayerProps; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.render.model.ModelArmorBJ; +import com.hbm.util.ArmorUtil; import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -59,6 +60,8 @@ public class ArmorBJJetpack extends ArmorBJ { if(this.hasFSBArmor(player)) { + ArmorUtil.resetFlightTime(player); + if(props.isJetpackActive()) { if(player.motionY < 0.4D) diff --git a/src/main/java/com/hbm/items/armor/ArmorDNT.java b/src/main/java/com/hbm/items/armor/ArmorDNT.java index 61b80595e..7592ef3a0 100644 --- a/src/main/java/com/hbm/items/armor/ArmorDNT.java +++ b/src/main/java/com/hbm/items/armor/ArmorDNT.java @@ -10,6 +10,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.render.model.ModelArmorDNT; +import com.hbm.util.ArmorUtil; import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -87,6 +88,8 @@ public class ArmorDNT extends ArmorFSBPowered { } if(this.hasFSBArmor(player)) { + + ArmorUtil.resetFlightTime(player); if(props.isJetpackActive()) { diff --git a/src/main/java/com/hbm/items/armor/JetpackBase.java b/src/main/java/com/hbm/items/armor/JetpackBase.java index 2cea761df..cb38d4537 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBase.java +++ b/src/main/java/com/hbm/items/armor/JetpackBase.java @@ -6,6 +6,7 @@ import com.hbm.handler.ArmorModHandler; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IPartiallyFillable; import com.hbm.render.model.ModelJetPack; +import com.hbm.util.ArmorUtil; import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; @@ -66,6 +67,7 @@ public abstract class JetpackBase extends ItemArmorMod implements IPartiallyFill return; onArmorTick(entity.worldObj, (EntityPlayer)entity, jetpack); + ArmorUtil.resetFlightTime((EntityPlayer)entity); ArmorModHandler.applyMod(armor, jetpack); } diff --git a/src/main/java/com/hbm/items/armor/WingsMurk.java b/src/main/java/com/hbm/items/armor/WingsMurk.java index 3362e0c88..d47736a76 100644 --- a/src/main/java/com/hbm/items/armor/WingsMurk.java +++ b/src/main/java/com/hbm/items/armor/WingsMurk.java @@ -3,6 +3,7 @@ package com.hbm.items.armor; import com.hbm.extprop.HbmPlayerProps; import com.hbm.items.ModItems; import com.hbm.render.model.ModelArmorWings; +import com.hbm.util.ArmorUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,6 +40,8 @@ public class WingsMurk extends ItemArmor { if(player.onGround) return; + ArmorUtil.resetFlightTime(player); + if(player.fallDistance > 0) player.fallDistance = 0; @@ -74,6 +77,8 @@ public class WingsMurk extends ItemArmor { if(player.motionY < 0.6D) player.motionY += 0.2D; + else + player.motionY = 0.8D; } else if(props.enableBackpack && !player.isSneaking()) { diff --git a/src/main/java/com/hbm/items/special/ItemCell.java b/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java similarity index 51% rename from src/main/java/com/hbm/items/special/ItemCell.java rename to src/main/java/com/hbm/items/tool/ItemAmatExtractor.java index 424308b6f..ffd2b3ddb 100644 --- a/src/main/java/com/hbm/items/special/ItemCell.java +++ b/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java @@ -1,55 +1,50 @@ -package com.hbm.items.special; - -import java.util.Random; - -import com.hbm.blocks.bomb.BlockCrashedBomb; -import com.hbm.items.ModItems; -import com.hbm.util.ContaminationUtil; -import com.hbm.util.ContaminationUtil.ContaminationType; -import com.hbm.util.ContaminationUtil.HazardType; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemCell extends Item { - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { - - if(world.getBlock(p_77648_4_, p_77648_5_, p_77648_6_) instanceof BlockCrashedBomb) { - Random rand = new Random(); - int i = rand.nextInt(100); - - if(i == 0) { - if(!world.isRemote) { - ((BlockCrashedBomb) world.getBlock(p_77648_4_, p_77648_5_, p_77648_6_)).explode(world, p_77648_4_, p_77648_5_, p_77648_6_); - } - } else if(i < 90) { - if(!world.isRemote) { - player.inventory.consumeInventoryItem(ModItems.cell_empty); - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_antimatter))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_antimatter, 1, 0), false); - } - } - } else { - if(!world.isRemote) { - player.inventory.consumeInventoryItem(ModItems.cell_empty); - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_anti_schrabidium))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_anti_schrabidium, 1, 0), false); - } - } - } - - player.inventoryContainer.detectAndSendChanges(); - ContaminationUtil.contaminate(player, HazardType.RADIATION, ContaminationType.CREATIVE, 50.0F); - - return true; - } - return false; - } - -} +package com.hbm.items.tool; + +import com.hbm.blocks.bomb.BlockCrashedBomb; +import com.hbm.items.ModItems; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.ContaminationUtil.ContaminationType; +import com.hbm.util.ContaminationUtil.HazardType; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemAmatExtractor extends Item { + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + + if(world.getBlock(x, y, z) instanceof BlockCrashedBomb) { + if(!world.isRemote && player.inventory.hasItem(ModItems.cell_empty)) { + + float chance = world.rand.nextFloat(); + + if(chance < 0.01) { + ((BlockCrashedBomb) world.getBlock(x, y, z)).explode(world, x, y, z); + } else if(chance <= 0.3) { + player.inventory.consumeInventoryItem(ModItems.cell_empty); + + if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_balefire))) { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_balefire, 1, 0), false); + } + } else { + player.inventory.consumeInventoryItem(ModItems.cell_empty); + + if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_antimatter))) { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_antimatter, 1, 0), false); + } + } + + player.inventoryContainer.detectAndSendChanges(); + ContaminationUtil.contaminate(player, HazardType.RADIATION, ContaminationType.CREATIVE, 50.0F); + } + + player.swingItem(); + return true; + } + + return false; + } +} diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 1b0c649bc..063dd8b7b 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -34,8 +34,6 @@ import com.hbm.world.feature.Sellafield; import com.hbm.world.generator.CellularDungeonFactory; import com.hbm.world.generator.DungeonToolbox; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityChest; @@ -63,65 +61,11 @@ public class HbmWorldGen implements IWorldGenerator { if(GeneralConfig.enableMDOres) generateSurface(world, rand, chunkX * 16, chunkZ * 16); break; } - } NoiseGeneratorOctaves octaves = new NoiseGeneratorOctaves(new Random(0x706f6e6379756dL), 1); - - /** - * Fake noise generator "unruh" ("unrest", the motion of a clockwork), using a bunch of layered, scaled and offset - * sine functions to simulate a simple noise generator that runs somewhat efficiently - * @param long the random function seed used for this operation - * @param x the exact x-coord of the height you want - * @param z the exact z-coord of the height you want - * @param scale how much the x/z coords should be amplified - * @param depth the resolution of the operation, higher numbers call more sine functions - * @return the height value - */ - private double generateUnruh(long seed, int x, int z, double scale, int depth) { - - scale = 1/scale; - - double result = 1; - - Random rand = new Random(seed); - - for(int i = 0; i < depth; i++) { - - double offsetX = rand.nextDouble() * Math.PI * 2; - double offsetZ = rand.nextDouble() * Math.PI * 2; - - result += Math.sin(x / Math.pow(2, depth) * scale + offsetX) * Math.sin(z / Math.pow(2, depth) * scale + offsetZ); - } - - return result / depth; - } private void generateSurface(World world, Random rand, int i, int j) { - - /*for(int x = 0; x < 16; x++) { - - for(int z = 0; z < 16; z++) { - - double unruh = Math.abs(generateUnruh(world.getSeed(), i + x, j + z, 4, 4)) * 1.5; - double thresh = 0.8D; - - if(unruh >= thresh) { - - int span = (int)(Math.floor((unruh - thresh) * 7)); - - for(int s = -span; s <= span; s++) { - - int y = 35 + s; - - Block b = world.getBlock(x, y, z); - - if(b.getMaterial() == Material.rock || b == Blocks.dirt) - world.setBlock(i + x, (int) (y), j + z, ModBlocks.stone_gneiss, 0, 2); - } - } - } - }*/ DungeonToolbox.generateOre(world, rand, i, j, 25, 6, 30, 10, ModBlocks.ore_gneiss_iron, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, 10, 6, 30, 10, ModBlocks.ore_gneiss_gold, ModBlocks.stone_gneiss); @@ -146,7 +90,7 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.rareSpawn, 5, 5, 20, ModBlocks.ore_rare); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ligniteSpawn, 24, 35, 25, ModBlocks.ore_lignite); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn, 4, 16, 16, ModBlocks.ore_asbestos); - DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cinnebarSpawn, 2, 8, 8, ModBlocks.ore_asbestos); + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cinnebarSpawn, 4, 8, 16, ModBlocks.ore_cinnebar); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ironClusterSpawn, 6, 5, 50, ModBlocks.cluster_iron); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 5, 30, ModBlocks.cluster_titanium); @@ -168,13 +112,19 @@ public class HbmWorldGen implements IWorldGenerator { int colX = (int) (colRand.nextGaussian() * 1500); int colZ = (int) (colRand.nextGaussian() * 1500); int colRange = 500; - for (int k = 0; k < 6; k++) { - int randPosX = i + rand.nextInt(16); - int randPosY = rand.nextInt(25) + 15; - int randPosZ = j + rand.nextInt(16); - - if(randPosX <= colX + colRange && randPosX >= colX - colRange && randPosZ <= colZ + colRange && randPosZ >= colZ - colRange) - (new WorldGenMinable(ModBlocks.ore_coltan, 6)).generate(world, rand, randPosX, randPosY, randPosZ); + + for (int k = 0; k < 2; k++) { + + for(int r = 1; r <= 5; r++) { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(25) + 15; + int randPosZ = j + rand.nextInt(16); + + int range = colRange / r; + + if(randPosX <= colX + range && randPosX >= colX - range && randPosZ <= colZ + range && randPosZ >= colZ - range) + (new WorldGenMinable(ModBlocks.ore_coltan, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + } } for (int k = 0; k < rand.nextInt(4); k++) { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 7e59d8e3d..5ca922274 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -68,7 +68,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.marker_structure, 1), new Object[] { "L", "G", "R", 'L', "dustLapis", 'G', Items.glowstone_dust, 'R', Blocks.redstone_torch })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_raw, 1), new Object[] { "A", "R", "S", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_bismuth_raw, 1), new Object[] { "RPR", "ABA", "RPR", 'R', "dustRedstone", 'P', "ingotPolymer", 'A', "ingotAsbestos", 'B', ModItems.ingot_bismuth })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_bismuth_raw, 1), new Object[] { "RPR", "ABA", "RPR", 'R', "dustRedstone", 'P', "ingotPolymer", 'A', (GeneralConfig.enable528 ? ModItems.circuit_tantalium : "ingotAsbestos"), 'B', ModItems.ingot_bismuth })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_tantalium_raw, 1), new Object[] { "RWR", "PTP", "RWR", 'R', "dustRedstone", 'W', ModItems.wire_gold, 'P', "plateCopper", 'T', ModItems.nugget_tantalium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_targeting_tier1, 1), new Object[] { "CPC", 'C', ModItems.circuit_aluminium, 'P', "dustRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_targeting_tier2, 1), new Object[] { "CPC", 'C', ModItems.circuit_copper, 'P', "dustNetherQuartz" })); @@ -322,10 +322,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateTitanium", 'S', "ingotSteel", 'B', ModItems.bolt_tungsten, 'I', "ingotRedCopperAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateAdvanced", 'S', "ingotPolymer", 'B', ModItems.bolt_dura_steel, 'I', "ingotDesh" })); GameRegistry.addRecipe(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', ModItems.ingot_starmetal, 'S', ModItems.circuit_targeting_tier3 }); - - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); - + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', "ingotTitanium", 'P', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', ModItems.plate_combine_steel, 'G', "paneGlass" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', "ingotTungsten", 'P', "plateDenseLead" })); @@ -580,7 +577,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.spikes, 4), new Object[] { "FFF", "BBB", "TTT", 'F', Items.flint, 'B', ModItems.bolt_tungsten, 'T', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', "plateSaturnite", 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "PGP", "ICI", "PRP", 'P', ModItems.plate_desh, 'G', "paneGlass", 'I', "ingotPolymer", 'R', "blockRedstone", 'C', ModItems.circuit_targeting_tier4 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.containment_box, 1), new Object[] { "LLL", "LCL", "LLL", 'L', "plateLead", 'C', Blocks.chest })); @@ -639,10 +635,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_15, 1), new Object[] { "PP", "SS", "BB", 'P', "plateTitanium", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_20, 1), new Object[] { "PGP", "SSS", "BBB", 'P', "plateSteel", 'G', "plateGold", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); - GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core, 1), new Object[] { "SCS", "SIS", "BEB", 'S', ModBlocks.steel_scaffold, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier3, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); - GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', ModItems.circuit_red_copper, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier4, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); - GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_soyuz_core, 1), new Object[] { "CUC", "TST", "TBT", 'C', ModItems.circuit_targeting_tier4, 'U', ModItems.upgrade_power_3, 'T', ModBlocks.barrel_steel, 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.machine_lithium_battery }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.obj_tester, 1), new Object[] { "P", "I", "S", 'P', ModItems.polaroid, 'I', ModItems.flame_pony, 'S', "plateSteel" })); GameRegistry.addRecipe(new ItemStack(ModBlocks.fence_metal, 6), new Object[] { "BIB", "BIB", 'B', Blocks.iron_bars, 'I', Items.iron_ingot }); @@ -733,7 +725,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_analysis, 1), new Object[] { "IPI", "PCP", "IPI", 'I', "ingotTitanium", 'P', "plateDenseLead", 'C', ModItems.circuit_gold })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_analysis_glass, 1), new Object[] { ModBlocks.hadron_analysis, "blockGlass" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hadron_access, 1), new Object[] { "IGI", "CRC", "IPI", 'I', ModItems.plate_polymer, 'G', "paneGlass", 'C', ModItems.circuit_aluminium, 'R', "blockRedstone", 'P', ModBlocks.hadron_plating_blue })); - GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ingot_schrabidium, 8), new Object[] { "UUU", "UPU", "UUU", 'U', "ingotUranium", 'P', new ItemStack(ModItems.particle_higgs).setStackDisplayName("Higgs Boson (Temporary Recipe)") })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ingot_euphemium, 8), new Object[] { "UUU", "UPU", "UUU", 'U', "ingotPlutonium", 'P', new ItemStack(ModItems.particle_dark).setStackDisplayName("Dark Matter (Temporary Recipe)") })); @@ -752,12 +743,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_control, 'B', ModItems.nugget_bismuth }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "C", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank }); - GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank }); - GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', "ingotZirconium" })); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod_reasim, 'B', ModItems.ingot_tcalloy }); GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank }); - GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.ladder_sturdy, 8), new Object[] { "LLL", "L#L", "LLL", 'L', Blocks.ladder, '#', "plankWood" })); @@ -841,6 +829,19 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', "ingotGold", 'A', Items.book })); } + + if(!GeneralConfig.enable528) { + GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core, 1), new Object[] { "SCS", "SIS", "BEB", 'S', ModBlocks.steel_scaffold, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier3, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', ModItems.circuit_red_copper, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier4, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_soyuz_core, 1), new Object[] { "CUC", "TST", "TBT", 'C', ModItems.circuit_targeting_tier4, 'U', ModItems.upgrade_power_3, 'T', ModBlocks.barrel_steel, 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.machine_lithium_battery }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth }); + } } public static void crumple() { diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 07a2a37e1..c6d25989e 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -741,6 +741,8 @@ public class ModEventHandler { if(player.getCurrentArmor(2) == null && !player.onGround) { + ArmorUtil.resetFlightTime(player); + if(!player.isSneaking()) { if(player.fallDistance > 0) player.fallDistance = 0; diff --git a/src/main/java/com/hbm/modules/ItemHazardModule.java b/src/main/java/com/hbm/modules/ItemHazardModule.java index 06cc97a2e..a4f6e4e50 100644 --- a/src/main/java/com/hbm/modules/ItemHazardModule.java +++ b/src/main/java/com/hbm/modules/ItemHazardModule.java @@ -2,7 +2,9 @@ package com.hbm.modules; import java.util.List; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.BreederRecipes; +import com.hbm.items.ModItems; import com.hbm.util.ArmorUtil; import com.hbm.util.ContaminationUtil; import com.hbm.util.I18nUtil; @@ -71,14 +73,25 @@ public class ItemHazardModule { } public void applyEffects(EntityLivingBase entity, float mod, int slot, boolean currentItem) { + + boolean reacher = false; + + if(entity instanceof EntityPlayer && !GeneralConfig.enable528) + reacher = ((EntityPlayer) entity).inventory.hasItem(ModItems.reacher); - if(this.radiation * tempMod > 0) - ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, this.radiation * tempMod * mod / 20F); + if(this.radiation * tempMod > 0) { + float rad = this.radiation * tempMod * mod / 20F; + + if(reacher) + rad = (float) Math.min(Math.sqrt(rad), rad); //to prevent radiation from going up when being <1 + + ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, rad); + } if(this.digamma * tempMod > 0) ContaminationUtil.applyDigammaData(entity, this.digamma * tempMod * mod / 20F); - if(this.fire > 0) + if(this.fire > 0 && !reacher) entity.setFire(this.fire); if(this.asbestos) diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index 35411724f..e62db746a 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -6,9 +6,12 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.potion.HbmPotion; +import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.network.NetHandlerPlayServer; public class ArmorUtil { @@ -342,4 +345,12 @@ public class ArmorUtil { return checkArmorPiece(player, ModItems.jackt2, 2) && Library.checkForHeld(player, ModItems.shimmer_axe); } + + public static void resetFlightTime(EntityPlayer player) { + + if(player instanceof EntityPlayerMP) { + EntityPlayerMP mp = (EntityPlayerMP) player; + ReflectionHelper.setPrivateValue(NetHandlerPlayServer.class, mp.playerNetServerHandler, 0, "floatingTickCount", "field_147365_f"); + } + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a20dadd4d..05ab4ff1d 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -748,6 +748,7 @@ item.billet_uranium_fuel.name=Urankernbrennstoffbillet item.billet_yharonite.name=Yharonitbillet item.biomass.name=Biomasse item.biomass_compressed.name=Verdichtete Biomasse +item.bismuth_tool.name=Magnetischer Extraktor item.bj_boots.name=Lunare Beschlagene Stiefel item.bj_helmet.name=Augenklappe mit Infrarot-Sensor item.bj_legs.name=Lunare Kybernetischer Beinersatz @@ -890,6 +891,7 @@ item.catalyst_clay.name=Tonerde-Katalysator item.cbt_device.name=CBT-Gerät item.cell_anti_schrabidium.name=Antischrabidiumzelle item.cell_antimatter.name=Antimaterienzelle +item.cell_balefire.name=Balefiregas-Zelle item.cell_deuterium.name=Deuteriumzelle item.cell_empty.name=Leere Zelle item.cell_puf6.name=Plutoniumhexafluorid-Zelle @@ -2072,6 +2074,7 @@ item.rbmk_tool.name=RBMK-Konsolen-Verlinkungsgerät item.rbmk_tool.desc=Schleichen und Rechtsclick auf RBMK um Position zu speichern,$Schleichen und Rechtsclick auf Konsole um zu verlinken! item.rbmk_tool.linked=Position gespeichert! item.rbmk_tool.set=RBMK verlinkt! +item.reacher.name=Wolfram-Greifzange item.reactor_core.name=Brutreaktorkern item.reactor_sensor.name=Reaktor-Fernsensor item.record.glass.desc=? ? ? diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 8d13c3461..23481043e 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -816,6 +816,7 @@ item.billet_uranium_fuel.name=Uranium Fuel Billet item.billet_yharonite.name=Yharonite Billet item.biomass.name=Biomass item.biomass_compressed.name=Compressed Biomass +item.bismuth_tool.name=Magnetic Extractor item.bj_boots.name=Lunar Studded Boots item.bj_helmet.name=Eyepatch with Thermal Sensor item.bj_legs.name=Lunar Cybernetic Leg Replacements @@ -958,6 +959,7 @@ item.catalyst_clay.name=Clay Catalyst item.cbt_device.name=CBT Device item.cell_anti_schrabidium.name=Antischrabidium Cell item.cell_antimatter.name=Antimatter Cell +item.cell_balefire.name=Gaseous Balefire Cell item.cell_deuterium.name=Deuterium Cell item.cell_empty.name=Empty Cell item.cell_puf6.name=Plutonium Hexafluoride Cell @@ -2140,6 +2142,7 @@ item.rbmk_tool.name=RBMK Console Linking Device item.rbmk_tool.desc=Sneak and right-click RBMK to save the position,$sneak and right-click console to link! item.rbmk_tool.linked=Position set! item.rbmk_tool.set=RBMK linked! +item.reacher.name=Tungsten Reacher item.reactor_core.name=Breeding Reactor Core item.reactor_sensor.name=Reactor Remote Sensor item.record.glass.desc=? ? ? diff --git a/src/main/resources/assets/hbm/textures/blocks/block_tantalium.png b/src/main/resources/assets/hbm/textures/blocks/block_tantalium.png index f796a4e93..36777a340 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_tantalium.png and b/src/main/resources/assets/hbm/textures/blocks/block_tantalium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/cell_balefire.png b/src/main/resources/assets/hbm/textures/items/cell_balefire.png new file mode 100644 index 000000000..b37e41f19 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/cell_balefire.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gem_tantalium.png b/src/main/resources/assets/hbm/textures/items/gem_tantalium.png index 938986d55..2653b2184 100644 Binary files a/src/main/resources/assets/hbm/textures/items/gem_tantalium.png and b/src/main/resources/assets/hbm/textures/items/gem_tantalium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_tantalium.png b/src/main/resources/assets/hbm/textures/items/ingot_tantalium.png index 3e6af1b61..af303e09d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_tantalium.png and b/src/main/resources/assets/hbm/textures/items/ingot_tantalium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_tantalium.png b/src/main/resources/assets/hbm/textures/items/nugget_tantalium.png index 8e466e7b8..6f7a94789 100644 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_tantalium.png and b/src/main/resources/assets/hbm/textures/items/nugget_tantalium.png differ