diff --git a/changelog b/changelog index 22dc7d698..f0a283661 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,11 @@ +## Added +* Silo hatch + * The final missing door from 1.12, remade from scratch + * Comes with a brand-new model that fits perfectly over 3x3 missile launch tubes + * Has a 5x5 frame + +## Changed +* Simplified door recipes ## Fixed * Fixed sellafite emerald ore being oredicted as emerald dust @@ -6,3 +14,4 @@ * Fixed BFB rods being called ZFB in hot and depleted variants * Fixed infinite water barrels voiding water completely after the chemplant's input buffer runs full, infinite barrels can no longer void water in chemplants * Fixed fallout affecting things on Y:0 like bedrock ores and oil +* Fixed projectiles not being able to pass through open doors diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 547df6609..f66125e0b 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1212,13 +1212,14 @@ public class AssemblerRecipes { new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 2) }, 200); - makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 36), new OreDictStack("plateAdvancedAlloy", 4), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 4), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new OreDictStack("plateAdvancedAlloy", 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeRed", 1)}, 500); - makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plate(), 24), new OreDictStack("plateAdvancedAlloy", 8), new ComparableStack(ModItems.plate_polymer, 8), new OreDictStack("blockSteel", 2), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeBlack", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.qe_sliding_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 1), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 4), new ComparableStack(Blocks.glass, 4)}, 200); - makeRecipe(new ComparableStack(ModBlocks.round_airlock_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 32), new OreDictStack("plateAdvancedAlloy", 12), new ComparableStack(ModItems.plate_polymer, 12), new OreDictStack("blockSteel", 6), new ComparableStack(ModItems.motor, 6), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.secure_access_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 48), new OreDictStack("plateAdvancedAlloy", 16), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 6), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeRed", 8)}, 1000); - makeRecipe(new ComparableStack(ModBlocks.sliding_seal_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new OreDictStack("plateAdvancedAlloy", 4), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 1), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 2)}, 500); + makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 16), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 16), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeRed", 1)}, 200); + makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeBlack", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.qe_sliding_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 4), new ComparableStack(Blocks.glass, 4)}, 200); + makeRecipe(new ComparableStack(ModBlocks.round_airlock_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ALLOY.plate(), 8), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.secure_access_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ALLOY.plate(), 16), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeRed", 8)}, 4000); + makeRecipe(new ComparableStack(ModBlocks.sliding_seal_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 2)}, 200); + makeRecipe(new ComparableStack(ModBlocks.silo_hatch, 1), new AStack[]{new OreDictStack(STEEL.plateWelded(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 4)}, 200); if(Loader.isModLoaded("Mekanism")) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index af65ba54f..a640258bd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -330,6 +330,7 @@ public class ModItems { public static Item plate_dalekanium; public static Item plate_euphemium; public static Item bolt; + public static Item bolt_spike; public static Item bolt_compound; public static Item plate_polymer; public static Item plate_kevlar; @@ -2602,6 +2603,7 @@ public class ModItems { plate_dalekanium = new Item().setUnlocalizedName("plate_dalekanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dalekanium"); plate_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("plate_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_euphemium"); bolt = new ItemAutogen(MaterialShapes.BOLT).setUnlocalizedName("bolt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt"); + bolt_spike = new ItemCustomLore().setUnlocalizedName("bolt_spike").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_spike"); bolt_compound = new Item().setUnlocalizedName("bolt_compound").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_compound"); plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_polymer"); plate_kevlar = new Item().setUnlocalizedName("plate_kevlar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_kevlar"); @@ -6058,6 +6060,7 @@ public class ModItems { //Bolts GameRegistry.registerItem(bolt, bolt.getUnlocalizedName()); + GameRegistry.registerItem(bolt_spike, bolt_spike.getUnlocalizedName()); GameRegistry.registerItem(bolt_compound, bolt_compound.getUnlocalizedName()); //Cloth diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index 437aa97e2..b0d216289 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -50,7 +50,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { World world = player.worldObj; if(!entity.isEntityAlive()) return false; - ItemStack[] bolts = new ItemStack[] { Mats.MAT_STEEL.make(ModItems.bolt), Mats.MAT_TUNGSTEN.make(ModItems.bolt), Mats.MAT_DURA.make(ModItems.bolt)}; + ItemStack[] bolts = new ItemStack[] { new ItemStack(ModItems.bolt_spike), Mats.MAT_STEEL.make(ModItems.bolt), Mats.MAT_TUNGSTEN.make(ModItems.bolt), Mats.MAT_DURA.make(ModItems.bolt)}; for(ItemStack bolt : bolts) { for(int i = 0; i < player.inventory.getSizeInventory(); i++) { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index b4fb99e14..b22fa676f 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -96,6 +96,7 @@ public class CraftingManager { addRecipeAuto(Mats.MAT_TUNGSTEN.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', W.ingot()}); addRecipeAuto(Mats.MAT_STEEL.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', STEEL.ingot()}); addRecipeAuto(Mats.MAT_DURA.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', DURA.ingot()}); + addRecipeAuto(new ItemStack(ModItems.bolt_spike, 2), new Object[] { "BB", "B ", "B ", 'B', STEEL.bolt()}); addRecipeAuto(new ItemStack(ModItems.pipes_steel, 1), new Object[] { "B", "B", "B", 'B', STEEL.block() }); addRecipeAuto(new ItemStack(ModItems.bolt_compound, 1), new Object[] { "PDP", "PTP", "PDP", 'D', DURA.bolt(), 'T', W.bolt(), 'P', TI.plate() }); addRecipeAuto(new ItemStack(ModItems.pellet_coal, 1), new Object[] { "PFP", "FOF", "PFP", 'P', COAL.dust(), 'F', Items.flint, 'O', ModBlocks.gravel_obsidian }); @@ -511,7 +512,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.rail_highspeed, 16), new Object[] { "S S", "SIS", "S S", 'S', STEEL.ingot(), 'I', IRON.plate() }); addRecipeAuto(new ItemStack(ModBlocks.rail_booster, 6), new Object[] { "S S", "CIC", "SRS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'R', MINGRADE.ingot(), 'C', ModItems.coil_copper }); - addRecipeAuto(new ItemStack(ModBlocks.rail_large_straight, 4), new Object[] { "B B", "SSS", "W W", 'B', STEEL.bolt(), 'S', ModBlocks.steel_beam, 'W', KEY_SLAB }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_straight, 4), new Object[] { "B B", "SSS", "W W", 'B', ModItems.bolt_spike, 'S', ModBlocks.steel_beam, 'W', KEY_SLAB }); addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight, 1), new Object[] { ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short }); addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight_short, 5), new Object[] { ModBlocks.rail_large_straight }); addRecipeAuto(new ItemStack(ModBlocks.rail_large_buffer, 1), new Object[] { " S", "RS", 'R', ModBlocks.rail_large_straight, 'S', STEEL.ingot() }); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 4b25b2f23..cec57ea6d 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -730,6 +730,23 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); } }); + renderers.put(Item.getItemFromBlock(ModBlocks.silo_hatch), new ItemRenderBase(){ + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(2, 2, 2); + } + public void renderCommon() { + bindTexture(ResourceManager.silo_hatch_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glRotated(90, 0, 1, 0); + ResourceManager.silo_hatch.renderPart("Frame"); + GL11.glTranslated(0, 0.875, -1.875); + GL11.glRotated(-120, 1, 0, 0); + GL11.glTranslated(0, -0.875, 1.875); + ResourceManager.silo_hatch.renderPart("Hatch"); + GL11.glShadeModel(GL11.GL_FLAT); + } + }); renderers.put(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3.5, 0); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d89423eae..a4220206f 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1294,6 +1294,7 @@ item.bobmazon_tools.name=Bobmazon: Werkzeuge item.bobmazon_weapons.name=Bobmazon: Waffen und Sprengstoffe item.bolt.name=%sbolzen item.bolt_compound.name=Verstärkte Turbinenwelle +item.bolt_spike.name=Gleisnagel item.boltgun.name=Pneumatische Nietenpistole item.bomb_caller.name=Luftschlag Zielmarker item.bomb_waffle.name=Massenvernichtungswaffel @@ -4471,6 +4472,8 @@ tile.sellafield_4.name=Infernales Sellafit tile.sellafield_core.name=Sellafit-Corium tile.sellafield_slaked.name=Gelöschtes Sellafit tile.semtex.name=Semtex +tile.silo_hatch.name=Siloluke +tile.sliding_blast_door.name=Sprengtür tile.solar_mirror.name=Heliostatspiegel tile.soyuz_capsule.name=Landekapsel tile.soyuz_launcher.name=Soyuz-Startplatform diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2d45971c6..05365875c 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1961,6 +1961,8 @@ item.bobmazon_tools.name=Bobmazon: Tools item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives item.bolt.name=%s Bolt item.bolt_compound.name=Reinforced Turbine Shaft +item.bolt_spike.name=Railroad Spike +item.bolt_spike.desc=Radiates a threatening aura, somehow item.boltgun.name=Pneumatic Rivet Gun item.bomb_caller.name=Airstrike Designator item.bomb_waffle.name=Waffle of Mass Destruction @@ -5474,6 +5476,7 @@ tile.sellafield.4.name=Infernal Sellafite tile.sellafield.5.name=Sellafite-Corium tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex +tile.silo_hatch.name=Silo Hatch tile.sliding_blast_door.name=Sliding Blast Door tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule diff --git a/src/main/resources/assets/hbm/textures/items/bolt_spike.png b/src/main/resources/assets/hbm/textures/items/bolt_spike.png new file mode 100644 index 000000000..88e310d5f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/bolt_spike.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png index 226f0c34d..7a85f0e33 100644 Binary files a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png new file mode 100644 index 000000000..f0eecee56 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png differ