From 5afdabd2c2fea70a1b68357217cde81e7090377e Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 24 Jul 2021 17:03:56 +0200 Subject: [PATCH] flight fix, new textures, bismuth extractor, 528 mode recipes --- src/main/java/com/hbm/config/WorldConfig.java | 4 +- .../java/com/hbm/crafting/MineralRecipes.java | 1 + .../java/com/hbm/crafting/ToolRecipes.java | 2 + .../ChunkRadiationHandlerSimple.java | 2 +- .../com/hbm/inventory/AssemblerRecipes.java | 112 ++++++++++++++++-- .../container/ContainerRBMKOutgasser.java | 2 +- .../com/hbm/inventory/gui/GUIRBMKConsole.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 8 +- .../com/hbm/items/armor/ArmorBJJetpack.java | 3 + .../java/com/hbm/items/armor/ArmorDNT.java | 3 + .../java/com/hbm/items/armor/JetpackBase.java | 2 + .../java/com/hbm/items/armor/WingsMurk.java | 5 + .../ItemAmatExtractor.java} | 105 ++++++++-------- src/main/java/com/hbm/lib/HbmWorldGen.java | 78 +++--------- .../java/com/hbm/main/CraftingManager.java | 29 ++--- .../java/com/hbm/main/ModEventHandler.java | 2 + .../com/hbm/modules/ItemHazardModule.java | 19 ++- src/main/java/com/hbm/util/ArmorUtil.java | 11 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/blocks/block_tantalium.png | Bin 624 -> 6399 bytes .../hbm/textures/items/cell_balefire.png | Bin 0 -> 382 bytes .../hbm/textures/items/gem_tantalium.png | Bin 354 -> 369 bytes .../hbm/textures/items/ingot_tantalium.png | Bin 304 -> 426 bytes .../hbm/textures/items/nugget_tantalium.png | Bin 205 -> 201 bytes 25 files changed, 247 insertions(+), 149 deletions(-) rename src/main/java/com/hbm/items/{special/ItemCell.java => tool/ItemAmatExtractor.java} (51%) create mode 100644 src/main/resources/assets/hbm/textures/items/cell_balefire.png 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 f796a4e93c3a5b3769e56d91a177abe1858aeffc..36777a340ce03a051adb98c39fc77d4a0aed57f5 100644 GIT binary patch literal 6399 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 literal 0 HcmV?d00001 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 938986d55fce853809a8cf2056e277f46922d273..2653b21844808b765bebdd2695842d85e7962500 100644 GIT binary patch delta 343 zcmV-d0jU1s0`UTnBYy!lNklaeQCX#hwg$Z(M6 zw8R94S@RcQH3Y)|n8wSOZ-X7DtEV6IsD}%{G;UeDl|f!j4em3L z0U*O3-nzvwYyL6}L%;^0YkvIrDcArnF9)y}baeE={29|`V}Cb5R@Ur)Xt)nUSy?_< z;kIoD7_MBo2#}tGZUfAMzH|^Lv*7NaOF(>00000NkvXXu0mjf003EOlrR7Q delta 328 zcmV-O0k{6~0^$OYBYyw{b3#c}2nYxWdZq}7)Bo{QpQ{X z*kIxa&Yp>DAO^$*(i1Qsu0fU@AVk2Fm~k|dl?CszWvGOaaLRlQjF0Jq!C11vxohSYV*wJsb`gW5}`$rIg#j65KQZ96al;fo~&(uv=gE a|K$q_R=O9nMH(Ui0000}(9be*R*3`uqt4J1aZG_1ib$hA?{ig#Vv4t)F4{zSCeEWPfF)QNmS1LITWZW%$SN z=FMvcYda$_|K_#F46WTA3}6EyLwy-yodcP*HH^7uK!*Ux_#X3bv!=D&IM0jwDW z;0A~aNi%3@N`HY30l5U`M3^R+Mi33tjAFpsS6>-y?99L#(-IR zjs;m+v;UHkVqgOn&7TG~0NJU?nqV4X0R>M7Fhf$)q8Mh+S_bzcOd-fNjL>CZKuyXZ vL%6tE!Ro$!{S9^^HciN41QpQS002UZqlAd!oiqRd015y}MNUMnLSTXbSH7^3 delta 278 zcmV+x0qOp#1F!;+BYyw{b3#c}2nYxWdK}UJkPi2`s~@I7?o0R&YcsyLf81Vas3Z> c=x@abIhr!Duhyj-&cntu#;PmOUV29M#wqi8|rvZ)4)$j;<`SJzBv?+6mHvps) zTDta00001gI)vjAjpJ0xAF~r9ebHiEof|#u&pj fa3Lc112=D8Lpno#yJ^%C00000NkvXXu0mjfI-5nG