diff --git a/src/main/java/com/hbm/blocks/IStepTickReceiver.java b/src/main/java/com/hbm/blocks/IStepTickReceiver.java new file mode 100644 index 000000000..0c511ab58 --- /dev/null +++ b/src/main/java/com/hbm/blocks/IStepTickReceiver.java @@ -0,0 +1,9 @@ +package com.hbm.blocks; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public interface IStepTickReceiver { + + public void onPlayerStep(World world, int x, int y, int z, EntityPlayer player); +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7b7c3b9d3..8fde28704 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -224,6 +224,9 @@ public class ModBlocks { public static Block block_desh; public static Block block_dura_steel; public static Block block_starmetal; + public static Block block_polymer; + public static Block block_bakelite; + public static Block block_rubber; public static Block block_yellowcake; public static Block block_insulator; public static Block block_fiberglass; @@ -247,6 +250,7 @@ public class ModBlocks { public static Block block_actinium; public static Block block_tritium; public static Block block_semtex; + public static Block block_c4; public static Block block_smore; public static Block block_australium; @@ -276,6 +280,7 @@ public class ModBlocks { public static Block deco_rbmk; public static Block deco_rbmk_smooth; + public static Block deco_emitter; public static Block deco_loot; public static Block bobblehead; @@ -491,6 +496,8 @@ public class ModBlocks { public static Block charge_dynamite; public static Block charge_miner; + public static Block charge_c4; + public static Block charge_semtex; public static Block mine_ap; public static Block mine_he; @@ -704,6 +711,7 @@ public class ModBlocks { public static Block red_pylon_large; public static Block substation; public static Block cable_switch; + public static Block cable_detector; public static Block machine_detector; public static Block rf_cable; public static Block oil_duct_solid; @@ -1414,6 +1422,9 @@ public class ModBlocks { block_desh = new BlockBeaconable(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_desh"); block_dura_steel = new BlockBeaconable(Material.iron).setBlockName("block_dura_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_dura_steel"); block_starmetal = new BlockBeaconable(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal"); + block_polymer = new BlockBeaconable(Material.ground).setBlockName("block_polymer").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_polymer"); + block_bakelite = new BlockBeaconable(Material.ground).setBlockName("block_bakelite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_bakelite"); + block_rubber = new BlockBeaconable(Material.ground).setBlockName("block_rubber").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_rubber"); block_yellowcake = new BlockHazardFalling().makeBeaconable().setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); @@ -1437,6 +1448,7 @@ public class ModBlocks { block_actinium = new BlockHazard().makeBeaconable().setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); block_tritium = new BlockRotatablePillar(Material.glass, RefStrings.MODID + ":block_tritium_top").setBlockName("block_tritium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(3.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_tritium_side"); block_semtex = new BlockSemtex(Material.tnt).setBlockName("block_semtex").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_semtex"); + block_c4 = new BlockSemtex(Material.tnt).setBlockName("block_c4").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_c4"); block_smore = new BlockPillar(Material.rock, RefStrings.MODID + ":block_smore_top").setBlockName("block_smore").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side"); block_australium = new BlockBeaconable(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); @@ -1466,14 +1478,15 @@ public class ModBlocks { deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side"); deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); + deco_emitter = new BlockEmitter().setBlockName("deco_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":emitter"); deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":hazmat"); gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); gravel_diamond = new BlockFalling(Material.sand).setBlockName("gravel_diamond").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":gravel_diamond"); - asphalt = new BlockSpeedy(Material.rock, 1.15).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); - asphalt_light = new BlockSpeedy(Material.rock, 1.15).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light"); + asphalt = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); + asphalt_light = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light"); reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F); @@ -1697,6 +1710,8 @@ public class ModBlocks { fireworks = new BlockFireworks(Material.iron).setBlockName("fireworks").setCreativeTab(MainRegistry.nukeTab).setResistance(5.0F); charge_dynamite = new BlockChargeDynamite().setBlockName("charge_dynamite").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); charge_miner = new BlockChargeMiner().setBlockName("charge_miner").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + charge_c4 = new BlockChargeC4().setBlockName("charge_c4").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + charge_semtex = new BlockChargeSemtex().setBlockName("charge_semtex").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); mine_ap = new Landmine(Material.iron).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap"); mine_he = new Landmine(Material.iron).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he"); mine_shrap = new Landmine(Material.iron).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap"); @@ -1807,7 +1822,8 @@ public class ModBlocks { red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large"); substation = new Substation(Material.iron).setBlockName("substation").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":substation"); - cable_switch = new CableSwitch(Material.iron).setBlockName("cable_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_switch_off"); + cable_switch = new CableSwitch(Material.iron).setBlockName("cable_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + cable_detector = new CableDetector(Material.iron).setBlockName("cable_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_detector = new PowerDetector(Material.iron).setBlockName("machine_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_detector_off"); oil_duct_solid = new OilDuctSolid(Material.iron).setBlockName("oil_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":oil_duct_solid_alt"); oil_duct = new BlockOilDuct(Material.iron).setBlockName("oil_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":oil_duct_icon_alt"); @@ -2176,8 +2192,8 @@ public class ModBlocks { dummy_port_drill = new DummyBlockDrill(Material.iron, true).setBlockName("dummy_port_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); dummy_block_assembler = new DummyBlockAssembler(Material.iron, false).setBlockName("dummy_block_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_assembler = new DummyBlockAssembler(Material.iron, true).setBlockName("dummy_port_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_block_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_block_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_chemplant = new BlockGeneric(Material.iron).setBlockName("dummy_block_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_chemplant = new BlockGeneric(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_fluidtank = new DummyBlockFluidTank(Material.iron, false).setBlockName("dummy_block_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_fluidtank = new DummyBlockFluidTank(Material.iron, true).setBlockName("dummy_port_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_refinery = new DummyBlockRefinery(Material.iron, false).setBlockName("dummy_block_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_titanium"); @@ -2438,6 +2454,9 @@ public class ModBlocks { GameRegistry.registerBlock(block_desh, block_desh.getUnlocalizedName()); GameRegistry.registerBlock(block_dura_steel, block_dura_steel.getUnlocalizedName()); GameRegistry.registerBlock(block_starmetal, block_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(block_polymer, block_polymer.getUnlocalizedName()); + GameRegistry.registerBlock(block_bakelite, block_bakelite.getUnlocalizedName()); + GameRegistry.registerBlock(block_rubber, block_rubber.getUnlocalizedName()); GameRegistry.registerBlock(block_australium, ItemOreBlock.class, block_australium.getUnlocalizedName()); GameRegistry.registerBlock(block_weidanium, ItemOreBlock.class, block_weidanium.getUnlocalizedName()); GameRegistry.registerBlock(block_reiium, ItemOreBlock.class, block_reiium.getUnlocalizedName()); @@ -2449,6 +2468,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_actinium, block_actinium.getUnlocalizedName()); GameRegistry.registerBlock(block_tritium, block_tritium.getUnlocalizedName()); GameRegistry.registerBlock(block_semtex, block_semtex.getUnlocalizedName()); + GameRegistry.registerBlock(block_c4, block_c4.getUnlocalizedName()); GameRegistry.registerBlock(block_smore, block_smore.getUnlocalizedName()); //Bottlecap Blocks @@ -2470,6 +2490,7 @@ public class ModBlocks { GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName()); GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName()); GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName()); @@ -2696,6 +2717,8 @@ public class ModBlocks { //Wall-mounted Explosives GameRegistry.registerBlock(charge_dynamite, ItemBlockBase.class, charge_dynamite.getUnlocalizedName()); GameRegistry.registerBlock(charge_miner, ItemBlockBase.class, charge_miner.getUnlocalizedName()); + GameRegistry.registerBlock(charge_c4, ItemBlockBase.class, charge_c4.getUnlocalizedName()); + GameRegistry.registerBlock(charge_semtex, ItemBlockBase.class, charge_semtex.getUnlocalizedName()); //Mines GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName()); @@ -2897,6 +2920,7 @@ public class ModBlocks { GameRegistry.registerBlock(red_pylon_large, ItemBlockBase.class, red_pylon_large.getUnlocalizedName()); GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName()); GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName()); + GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName()); GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName()); GameRegistry.registerBlock(rf_cable, rf_cable.getUnlocalizedName()); GameRegistry.registerBlock(oil_duct, oil_duct.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java new file mode 100644 index 000000000..300093604 --- /dev/null +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java @@ -0,0 +1,34 @@ +package com.hbm.blocks.bomb; + +import com.hbm.explosion.ExplosionLarge; +import com.hbm.explosion.ExplosionNT; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.world.World; + +public class BlockChargeC4 extends BlockChargeBase { + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + + if(!world.isRemote) { + safe = true; + world.setBlockToAir(x, y, z); + safe = false; + ExplosionNT exp = new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 4F); + exp.explode(); + ExplosionLarge.spawnParticles(world, x + 0.5, y + 0.5, z + 0.5, 20); + + return BombReturnCode.DETONATED; + } + + return BombReturnCode.UNDEFINED; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } +} diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java new file mode 100644 index 000000000..163b93578 --- /dev/null +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.bomb; + +import com.hbm.explosion.ExplosionLarge; +import com.hbm.explosion.ExplosionNT; + +import net.minecraft.world.World; + +public class BlockChargeSemtex extends BlockChargeBase { + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + + if(!world.isRemote) { + safe = true; + world.setBlockToAir(x, y, z); + safe = false; + ExplosionNT exp = new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 4F); + exp.explode(); + ExplosionLarge.spawnParticles(world, x + 0.5, y + 0.5, z + 0.5, 20); + + return BombReturnCode.DETONATED; + } + + return BombReturnCode.UNDEFINED; + } + + @Override + public int getRenderType() { + return BlockChargeDynamite.renderID; + } +} diff --git a/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java b/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java index ee5dd37d0..d0c13b073 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java @@ -3,7 +3,6 @@ package com.hbm.blocks.bomb; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; import com.hbm.interfaces.IBomb; -import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -29,8 +28,8 @@ public class BlockSemtex extends Block implements IBomb { @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(RefStrings.MODID + ":block_semtex"); - this.topIcon = p_149651_1_.registerIcon(RefStrings.MODID + ":block_semtex_front"); + this.blockIcon = p_149651_1_.registerIcon(this.getTextureName()); + this.topIcon = p_149651_1_.registerIcon(this.getTextureName() + "_front"); } @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java index 4bd824e32..c90df63ce 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java @@ -7,7 +7,6 @@ import com.hbm.entity.item.EntityTNTPrimedBase; import com.hbm.util.ChatBuilder; import api.hbm.block.IToolable; -import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/blocks/generic/BlockEmitter.java b/src/main/java/com/hbm/blocks/generic/BlockEmitter.java new file mode 100644 index 000000000..4d6b10199 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockEmitter.java @@ -0,0 +1,243 @@ +package com.hbm.blocks.generic; + +import java.awt.Color; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.NBTPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.INBTPacketReceiver; + +import api.hbm.block.IToolable; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemDye; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockEmitter extends BlockContainer implements IToolable, ITooltipProvider { + + public BlockEmitter() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityEmitter(); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + + int l = BlockPistonBase.determineOrientation(world, x, y, z, player); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { + + if(world.isRemote) + return true; + + TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z); + + if(player.getHeldItem() != null) { + + if(player.getHeldItem().getItem() instanceof ItemDye) { + te.color = ItemDye.field_150922_c[player.getHeldItem().getItemDamage()]; + te.markDirty(); + world.markBlockForUpdate(x, y, z); + player.getHeldItem().stackSize--; + return true; + } + } + + return false; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z); + + if(tool == ToolType.SCREWDRIVER) { + te.girth += 0.125F; + te.markDirty(); + return true; + } + + if(tool == ToolType.DEFUSER) { + te.girth -= 0.125F; + if(te.girth < 0.125F) te.girth = 0.125F; + te.markDirty(); + return true; + } + + if(tool == ToolType.HAND_DRILL) { + te.effect = (te.effect + 1) % te.effectCount; + te.markDirty(); + return true; + } + + return false; + } + + public static class TileEntityEmitter extends TileEntity implements INBTPacketReceiver { + + public static final int range = 100; + public int color; + public int beam; + public float girth = 0.5F; + public int effect = 0; + public static final int effectCount = 5; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(int i = 1; i <= range; i++) { + + beam = i; + + int x = xCoord + dir.offsetX * i; + int y = yCoord + dir.offsetY * i; + int z = zCoord + dir.offsetZ * i; + + Block b = worldObj.getBlock(x, y, z); + if(b.isBlockSolid(worldObj, x, y, z, dir.ordinal())) { + break; + } + } + } + + if(effect == 4 && beam > 0) { + + if(worldObj.getTotalWorldTime() % 5 == 0) { + double x = (int) (xCoord + dir.offsetX * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; + double y = (int) (yCoord + dir.offsetY * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; + double z = (int) (zCoord + dir.offsetZ * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; + + int prevColor = color; + if(color == 0) { + color = Color.HSBtoRGB(worldObj.getTotalWorldTime() / 50.0F, 0.5F, 0.25F) & 16777215; + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", ((float)((color & 0xff0000) >> 16)) / 256F); + data.setFloat("g", ((float)((color & 0x00ff00) >> 8)) / 256F); + data.setFloat("b", ((float)((color & 0x0000ff))) / 256F); + data.setFloat("scale", girth * 5); + + if(this.getBlockMetadata() == 2) { + data.setFloat("pitch", 90); + } + if(this.getBlockMetadata() == 3) { + data.setFloat("pitch", -90); + } + if(this.getBlockMetadata() == 4) { + data.setFloat("pitch", 90); + data.setFloat("yaw", 90); + } + if(this.getBlockMetadata() == 5) { + data.setFloat("pitch", -90); + data.setFloat("yaw", 90); + } + + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), + new TargetPoint(worldObj.provider.dimensionId, x, y, z, 100)); + + color = prevColor; + } + } + + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("beam", this.beam); + data.setInteger("color", this.color); + data.setFloat("girth", this.girth); + data.setInteger("effect", this.effect); + PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + } + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.color = nbt.getInteger("color"); + this.girth = nbt.getFloat("girth"); + this.effect = nbt.getInteger("effect"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("color", this.color); + nbt.setFloat("girth", this.girth); + nbt.setInteger("effect", this.effect); + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.beam = nbt.getInteger("beam"); + this.color = nbt.getInteger("color"); + this.girth = nbt.getFloat("girth"); + this.effect = nbt.getInteger("effect"); + } + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.GOLD + "Use screwdriver to widen beam"); + list.add(EnumChatFormatting.GOLD + "Use defuser to narrow beam"); + list.add(EnumChatFormatting.GOLD + "Use hand drill to cycle special effects"); + list.add(EnumChatFormatting.GOLD + "Use dye to change color"); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java b/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java index 4d0a0e433..3d8427781 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java @@ -1,12 +1,19 @@ package com.hbm.blocks.generic; +import java.util.List; + +import com.hbm.blocks.IStepTickReceiver; +import com.hbm.blocks.ITooltipProvider; + +import codechicken.lib.math.MathHelper; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class BlockSpeedy extends Block { +public class BlockSpeedy extends Block implements IStepTickReceiver, ITooltipProvider { double speed; @@ -16,12 +23,19 @@ public class BlockSpeedy extends Block { } @Override - public void onEntityWalking(World world, int x, int y, int z, Entity entity) { - - if(entity instanceof EntityLivingBase) { //prevents vehicles from going mach 5 - double tan = Math.atan2(entity.motionX, entity.motionZ); - entity.motionX += Math.sin(tan) * speed; - entity.motionZ += Math.cos(tan) * speed; + public void onPlayerStep(World world, int x, int y, int z, EntityPlayer player) { + + if(!world.isRemote) + return; + + if(player.moveForward != 0 || player.moveStrafing != 0) { + player.motionX *= speed; + player.motionZ *= speed; } } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.BLUE + "Increases speed by " + (MathHelper.floor_double((speed - 1) * 100)) + "%"); + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java b/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java index 30d59b14a..b0ebce2f4 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java @@ -1,6 +1,5 @@ package com.hbm.blocks.machine; -import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityHadronDiode; import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig; diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java b/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java deleted file mode 100644 index f00824817..000000000 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.blocks.machine; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; - -public class DummyBlockChemplant extends Block { - - public DummyBlockChemplant(Material p_i45394_1_) { - super(p_i45394_1_); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineChemplant.java b/src/main/java/com/hbm/blocks/machine/MachineChemplant.java index bfcc47949..bd7d2fcd2 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChemplant.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChemplant.java @@ -3,7 +3,7 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.tileentity.TileEntityProxyCombo; -import com.hbm.tileentity.machine.TileEntityMachineChemplantNew; +import com.hbm.tileentity.machine.TileEntityMachineChemplant; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -19,7 +19,7 @@ public class MachineChemplant extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { - if(meta >= 12) return new TileEntityMachineChemplantNew(); + if(meta >= 12) return new TileEntityMachineChemplant(); if(meta >= 6) return new TileEntityProxyCombo(false, true, true); return null; } diff --git a/src/main/java/com/hbm/blocks/network/CableDetector.java b/src/main/java/com/hbm/blocks/network/CableDetector.java new file mode 100644 index 000000000..7776212ac --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/CableDetector.java @@ -0,0 +1,68 @@ +package com.hbm.blocks.network; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityCableSwitch; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class CableDetector extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconOn; + + public CableDetector(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":cable_detector_on"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":cable_detector_off"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 1 ? iconOn : blockIcon; + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityCableSwitch(); + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + + boolean on = world.isBlockIndirectlyGettingPowered(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + + boolean update = false; + + if(on && meta == 0) { + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 1.0F); + update = true; + } + + if(!on && meta == 1) { + world.setBlockMetadataWithNotify(x, y, z, 0, 2); + world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); + update = true; + } + + if(update) { + TileEntityCableSwitch te = (TileEntityCableSwitch) world.getTileEntity(x, y, z); + te.updateState(); + } + } +} diff --git a/src/main/java/com/hbm/blocks/network/CableSwitch.java b/src/main/java/com/hbm/blocks/network/CableSwitch.java index 538079e9a..b419ec28a 100644 --- a/src/main/java/com/hbm/blocks/network/CableSwitch.java +++ b/src/main/java/com/hbm/blocks/network/CableSwitch.java @@ -1,7 +1,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.network.TileEntityCableBaseNT; import com.hbm.tileentity.network.TileEntityCableSwitch; import cpw.mods.fml.relauncher.Side; @@ -65,5 +64,4 @@ public class CableSwitch extends BlockContainer { return false; } } - } diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 33b1c94e4..358de71d4 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumLegendaryType; import com.hbm.main.CraftingManager; import net.minecraft.init.Blocks; @@ -92,6 +93,10 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_plate, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_plate_jetpack, 'C', ModItems.singularity_spark }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_legs, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_legs, 'C', ModItems.coin_worm }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_boots, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_boots, 'C', ModItems.demon_core_closed }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_helmet, 1), new Object[] { "KPK", "PLP", " F ", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'F', ModItems.gas_mask_filter_combo }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_plate, 1), new Object[] { "P P", "MLM", "PKP", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'M', ModItems.motor_desh }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_legs, 1), new Object[] { "MPM", "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'M', ModItems.motor_desh }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_boots, 1), new Object[] { "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr }); //Euphemium armor CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium }); diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index d29e87d7b..a54d6de33 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -1,20 +1,17 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.main.CraftingManager; import static com.hbm.inventory.OreDictManager.*; -import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; /** * For foods, drinks or other consumables @@ -66,7 +63,7 @@ public class ConsumableRecipes { //Cans CraftingManager.addRecipeAuto(new ItemStack(ModItems.can_empty, 1), new Object[] { "P", "P", 'P', AL.plate() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_smart, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, KNO.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_creature, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, ModItems.canister_fuel }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_creature, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, Fluids.DIESEL.getDict(1000) }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_redbomb, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, ModItems.pellet_cluster }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_mrsugar, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, F.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_overcharge, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, S.dust() }); @@ -115,7 +112,7 @@ public class ConsumableRecipes { //Medicine CraftingManager.addRecipeAuto(new ItemStack(ModItems.pill_iodine, 8), new Object[] { "IF", 'I', I.dust(), 'F', F.dust() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.plan_c, 1), new Object[] { "PFP", 'P', ModItems.powder_poison, 'F', F.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.radx, 1), new Object[] { COAL.dust(), F.dust(), F.dust() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.radx, 1), new Object[] { COAL.dust(), COAL.dust(), F.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), ModItems.nugget_bismuth }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.xanax, 1), new Object[] { COAL.dust(), KNO.dust(), BR.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() }); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 585bf1b6f..1b20fba59 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -34,7 +34,6 @@ public class MineralRecipes { add1To9Pair(ModBlocks.block_aluminium, ModItems.ingot_aluminium); add1To9Pair(ModBlocks.block_graphite, ModItems.ingot_graphite); add1To9Pair(ModBlocks.block_boron, ModItems.ingot_boron); - add1To9Pair(ModItems.powder_boron, ModItems.powder_boron_tiny); add1To9Pair(ModBlocks.block_schraranium, ModItems.ingot_schraranium); add1To9Pair(ModBlocks.block_lanthanium, ModItems.ingot_lanthanium); add1To9Pair(ModBlocks.block_ra226, ModItems.ingot_ra226); @@ -42,16 +41,20 @@ public class MineralRecipes { add1To9Pair(ModBlocks.block_schrabidate, ModItems.ingot_schrabidate); add1To9Pair(ModBlocks.block_coltan, ModItems.fragment_coltan); add1To9Pair(ModBlocks.block_smore, ModItems.ingot_smore); - add1To9Pair(ModItems.nuclear_waste_vitrified, ModItems.nuclear_waste_vitrified_tiny); - add1To9Pair(ModBlocks.block_waste_vitrified, ModItems.nuclear_waste_vitrified); add1To9Pair(ModBlocks.block_niobium, ModItems.ingot_niobium); add1To9Pair(ModBlocks.block_semtex, ModItems.ingot_semtex); + add1To9Pair(ModBlocks.block_c4, ModItems.ingot_c4); + add1To9Pair(ModBlocks.block_polymer, ModItems.ingot_polymer); + add1To9Pair(ModBlocks.block_bakelite, ModItems.ingot_bakelite); + add1To9Pair(ModBlocks.block_rubber, ModItems.ingot_rubber); addMineralSet(ModItems.nugget_bismuth, ModItems.ingot_bismuth, ModBlocks.block_bismuth); addMineralSet(ModItems.nugget_tantalium, ModItems.ingot_tantalium, ModBlocks.block_tantalium); addMineralSet(ModItems.nugget_zirconium, ModItems.ingot_zirconium, ModBlocks.block_zirconium); addMineralSet(ModItems.nugget_dineutronium, ModItems.ingot_dineutronium, ModBlocks.block_dineutronium); - + addMineralSet(ModItems.nuclear_waste_vitrified_tiny, ModItems.nuclear_waste_vitrified, ModBlocks.block_waste_vitrified); + + add1To9Pair(ModItems.powder_boron, ModItems.powder_boron_tiny); add1To9Pair(ModItems.powder_sr90, ModItems.powder_sr90_tiny); add1To9Pair(ModItems.powder_xe135, ModItems.powder_xe135_tiny); add1To9Pair(ModItems.powder_cs137, ModItems.powder_cs137_tiny); diff --git a/src/main/java/com/hbm/crafting/PowderRecipes.java b/src/main/java/com/hbm/crafting/PowderRecipes.java index d8863029d..2c554ef88 100644 --- a/src/main/java/com/hbm/crafting/PowderRecipes.java +++ b/src/main/java/com/hbm/crafting/PowderRecipes.java @@ -18,10 +18,15 @@ public class PowderRecipes { public static void register() { - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_power, 5), new Object[] { REDSTONE.dust(), "dustGlowstone", DIAMOND.dust(), NP237.dust(), MAGTUNG.dust() }); + //Explosives CraftingManager.addShapelessAuto(new ItemStack(ModItems.ballistite, 3), new Object[] { Items.gunpowder, KNO.dust(), Items.sugar }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_dynamite, 2), new Object[] { KNO.dust(), Items.sugar, Blocks.sand, KEY_TOOL_CHEMISTRYSET }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_tnt, 4), new Object[] { Fluids.AROMATICS.getDict(1000), KNO.dust(), KEY_TOOL_CHEMISTRYSET }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ingot_c4, 4), new Object[] { Fluids.UNSATURATEDS.getDict(1000), KNO.dust(), KEY_TOOL_CHEMISTRYSET }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_semtex_mix, 3), new Object[] { ModItems.solid_fuel, ModItems.cordite, KNO.dust() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_semtex_mix, 1), new Object[] { ModItems.solid_fuel, ModItems.ballistite, KNO.dust() }); + + //Other CraftingManager.addShapelessAuto(new ItemStack(ModItems.ingot_steel_dusted, 1), new Object[] { STEEL.ingot(), COAL.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_bakelite, 2), new Object[] { Fluids.AROMATICS.getDict(1000), Fluids.PETROLEUM.getDict(1000), KEY_TOOL_CHEMISTRYSET }); @@ -32,13 +37,12 @@ public class PowderRecipes { CraftingManager.addShapelessAuto(new ItemStack(Items.gunpowder, 3), new Object[] { S.dust(), KNO.dust(), new ItemStack(Items.coal, 1, 1) }); //Blends + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_power, 5), new Object[] { REDSTONE.dust(), "dustGlowstone", DIAMOND.dust(), NP237.dust(), MAGTUNG.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), CS.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { ST.dust(), CO.dust(), BR.dust(), TS.dust(), NB.dust(), CE.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_spark_mix, 5), new Object[] { DESH.dust(), EUPH.dust(), ModItems.powder_meteorite, ModItems.powder_power, ModItems.powder_nitan_mix }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_meteorite, 5), new Object[] { IRON.dust(), CU.dust(), LI.dust(), W.dust(), U.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_thermite, 4), new Object[] { IRON.dust(), IRON.dust(), IRON.dust(), AL.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_semtex_mix, 3), new Object[] { ModItems.solid_fuel, ModItems.cordite, KNO.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_semtex_mix, 1), new Object[] { ModItems.solid_fuel, ModItems.ballistite, KNO.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_mix, 1), new Object[] { B.dustTiny(), B.dustTiny(), LA.dustTiny(), LA.dustTiny(), CE.dustTiny(), CO.dustTiny(), LI.dustTiny(), ND.dustTiny(), NB.dustTiny() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_mix, 9), new Object[] { B.dust(), B.dust(), LA.dust(), LA.dust(), CE.dust(), CO.dust(), LI.dust(), ND.dust(), NB.dust() }); diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 43ff59f86..b37cb4b44 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -2,6 +2,8 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; +import com.hbm.inventory.fluid.Fluids; + import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; @@ -84,9 +86,13 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.mese_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_desh, 'D', ModItems.powder_dineutronium, 'A', ModItems.plate_paa, 'P', ModItems.chlorophyte_pickaxe, 'F', ModItems.shimmer_handle }); //Chainsaws - CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_fuel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_petroil }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_biofuel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.DIESEL.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.DIESEL_CRACK.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.PETROIL.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.PETROIL_LEADED.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.GASOLINE.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.GASOLINE_LEADED.getDict(1000) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', Fluids.BIOFUEL.getDict(1000) }); //Misc CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_stopper, 1), new Object[] { "I", "S", "S", 'I', EUPH.ingot(), 'S', KEY_STICK }); diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 6ee50f3be..c0cf2b675 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -107,7 +107,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_osipr, 1), new Object[] { "CCT", "WWI", "MCC", 'C', CMB.plate(), 'T', W.ingot(), 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.mechanism_rifle_2, 'M', ModItems.coil_magnetized_tungsten }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator, 1), new Object[] { "WCC", "PMT", "WAA", 'W', ModItems.wire_gold, 'C', CU.plate(), 'P', ALLOY.plate(), 'M', ModItems.mechanism_launcher_1, 'T', ModItems.tank_steel, 'A', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', STEEL.plate(), 'C', COAL.dust(), 'P', P_RED.dust() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.canister_fuel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', Fluids.DIESEL.getDict(1000) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 24), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.canister_napalm }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer, 1), new Object[] { "WPP", "SCT", "WMI", 'W', ModItems.wire_gold, 'P', ModItems.pipes_steel, 'S', ModItems.hull_small_steel, 'C', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'M', ModItems.mechanism_launcher_1, 'I', STEEL.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator, 1), new Object[] { "SSS", "IWL", "LMI", 'S', STEEL.plate(), 'I', IRON.plate(), 'L', Items.leather, 'M', ModItems.mechanism_launcher_1, 'W', ModItems.wire_aluminium }); @@ -240,9 +240,13 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_toxic, 1), new Object[] { "G", "R", 'G', ModItems.pellet_gas, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_canister, 1), new Object[] { "G", "R", 'G', ModItems.pellet_canister, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_nuclear, 1), new Object[] { " P ", "NRN", " P ", 'P', PU239.nugget(), 'N', OreDictManager.getReflector(), 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', ModItems.canister_fuel, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', ModItems.canister_petroil, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', ModItems.canister_biofuel, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.DIESEL.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.DIESEL_CRACK.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.PETROIL.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.PETROIL_LEADED.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.GASOLINE.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.GASOLINE_LEADED.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.BIOFUEL.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); //Stinger Rockets CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_he, 1), new Object[] { "S", "R", 'S', ModItems.ingot_semtex, 'R', ModItems.ammo_stinger_rocket }); @@ -306,7 +310,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_mirv_special, 1), new Object[] { "CBC", "MCM", "CBC", 'C', ModItems.canned_jizz, 'B', ModItems.gun_bf_ammo, 'M', ModItems.ammo_mirv }); //Flamer fuel - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fuel, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', ModItems.canister_fuel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fuel, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', Fluids.DIESEL.getDict(1000) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fuel_napalm, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', ModItems.canister_napalm }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fuel_phosphorus, 1), new Object[] { "CPC", "CDC", "CPC", 'C', COAL.dust(), 'P', P_WHITE.ingot(), 'D', ModItems.ammo_fuel }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fuel_gas, 1), new Object[] { "PDP", "BDB", "PDP", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', ModItems.pellet_gas }); @@ -335,10 +339,13 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_gas, 2), new Object[] { " G ", "CGC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.pellet_gas }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_aschrab, 1), new Object[] {"RS ", "ITI", " S ", 'I', KEY_CLEARGLASS, 'R', ModItems.wire_red_copper, 'S', STEEL.plate(), 'T', ModItems.cell_anti_schrabidium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_fuel, Items.flint }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_biofuel, Items.flint }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_petroil, Items.flint }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_kerosene, Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.DIESEL.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.DIESEL_CRACK.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.PETROIL.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.PETROIL_LEADED.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.GASOLINE.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.GASOLINE_LEADED.getDict(1000), Items.flint }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.BIOFUEL.getDict(1000), Items.flint }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_moist_nugget, 12), new Object[] { Items.bread, Items.wheat, Items.cooked_chicken, Items.egg }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_smart, 4), new Object[] { " A ", "ACA", " A ", 'A', ModItems.grenade_strong, 'C', ModItems.circuit_aluminium }); @@ -349,8 +356,16 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout }); //CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', ALLOY.plate(), 'A', Blocks.anvil }); + + //Sticks of explosives CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_tnt, 4), new Object[] { "PDP", "PDP", 'P', Items.paper, 'D', ModItems.ball_tnt }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_tnt, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ball_tnt }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_semtex, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ingot_semtex }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_c4, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ingot_c4 }); + + //Blocks of explosives + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.dynamite, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_dynamite, 'S', ModItems.safety_fuse }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', ModItems.safety_fuse }); //IF Grenades @@ -387,7 +402,6 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_dirty, 1), new Object[] { " C ", "WLW", "WLW", 'C', CU.plate(), 'L', PB.plate(), 'W', ModItems.nuclear_waste }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_schrab, 1), new Object[] { " C ", "LUL", "LUL", 'C', CU.plate(), 'L', PB.plate(), 'U', SA326.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.demon_core_open, 1), new Object[] { "PRP", " CS", "PRP", 'P', TI.plate(), 'R', OreDictManager.getReflector(), 'C', ModItems.man_core, 'S', ModItems.screwdriver }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.lamp_demon, 1), new Object[] { " D ", "S S", 'D', ModItems.demon_core_closed, 'S', STEEL.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.crucible, 1, 3), new Object[] { "MEM", "YDY", "YCY", 'M', ModItems.ingot_meteorite_forged, 'E', EUPH.ingot(), 'Y', ModItems.billet_yharonite, 'D', ModItems.demon_core_closed, 'C', ModItems.ingot_chainsteel }); diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 28cb14bb6..539594390 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -52,11 +52,12 @@ public class BobmazonOfferFactory { materials.add(new Offer(new ItemStack(ModItems.lithium), Requirement.CHEMICS, 6 * inflation)); materials.add(new Offer(new ItemStack(ModItems.solid_fuel), Requirement.OIL, 4 * inflation)); materials.add(new Offer(new ItemStack(ModItems.lignite), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_oil), Requirement.OIL, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_fuel), Requirement.OIL, 16 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_petroil), Requirement.OIL, 12 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_kerosene), Requirement.OIL, 20 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_NITAN), Requirement.OIL, 100 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()), Requirement.OIL, 4 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), Requirement.OIL, 16 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.PETROIL.getID()), Requirement.OIL, 12 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.GASOLINE.getID()), Requirement.OIL, 20 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.KEROSENE.getID()), Requirement.OIL, 20 * inflation)); + materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.NITAN.getID()), Requirement.OIL, 100 * inflation)); materials.add(new Offer(new ItemStack(ModItems.gas_petroleum), Requirement.OIL, 8 * inflation)); materials.add(new Offer(new ItemStack(ModItems.motor), Requirement.ASSEMBLY, 12 * inflation)); materials.add(new Offer(new ItemStack(ModItems.rtg_unit), Requirement.NUCLEAR, 25 * inflation)); diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 15fea4c33..6a17678b6 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -327,8 +327,8 @@ public class GUIHandler implements IGuiHandler { } case ModBlocks.guiID_machine_chemplant: { - if(entity instanceof TileEntityMachineChemplantNew) { - return new ContainerMachineChemplant(player.inventory, (TileEntityMachineChemplantNew) entity); + if(entity instanceof TileEntityMachineChemplant) { + return new ContainerMachineChemplant(player.inventory, (TileEntityMachineChemplant) entity); } return null; } @@ -1167,8 +1167,8 @@ public class GUIHandler implements IGuiHandler { } case ModBlocks.guiID_machine_chemplant: { - if(entity instanceof TileEntityMachineChemplantNew) { - return new GUIMachineChemplant(player.inventory, (TileEntityMachineChemplantNew) entity); + if(entity instanceof TileEntityMachineChemplant) { + return new GUIMachineChemplant(player.inventory, (TileEntityMachineChemplant) entity); } return null; } diff --git a/src/main/java/com/hbm/handler/HazmatRegistry.java b/src/main/java/com/hbm/handler/HazmatRegistry.java index ecd466adb..2e2b13764 100644 --- a/src/main/java/com/hbm/handler/HazmatRegistry.java +++ b/src/main/java/com/hbm/handler/HazmatRegistry.java @@ -43,6 +43,7 @@ public class HazmatRegistry { double ajr = 1.3D; // 95% double bj = 1D; // 90% double hev = 1.3D; // 95% + double rpa = 2D; // 99% double fau = 4D; // 99.99% double dns = 5D; // 99.999% double security = 0.825D; // 85% @@ -114,6 +115,11 @@ public class HazmatRegistry { HazmatRegistry.registerHazmat(ModItems.hev_legs, hev * legs); HazmatRegistry.registerHazmat(ModItems.hev_boots, hev * boots); + HazmatRegistry.registerHazmat(ModItems.rpa_helmet, rpa * helmet); + HazmatRegistry.registerHazmat(ModItems.rpa_plate, rpa * chest); + HazmatRegistry.registerHazmat(ModItems.rpa_legs, rpa * legs); + HazmatRegistry.registerHazmat(ModItems.rpa_boots, rpa * boots); + HazmatRegistry.registerHazmat(ModItems.fau_helmet, fau * helmet); HazmatRegistry.registerHazmat(ModItems.fau_plate, fau * chest); HazmatRegistry.registerHazmat(ModItems.fau_legs, fau * legs); diff --git a/src/main/java/com/hbm/handler/ToolAbility.java b/src/main/java/com/hbm/handler/ToolAbility.java index 92b2dc96e..a28b7dd0c 100644 --- a/src/main/java/com/hbm/handler/ToolAbility.java +++ b/src/main/java/com/hbm/handler/ToolAbility.java @@ -280,17 +280,23 @@ public abstract class ToolAbility { @Override public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - //a band-aid on a gaping wound - if(block == Blocks.lit_redstone_ore) - block = Blocks.redstone_ore; + List drops = block.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0); - ItemStack stack = new ItemStack(block, 1, meta); - ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); - - if(result != null) { - world.setBlockToAir(x, y, z); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy())); + for(int i = 0; i < drops.size(); i++) { + ItemStack stack = drops.get(i).copy(); + ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); + + if(result != null) { + result = result.copy(); + result.stackSize *= stack.stackSize; + drops.set(i, result); + } } + + world.setBlockToAir(x, y, z); + + for(ItemStack stack : drops) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, stack.copy())); } @Override diff --git a/src/main/java/com/hbm/handler/nei/CrackingHandler.java b/src/main/java/com/hbm/handler/nei/CrackingHandler.java new file mode 100644 index 000000000..b0ef1c4eb --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/CrackingHandler.java @@ -0,0 +1,11 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.RefineryRecipes; + +public class CrackingHandler extends NEIUniversalHandler { + + public CrackingHandler() { + super("ntmCracking", "Cracking", ModBlocks.machine_catalytic_cracker, RefineryRecipes.getCrackingRecipesForNEI()); + } +} diff --git a/src/main/java/com/hbm/handler/nei/FractioningHandler.java b/src/main/java/com/hbm/handler/nei/FractioningHandler.java new file mode 100644 index 000000000..282e99ec0 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/FractioningHandler.java @@ -0,0 +1,11 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.RefineryRecipes; + +public class FractioningHandler extends NEIUniversalHandler { + + public FractioningHandler() { + super("ntmFractioning", "Fractioning", ModBlocks.machine_fraction_tower, RefineryRecipes.getFractionRecipesForNEI()); + } +} diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index 3dab3b0e4..7cba240f0 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -50,7 +50,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { input = new PositionedStack[in.length]; for(int i = 0; i < in.length; i++) { ItemStack[] sub = in[i]; - this.input[i] = new PositionedStack(sub, 48 + i * 18, 24); + this.input[i] = new PositionedStack(sub, 48 + i * -18, 24); } output = new PositionedStack[out.length]; for(int i = 0; i < out.length; i++) { @@ -95,8 +95,14 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { @Override public void drawBackground(int recipe) { super.drawBackground(recipe); - drawTexturedModalRect(47, 23, 5, 87, 18, 18); - drawTexturedModalRect(101, 23, 5, 87, 18, 18); + + RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); + + for(int i = 0; i < rec.input.length; i++) + drawTexturedModalRect(47 + i * -18, 23, 5, 87, 18, 18); + for(int i = 0; i < rec.output.length; i++) + drawTexturedModalRect(101 + i * 18, 23, 5, 87, 18, 18); + drawTexturedModalRect(74, 14, 59, 87, 18, 38); } diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 54b95a577..9f6a49d48 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -152,16 +152,24 @@ public class HazardRegistry { HazardSystem.register(Blocks.tnt, makeData(EXPLOSIVE, 4F)); HazardSystem.register(Items.pumpkin_pie, makeData(EXPLOSIVE, 1F)); - HazardSystem.register(ModItems.ball_dynamite, makeData(EXPLOSIVE, 2F)); - HazardSystem.register(ModItems.stick_dynamite, makeData(EXPLOSIVE, 1F)); + HazardSystem.register(ball_dynamite, makeData(EXPLOSIVE, 2F)); + HazardSystem.register(ball_tnt, makeData(EXPLOSIVE, 3F)); + HazardSystem.register(ingot_semtex, makeData(EXPLOSIVE, 5F)); + HazardSystem.register(ingot_c4, makeData(EXPLOSIVE, 5F)); + HazardSystem.register(stick_dynamite, makeData(EXPLOSIVE, 1F)); + HazardSystem.register(stick_tnt, makeData(EXPLOSIVE, 1.5F)); + HazardSystem.register(stick_semtex, makeData(EXPLOSIVE, 2.5F)); + HazardSystem.register(stick_c4, makeData(EXPLOSIVE, 2.5F)); + HazardSystem.register(dynamite, makeData(EXPLOSIVE, 6F)); + HazardSystem.register(tnt, makeData(EXPLOSIVE, 8F)); HazardSystem.register("dustCoal", makeData(COAL, powder)); HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny)); HazardSystem.register("dustLignite", makeData(COAL, powder)); HazardSystem.register("dustTinyLignite", makeData(COAL, powder_tiny)); - - HazardSystem.register(ingot_semtex, makeData(EXPLOSIVE, 10F)); - HazardSystem.register(block_semtex, makeData(EXPLOSIVE, 40F)); + + HazardSystem.register(block_semtex, makeData(EXPLOSIVE, 25F)); + HazardSystem.register(block_c4, makeData(EXPLOSIVE, 25F)); HazardSystem.register(cordite, makeData(EXPLOSIVE, 2F)); HazardSystem.register(ballistite, makeData(EXPLOSIVE, 1F)); @@ -443,7 +451,8 @@ public class HazardRegistry { HazardSystem.register(solinium_core, makeData().addEntry(RADIATION, sa327 * nugget * 8).addEntry(BLINDING, 5F)); HazardSystem.register(nuke_fstbmb, makeData(DIGAMMA, 0.01F)); - HazardSystem.register(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), makeData(DIGAMMA, 1F)); + HazardSystem.register(DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), makeData(DIGAMMA, 1F)); + HazardSystem.register(holotape_damaged, makeData(DIGAMMA, 1_000F)); /* * Blacklist diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index e88ed6eb9..a78097093 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.FluidType.ExtContainer; import com.hbm.items.ModItems; import net.minecraft.init.Items; @@ -23,23 +24,6 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket), Fluids.WATZ, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket), Fluids.SCHRABIDIC, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_oil), new ItemStack(ModItems.canister_empty), Fluids.OIL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_smear), new ItemStack(ModItems.canister_empty), Fluids.SMEAR, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heavyoil), new ItemStack(ModItems.canister_empty), Fluids.HEAVYOIL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_bitumen), new ItemStack(ModItems.canister_empty), Fluids.BITUMEN, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heatingoil), new ItemStack(ModItems.canister_empty), Fluids.HEATINGOIL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_reoil), new ItemStack(ModItems.canister_empty), Fluids.RECLAIMED, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_petroil), new ItemStack(ModItems.canister_empty), Fluids.PETROIL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_canola), new ItemStack(ModItems.canister_empty), Fluids.LUBRICANT, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_naphtha), new ItemStack(ModItems.canister_empty), Fluids.NAPHTHA, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_fuel), new ItemStack(ModItems.canister_empty), Fluids.DIESEL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_lightoil), new ItemStack(ModItems.canister_empty), Fluids.LIGHTOIL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_kerosene), new ItemStack(ModItems.canister_empty), Fluids.KEROSENE, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_biofuel), new ItemStack(ModItems.canister_empty), Fluids.BIOFUEL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_ethanol), new ItemStack(ModItems.canister_empty), Fluids.ETHANOL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_gasoline), new ItemStack(ModItems.canister_empty), Fluids.GASOLINE, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_fracksol), new ItemStack(ModItems.canister_empty), Fluids.FRACKSOL, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_NITAN), new ItemStack(ModItems.canister_empty), Fluids.NITAN, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full), new ItemStack(ModItems.gas_empty), Fluids.GAS, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_petroleum), new ItemStack(ModItems.gas_empty), Fluids.PETROLEUM, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_lpg), new ItemStack(ModItems.gas_empty), Fluids.LPG, 1000)); @@ -84,6 +68,9 @@ public class FluidContainerRegistry { FluidType type = fluids[i]; + if(type.containers.contains(ExtContainer.CANISTER)) + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_full, 1, i), new ItemStack(ModItems.canister_empty), Fluids.fromID(i), 1000)); + if(type.hasNoContainer()) continue; diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index e86525244..e7378d2cf 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -1,7 +1,6 @@ package com.hbm.inventory; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -164,6 +163,7 @@ public class OreDictManager { public static final DictFrame DURA = new DictFrame("DuraSteel"); public static final DictFrame POLYMER = new DictFrame("Polymer"); public static final DictFrame BAKELITE = new DictFrame("Bakelite"); + public static final DictFrame RUBBER = new DictFrame("Rubber"); public static final DictFrame MAGTUNG = new DictFrame("MagnetizedTungsten"); public static final DictFrame CMB = new DictFrame("CMBSteel"); public static final DictFrame DESH = new DictFrame("WorkersAlloy"); @@ -233,7 +233,7 @@ public class OreDictManager { /* * COLLECTIONS */ - public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's jsut the secondary prefix, and that shape prefixes are applicable + public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's just the secondary prefix, and that shape prefixes are applicable public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); public static final DictFrame ANY_SMOKELESS = new DictFrame("AnySmokeless"); public static final DictFrame ANY_PLASTICEXPLOSIVE = new DictFrame("AnyPlasticexplosive"); @@ -307,8 +307,9 @@ public class OreDictManager { B .nugget(fragment_boron) .ingot(ingot_boron) .dustSmall(powder_boron_tiny) .dust(powder_boron) .block(block_boron); GRAPHITE .ingot(ingot_graphite) .block(block_graphite); DURA .ingot(ingot_dura_steel) .dust(powder_dura_steel) .block(block_dura_steel); - POLYMER .ingot(ingot_polymer) .dust(powder_polymer); - BAKELITE .ingot(ingot_bakelite) .dust(powder_bakelite); + POLYMER .ingot(ingot_polymer) .dust(powder_polymer) .block(block_polymer); + BAKELITE .ingot(ingot_bakelite) .dust(powder_bakelite) .block(block_bakelite); + RUBBER .ingot(ingot_rubber) .block(block_rubber); MAGTUNG .ingot(ingot_magnetized_tungsten) .dust(powder_magnetized_tungsten) .block(block_magnetized_tungsten); CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel); DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh); @@ -387,7 +388,7 @@ public class OreDictManager { */ ANY_GUNPOWDER .dust(Items.gunpowder, ballistite, cordite); ANY_SMOKELESS .dust(ballistite, cordite); - ANY_PLASTICEXPLOSIVE .ingot(ingot_semtex); + ANY_PLASTICEXPLOSIVE .ingot(ingot_semtex, ingot_c4); ANY_HIGHEXPLOSIVE .ingot(ball_tnt); ANY_CONCRETE .any(concrete, concrete_smooth, concrete_colored, concrete_asbestos, ducrete, ducrete_smooth); ANY_COKE .gem(fromAll(coke, EnumCokeType.class)); @@ -421,22 +422,22 @@ public class OreDictManager { OreDictionary.registerOre("stairWoodPink", pink_stairs); OreDictionary.registerOre("dyeRed", cinnebar); - //OreDictionary.registerOre("dye", cinnebar); + OreDictionary.registerOre("dye", cinnebar); OreDictionary.registerOre("dyeYellow", sulfur); - //OreDictionary.registerOre("dye", sulfur); + OreDictionary.registerOre("dye", sulfur); OreDictionary.registerOre("dyeBlack", powder_coal); - //OreDictionary.registerOre("dye", powder_coal); + OreDictionary.registerOre("dye", powder_coal); OreDictionary.registerOre("dyeBrown", powder_lignite); - //OreDictionary.registerOre("dye", powder_lignite); + OreDictionary.registerOre("dye", powder_lignite); OreDictionary.registerOre("dyeLightGray", powder_titanium); - //OreDictionary.registerOre("dye", powder_titanium); + OreDictionary.registerOre("dye", powder_titanium); OreDictionary.registerOre("dyeWhite", fluorite); - //OreDictionary.registerOre("dye", fluorite); + OreDictionary.registerOre("dye", fluorite); OreDictionary.registerOre("dyeBlue", powder_lapis); - //OreDictionary.registerOre("dye", powder_lapis); + OreDictionary.registerOre("dye", powder_lapis); OreDictionary.registerOre("dyeBlack", fromOne(oil_tar, EnumTarType.CRUDE)); OreDictionary.registerOre("dyeBlack", fromOne(oil_tar, EnumTarType.CRACK)); - //OreDictionary.registerOre("dye", oil_tar); + OreDictionary.registerOre("dye", oil_tar); OreDictionary.registerOre("blockGlass", glass_boron); OreDictionary.registerOre("blockGlass", glass_lead); @@ -455,7 +456,7 @@ public class OreDictManager { } public static void registerGroups() { - ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true); + ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true); ANY_TAR.addPrefix(ANY, false); } @@ -546,6 +547,9 @@ public class OreDictManager { public static ItemStack fromOne(Item item, Enum en) { return new ItemStack(item, 1, en.ordinal()); } + public static ItemStack fromOne(Item item, Enum en, int stacksize) { + return new ItemStack(item, stacksize, en.ordinal()); + } /** Same as fromOne but with an array of ItemStacks. The array type is Object[] so that the ODM methods work with it. Generates ItemStacks for the entire enum class. */ public static Object[] fromAll(Item item, Class en) { Enum[] vals = en.getEnumConstants(); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java b/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java index 7f6a0563f..2ccb2081a 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; -import com.hbm.tileentity.machine.TileEntityMachineChemplantNew; +import com.hbm.tileentity.machine.TileEntityMachineChemplant; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -11,9 +11,9 @@ import net.minecraft.item.ItemStack; public class ContainerMachineChemplant extends Container { - private TileEntityMachineChemplantNew nukeBoy; + private TileEntityMachineChemplant nukeBoy; - public ContainerMachineChemplant(InventoryPlayer invPlayer, TileEntityMachineChemplantNew tedf) { + public ContainerMachineChemplant(InventoryPlayer invPlayer, TileEntityMachineChemplant tedf) { nukeBoy = tedf; // Battery diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index d87321234..fe8f94440 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -2,10 +2,11 @@ package com.hbm.inventory.fluid; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; import com.hbm.inventory.FluidTank; -import com.hbm.inventory.fluid.FluidType.FluidTrait; import com.hbm.lib.RefStrings; import com.hbm.render.util.EnumSymbol; @@ -19,6 +20,7 @@ public class FluidType { private int id; //Approximate HEX Color of the fluid, used for pipe rendering private int color; + private int containerColor = 0xffffff; //Unlocalized string ID of the fluid private String unlocalized; @@ -27,6 +29,7 @@ public class FluidType { public int reactivity; public EnumSymbol symbol; public int temperature; + public Set containers = new HashSet(); public List traits = new ArrayList(); private String stringId; @@ -58,6 +61,12 @@ public class FluidType { return this; } + public FluidType addContainers(int color, ExtContainer... containers) { + this.containerColor = color; + Collections.addAll(this.containers, containers); + return this; + } + public FluidType addTraits(FluidTrait... traits) { Collections.addAll(this.traits, traits); return this; @@ -74,6 +83,10 @@ public class FluidType { public int getColor() { return this.color; } + + public int getContainerColor() { + return this.containerColor; + } public ResourceLocation getTexture() { return this.texture; } @@ -81,7 +94,7 @@ public class FluidType { return this.unlocalized; } public String getDict(int quantity) { - return "container" + quantity + this.stringId.replace("_", ""); + return "container" + quantity + this.stringId.replace("_", "").toLowerCase(); } public boolean isHot() { @@ -146,6 +159,10 @@ public class FluidType { NO_ID; } + public static enum ExtContainer { + CANISTER + } + //shitty wrapper delegates, go! //only used for compatibility purposes, these will be removed soon //don't use these, dumbfuck diff --git a/src/main/java/com/hbm/inventory/fluid/FluidTypeFlammable.java b/src/main/java/com/hbm/inventory/fluid/FluidTypeFlammable.java index fbd0aaf9a..3b928c809 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidTypeFlammable.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidTypeFlammable.java @@ -21,6 +21,10 @@ public class FluidTypeFlammable extends FluidType { this.energy = energy; return this; } + + public long getHeatEnergy() { + return this.energy; + } @Override public void addInfo(List info) { diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index aa2fee227..b95348530 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import com.hbm.inventory.fluid.FluidType.ExtContainer; import com.hbm.inventory.fluid.FluidType.FluidTrait; import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade; import com.hbm.render.util.EnumSymbol; @@ -30,7 +31,6 @@ public class Fluids { public static FluidType SMEAR; public static FluidType HEATINGOIL; public static FluidType RECLAIMED; - public static FluidType PETROIL; public static FluidType LUBRICANT; public static FluidType NAPHTHA; public static FluidType NAPHTHA_CRACK; @@ -64,8 +64,12 @@ public class Fluids { public static FluidType PAIN; //tantalite solution public static FluidType WASTEFLUID; public static FluidType WASTEGAS; - public static FluidType GASOLINE; //gasoline, leaded + public static FluidType PETROIL; + public static FluidType PETROIL_LEADED; + public static FluidType GASOLINE; + public static FluidType GASOLINE_LEADED; public static FluidType COALGAS; //coal-based gasoline + public static FluidType COALGAS_LEADED; public static FluidType SPENTSTEAM; public static FluidType FRACKSOL; public static FluidType PLASMA_DT; @@ -112,25 +116,25 @@ public class Fluids { LAVA = new FluidType( "LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200); DEUTERIUM = new FluidTypeCombustible( "DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE); TRITIUM = new FluidTypeCombustible( "TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION); - OIL = new FluidTypeFlammable( "OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE); + OIL = new FluidTypeFlammable( "OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(0x424242, ExtContainer.CANISTER); HOTOIL = new FluidTypeFlammable( "HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350); - HEAVYOIL = new FluidTypeFlammable( "HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE); - BITUMEN = new FluidType( "BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE); - SMEAR = new FluidTypeFlammable( "SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE); - HEATINGOIL = new FluidTypeCombustible( "HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE); - RECLAIMED = new FluidTypeCombustible( "RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE); - PETROIL = new FluidTypeCombustible( "PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 300_000); - LUBRICANT = new FluidType( "LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE); - NAPHTHA = new FluidTypeFlammable( "NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE); - DIESEL = new FluidTypeCombustible( "DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 500_000); - LIGHTOIL = new FluidTypeFlammable( "LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE); - KEROSENE = new FluidTypeCombustible( "KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.AERO, 1_250_000); + HEAVYOIL = new FluidTypeFlammable( "HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(0x513F39, ExtContainer.CANISTER); + BITUMEN = new FluidType( "BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(0x5A5877, ExtContainer.CANISTER); + SMEAR = new FluidTypeFlammable( "SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).setHeatEnergy(50_000).addContainers(0x624F3B, ExtContainer.CANISTER); + HEATINGOIL = new FluidTypeCombustible( "HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).setHeatEnergy(75_000).addContainers(0x694235, ExtContainer.CANISTER); //TODO: and so forth + RECLAIMED = new FluidTypeCombustible( "RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).setHeatEnergy(100_000).addContainers(0xF65723, ExtContainer.CANISTER); + PETROIL = new FluidTypeCombustible( "PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 300_000).setHeatEnergy(125_000).addContainers(0x2369F6, ExtContainer.CANISTER); + LUBRICANT = new FluidType( "LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(0xF1CC05, ExtContainer.CANISTER); + NAPHTHA = new FluidTypeFlammable( "NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(0x5F6D44, ExtContainer.CANISTER); + DIESEL = new FluidTypeCombustible( "DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 500_000).setHeatEnergy(200_000).addContainers(0xFF2C2C, ExtContainer.CANISTER); + LIGHTOIL = new FluidTypeFlammable( "LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(0xB46B52, ExtContainer.CANISTER); + KEROSENE = new FluidTypeCombustible( "KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.AERO, 1_250_000).setHeatEnergy(300_000).addContainers(0xFF377D, ExtContainer.CANISTER); GAS = new FluidTypeFlammable( "GAS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE); PETROLEUM = new FluidTypeFlammable( "PETROLEUM", 0x7cb7c9, 1, 4, 1, EnumSymbol.NONE); - LPG = new FluidTypeCombustible( "LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000); + LPG = new FluidTypeCombustible( "LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000); BIOGAS = new FluidTypeFlammable( "BIOGAS", 0xbfd37c, 1, 4, 1, EnumSymbol.NONE); - BIOFUEL = new FluidTypeCombustible( "BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 400_000); - NITAN = new FluidTypeCombustible( "NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 5_000_000); + BIOFUEL = new FluidTypeCombustible( "BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 400_000).setHeatEnergy(150_000).addContainers(0x9EB623, ExtContainer.CANISTER); + NITAN = new FluidTypeCombustible( "NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 5_000_000).setHeatEnergy(2_000_000).addContainers(0x6B238C, ExtContainer.CANISTER); UF6 = new FluidType( "UF6", 0xD1CEBE, 4, 0, 2, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE); PUF6 = new FluidType( "PUF6", 0x4C4C4C, 4, 0, 4, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE); SAS3 = new FluidType( "SAS3", 0x4ffffc, 5, 0, 4, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE); @@ -140,7 +144,7 @@ public class Fluids { ACID = new FluidType( "ACID", 0xfff7aa, 3, 0, 3, EnumSymbol.OXIDIZER).addTraits(FluidTrait.CORROSIVE); WATZ = new FluidType( "WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE_2); CRYOGEL = new FluidType( "CRYOGEL", 0x32ffff, 2, 0, 0, EnumSymbol.CROYGENIC).setTemp(-170); - HYDROGEN = new FluidTypeCombustible( "HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setCombustionEnergy(FuelGrade.HIGH, 10_000); + HYDROGEN = new FluidTypeCombustible( "HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000); OXYGEN = new FluidType( "OXYGEN", 0x98bdf9, 3, 0, 0, EnumSymbol.CROYGENIC); XENON = new FluidType( "XENON", 0xba45e8, 0, 0, 0, EnumSymbol.ASPHYXIANT); BALEFIRE = new FluidType( "BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(FluidTrait.CORROSIVE); @@ -148,10 +152,10 @@ public class Fluids { PAIN = new FluidType( "PAIN", 0x938541, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(FluidTrait.CORROSIVE); WASTEFLUID = new FluidType( "WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER); WASTEGAS = new FluidType( "WASTEGAS", 0xB8B8B8, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER); - GASOLINE = new FluidTypeCombustible( "GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000); - COALGAS = new FluidTypeCombustible( "COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 150_000); + GASOLINE = new FluidTypeCombustible( "GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_000_000).setHeatEnergy(400_000).addContainers(0x2F7747, ExtContainer.CANISTER); + COALGAS = new FluidTypeCombustible( "COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 150_000).setHeatEnergy(75_000); SPENTSTEAM = new FluidType( "SPENTSTEAM", 0x445772, 2, 0, 0, EnumSymbol.NONE).addTraits(FluidTrait.NO_CONTAINER); - FRACKSOL = new FluidType( "FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE); + FRACKSOL = new FluidType( "FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE).addContainers(0x4F887F, ExtContainer.CANISTER); PLASMA_DT = new FluidType( "PLASMA_DT", 0xF7AFDE, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3250).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID); PLASMA_HD = new FluidType( "PLASMA_HD", 0xF0ADF4, 0, 4, 0, EnumSymbol.RADIATION).setTemp(2500).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID); PLASMA_HT = new FluidType( "PLASMA_HT", 0xD1ABF2, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3000).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID); @@ -161,19 +165,22 @@ public class Fluids { PLASMA_DH3 = new FluidType( "PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID); HELIUM3 = new FluidType( "HELIUM3", 0xFCF0C4, 3, 4, 0, EnumSymbol.ASPHYXIANT); DEATH = new FluidType( "DEATH", 0x717A88, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(FluidTrait.CORROSIVE_2, FluidTrait.LEAD_CONTAINER); - ETHANOL = new FluidTypeCombustible( "ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 200_000); + ETHANOL = new FluidTypeCombustible( "ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 200_000).setHeatEnergy(75_000).addContainers(0xEAFFF3, ExtContainer.CANISTER); HEAVYWATER = new FluidType( "HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE); CRACKOIL = new FluidTypeFlammable( "CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE); COALOIL = new FluidTypeFlammable( "COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE); HOTCRACKOIL = new FluidTypeFlammable( "HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350); NAPHTHA_CRACK = new FluidTypeFlammable( "NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE); LIGHTOIL_CRACK = new FluidTypeFlammable( "LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE); - DIESEL_CRACK = new FluidTypeCombustible( "DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000); + DIESEL_CRACK = new FluidTypeCombustible( "DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000); AROMATICS = new FluidTypeFlammable( "AROMATICS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE); UNSATURATEDS = new FluidTypeFlammable( "UNSATURATEDS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE); SALIENT = new FluidType(69, "SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE); XPJUICE = new FluidType( "XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE); ENDERJUICE = new FluidType( "ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE); + PETROIL_LEADED = new FluidTypeCombustible( "PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 450_000).setHeatEnergy(((FluidTypeFlammable)PETROIL).getHeatEnergy()); + GASOLINE_LEADED = new FluidTypeCombustible( "GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000).setHeatEnergy(((FluidTypeFlammable)GASOLINE).getHeatEnergy()); + COALGAS_LEADED = new FluidTypeCombustible( "COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 250_000).setHeatEnergy(((FluidTypeFlammable)COALGAS).getHeatEnergy()); // ^ ^ ^ ^ ^ ^ ^ ^ @@ -230,8 +237,11 @@ public class Fluids { metaOrder.add(DIESEL_CRACK); metaOrder.add(KEROSENE); metaOrder.add(PETROIL); + metaOrder.add(PETROIL_LEADED); metaOrder.add(GASOLINE); + metaOrder.add(GASOLINE_LEADED); metaOrder.add(COALGAS); + metaOrder.add(COALGAS_LEADED); metaOrder.add(BIOGAS); metaOrder.add(BIOFUEL); metaOrder.add(ETHANOL); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java b/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java index 81093952d..fc03ff008 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineChemplant; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineChemplantNew; +import com.hbm.tileentity.machine.TileEntityMachineChemplant; import com.hbm.util.I18nUtil; import net.minecraft.client.Minecraft; @@ -16,9 +16,9 @@ import net.minecraft.util.ResourceLocation; public class GUIMachineChemplant extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_chemplant.png"); - private TileEntityMachineChemplantNew chemplant; + private TileEntityMachineChemplant chemplant; - public GUIMachineChemplant(InventoryPlayer invPlayer, TileEntityMachineChemplantNew tedf) { + public GUIMachineChemplant(InventoryPlayer invPlayer, TileEntityMachineChemplant tedf) { super(new ContainerMachineChemplant(invPlayer, tedf)); chemplant = tedf; diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java index d7da378d0..24cac5ff5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java @@ -31,82 +31,79 @@ public class GUIReactorControl extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_reactor_control.png"); private TileEntityReactorControl control; - + private final NumberDisplay[] displays = new NumberDisplay[3]; private GuiTextField[] fields; - + public GUIReactorControl(InventoryPlayer invPlayer, TileEntityReactorControl tedf) { super(new ContainerReactorControl(invPlayer, tedf)); control = tedf; displays[0] = new NumberDisplay(6, 20, 0x08FF00).setDigitLength(3); displays[1] = new NumberDisplay(66, 20, 0x08FF00).setDigitLength(4); displays[2] = new NumberDisplay(126, 20, 0x08FF00).setDigitLength(3); - + fields = new GuiTextField[4]; - + this.xSize = 176; this.ySize = 166; } - + public void initGui() { super.initGui(); Keyboard.enableRepeatEvents(true); - - //rod extraction fields + + // rod extraction fields for(byte i = 0; i < 2; i++) { this.fields[i] = new GuiTextField(this.fontRendererObj, guiLeft + 35 + 30 * i, guiTop + 38, 26, 7); this.fields[i].setTextColor(0x08FF00); this.fields[i].setDisabledTextColour(-1); this.fields[i].setEnableBackgroundDrawing(false); - + this.fields[i].setMaxStringLength(3); } - - //heat fields + + // heat fields for(byte i = 0; i < 2; i++) { this.fields[i + 2] = new GuiTextField(this.fontRendererObj, guiLeft + 35 + 30 * i, guiTop + 49, 26, 7); this.fields[i + 2].setTextColor(0x08FF00); this.fields[i + 2].setDisabledTextColour(-1); this.fields[i + 2].setEnableBackgroundDrawing(false); - + this.fields[i + 2].setMaxStringLength(4); } - this.fields[0].setText(String.valueOf((int)control.levelUpper)); - this.fields[1].setText(String.valueOf((int)control.levelLower)); - this.fields[2].setText(String.valueOf((int)control.heatUpper / 50)); - this.fields[3].setText(String.valueOf((int)control.heatLower / 50)); + this.fields[0].setText(String.valueOf((int) control.levelUpper)); + this.fields[1].setText(String.valueOf((int) control.levelLower)); + this.fields[2].setText(String.valueOf((int) control.heatUpper / 50)); + this.fields[3].setText(String.valueOf((int) control.heatLower / 50)); } - - + @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - - } protected void mouseClicked(int x, int y, int i) { - super.mouseClicked(x, y, i); - - for(int j = 0; j < 4; j++) { + super.mouseClicked(x, y, i); + + for(int j = 0; j < 4; j++) { this.fields[j].mouseClicked(x, y, i); } - + if(guiLeft + 33 <= x && guiLeft + 33 + 58 > x && guiTop + 59 < y && guiTop + 59 + 10 >= y) { - + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); NBTTagCompound data = new NBTTagCompound(); - - double[] vals = new double[] {0D ,0D, 0D, 0D}; + + double[] vals = new double[] { 0D, 0D, 0D, 0D }; for(int k = 0; k < 4; k++) { - + double clamp = k < 2 ? 100 : 1000; int mod = k < 2 ? 1 : 50; - + if(NumberUtils.isDigits(fields[k].getText())) { - int j = (int)MathHelper.clamp_double(Double.parseDouble(fields[k].getText()), 0, clamp); + int j = (int) MathHelper.clamp_double(Double.parseDouble(fields[k].getText()), 0, clamp); fields[k].setText(j + ""); vals[k] = j * mod; } else { @@ -118,29 +115,29 @@ public class GUIReactorControl extends GuiInfoContainer { data.setDouble("levelLower", vals[1]); data.setDouble("heatUpper", vals[2]); data.setDouble("heatLower", vals[3]); - + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, control.xCoord, control.yCoord, control.zCoord)); } - + for(int k = 0; k < 3; k++) { if(guiLeft + 7 <= x && guiLeft + 7 + 22 > x && guiTop + 37 + k * 11 < y && guiTop + 37 + 10 + k * 11 >= y) { - + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); NBTTagCompound data = new NBTTagCompound(); data.setInteger("function", k); PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, control.xCoord, control.yCoord, control.zCoord)); } } - } - + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.control.hasCustomInventoryName() ? this.control.getInventoryName() : I18n.format(this.control.getInventoryName()); - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } - + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -153,35 +150,35 @@ public class GUIReactorControl extends GuiInfoContainer { GL11.glLineWidth(3F); tess.startDrawing(3); tess.setColorOpaque_I(0x08FF00); - + for(int i = 0; i < 40; i++) { tess.addVertex(guiLeft + 128 + i, guiTop + 39 + MathHelper.clamp_double(control.getTargetLevel(control.function, i * 1250) / 100 * 28, 0, 28), this.zLevel); } - + tess.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glPopMatrix(); for(byte i = 0; i < 3; i++) displays[i].drawNumber(control.getDisplayData()[i]); - + for(int i = 0; i < 4; i++) this.fields[i].drawTextBox(); } - + @Override protected void keyTyped(char c, int i) { - + for(byte j = 0; j < 4; j++) { if(this.fields[j].textboxKeyTyped(c, i)) return; } - + if(i == 1 || i == this.mc.gameSettings.keyBindInventory.getKeyCode()) { this.mc.thePlayer.closeScreen(); return; } - + super.keyTyped(c, i); } } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index a5b96f5b3..b05d6ce3f 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -163,7 +163,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.telepad, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 12), new OreDictStack(SA326.plate(), 2), new OreDictStack(CMB.plate(), 4), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.wire_gold, 6), new ComparableStack(ModItems.circuit_schrabidium, 1), },300); makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new OreDictStack(PB.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 4), new ComparableStack(ModItems.singularity_counter_resonant, 1), new ComparableStack(ModItems.singularity_super_heated, 1), new ComparableStack(ModItems.powder_power, 4), },200); makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200); - makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_kerosene, 3), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); + makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_full, 3, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800); makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new ComparableStack(Blocks.tnt, 2), },100); makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack(TI.plate(), 8), new OreDictStack(STEEL.plate(), 5), new ComparableStack(Blocks.tnt, 4), },150); @@ -183,7 +183,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit_tantalium, 5) }, 600); makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300); makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300); - makeRecipe(new ComparableStack(ModItems.fuel_tank_small, 1), new AStack[] {new ComparableStack(ModItems.canister_kerosene, 4), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2), },100); + makeRecipe(new ComparableStack(ModItems.fuel_tank_small, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 4, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2), },100); makeRecipe(new ComparableStack(ModItems.fuel_tank_medium, 1), new AStack[] {new ComparableStack(ModItems.fuel_tank_small, 3), new OreDictStack(TI.plate(), 4), new OreDictStack(STEEL.plate(), 2), },150); makeRecipe(new ComparableStack(ModItems.fuel_tank_large, 1), new AStack[] {new ComparableStack(ModItems.fuel_tank_medium, 3), new OreDictStack(TI.plate(), 4), new OreDictStack(STEEL.plate(), 2), },200); makeRecipe(new ComparableStack(ModItems.thruster_small, 1), new AStack[] {new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.wire_aluminium, 4), },100); @@ -274,7 +274,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.block(), 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.ingot(), 24), new OreDictStack(STEEL.plate(), 16), new OreDictStack(AL.plate(), 6), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 8), },400); makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 28), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.thermo_element, 3), },200); makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 16), new OreDictStack(STEEL.plate(), 20), new OreDictStack(CU.plate(), 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.coil_tungsten, 8), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },350); - makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_canola, 1), },160); + makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), },160); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150); @@ -370,7 +370,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.boy_bullet, 1), new AStack[] {new OreDictStack(U235.nugget(), 3), },100); makeRecipe(new ComparableStack(ModItems.boy_propellant, 1), new AStack[] {new ComparableStack(Blocks.tnt, 3), new OreDictStack(IRON.plate(), 8), new OreDictStack(AL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), },100); makeRecipe(new ComparableStack(ModItems.boy_igniter, 1), new AStack[] {new OreDictStack(AL.plate(), 6), new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 3), },150); - makeRecipe(new ComparableStack(ModItems.man_explosive, 1), new AStack[] {new ComparableStack(Blocks.tnt, 2), new ComparableStack(ModItems.ingot_semtex, 3), new OreDictStack(STEEL.plate(), 2), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 3), },200); + makeRecipe(new ComparableStack(ModItems.man_explosive, 1), new AStack[] {new ComparableStack(Blocks.tnt, 2), new ComparableStack(ModItems.ball_tnt, 3), new OreDictStack(STEEL.plate(), 2), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 3), },200); makeRecipe(new ComparableStack(ModItems.man_igniter, 1), new AStack[] {new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 9), },150); makeRecipe(new ComparableStack(ModItems.man_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 8), new OreDictStack(BE.nugget(), 2), },250); makeRecipe(new ComparableStack(ModItems.mike_core, 1), new AStack[] {new OreDictStack(U238.nugget(), 24), new OreDictStack(PB.ingot(), 6), },250); @@ -435,7 +435,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.mp_warhead_15_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_charge, 2), new OreDictStack(P_RED.dust(), 8), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 24), new OreDictStack(TI.plate(), 12), new OreDictStack(PU239.ingot(), 3), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new OreDictStack(MAGTUNG.dust(), 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400); - makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new ComparableStack(ModItems.ingot_semtex, 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60); + makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new ComparableStack(ModItems.ball_tnt, 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60); makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new ComparableStack(ModItems.plate_polymer, 64), new ComparableStack(ModItems.fins_small_steel, 4), new ComparableStack(ModItems.hull_big_titanium, 40), new ComparableStack(ModItems.hull_big_steel, 24), new OreDictStack(FIBER.ingot(), 64), },600); makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.plate_polymer, 32), new ComparableStack(ModItems.hull_big_aluminium, 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600); makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600); @@ -578,7 +578,7 @@ public class AssemblerRecipes { new OreDictStack(CU.plate(), 1), new ComparableStack(ModItems.primer_50, 5), new ComparableStack(ModItems.casing_50, 5), - new ComparableStack(ModItems.ingot_semtex, 5), + new ComparableStack(ModItems.ball_tnt, 5), new ComparableStack(ModItems.cordite, 5), new OreDictStack(REDSTONE.dust(), 3) }, 60); @@ -778,7 +778,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.missile_generic, 2), new ComparableStack(ModItems.missile_strong, 1), new OreDictStack(KEY_ORANGE, 5), - new ComparableStack(ModItems.canister_gasoline, 24), + new ComparableStack(ModItems.canister_full, 24, Fluids.GASOLINE_LEADED.getID()), new OreDictStack(FIBER.ingot(), 12), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.ingot_semtex, 8), diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 3aafade42..b3e251350 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -279,12 +279,13 @@ public class CentrifugeRecipes { if(quartz != null && !quartz.isEmpty()) { ItemStack qItem = quartz.get(0).copy(); + qItem.stackSize = 2; recipes.put("oreCertusQuartz", new ItemStack[] { - qItem, - qItem, - qItem, - qItem }); + qItem.copy(), + qItem.copy(), + qItem.copy(), + qItem.copy() }); } recipes.put(new ComparableStack(Items.blaze_rod), new ItemStack[] {new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.blaze_powder, 1), new ItemStack(ModItems.powder_fire, 1), new ItemStack(ModItems.powder_fire, 1) }); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 8c8567ecd..43045d169 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -78,13 +78,30 @@ public class ChemplantRecipes { .inputItems( new OreDictStack(COAL.dust(), 2), new OreDictStack(F.dust())) - .inputFluids(new FluidStack(Fluids.PETROLEUM, 600)) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 500)) .outputItems(new ItemStack(ModItems.ingot_polymer))); + recipes.add(new ChemRecipe(81, "BAKELITE", 100) + .inputFluids( + new FluidStack(Fluids.AROMATICS, 500), + new FluidStack(Fluids.PETROLEUM, 500)) + .outputItems(new ItemStack(ModItems.ingot_bakelite))); + recipes.add(new ChemRecipe(82, "RUBBER", 100) + .inputItems(new OreDictStack(S.dust())) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500)) + .outputItems(new ItemStack(ModItems.ingot_rubber))); + recipes.add(new ChemRecipe(83, "TNT", 150) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.AROMATICS, 500)) + .outputItems(new ItemStack(ModItems.ball_tnt, 4))); + recipes.add(new ChemRecipe(84, "C4", 150) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500)) + .outputItems(new ItemStack(ModItems.ingot_c4, 4))); //44, formerly deuterium //45, formerly steam recipes.add(new ChemRecipe(46, "YELLOWCAKE", 250) .inputItems( - new OreDictStack(U.billet(), 2), //TODO: that's 12 nuggets right there, check if those numbers match up + new OreDictStack(U.billet(), 2), //12 nuggets: the numbers do match up :) new OreDictStack(S.dust(), 2)) .inputFluids(new FluidStack(Fluids.ACID, 500)) .outputItems(new ItemStack(ModItems.powder_yellowcake))); @@ -250,6 +267,11 @@ public class ChemplantRecipes { .inputItems(new ComparableStack(ModBlocks.sand_lead)) .inputFluids(new FluidStack(Fluids.WASTEGAS, 1000)) .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified))); + recipes.add(new ChemRecipe(88, "LUBRICANT", 20) + .inputFluids( + new FluidStack(Fluids.HEATINGOIL, 500), + new FluidStack(Fluids.UNSATURATEDS, 500)) + .outputFluids(new FluidStack(Fluids.LUBRICANT, 1000))); recipes.add(new ChemRecipe(70, "TEL", 40) .inputItems( new OreDictStack(ANY_TAR.any()), @@ -258,10 +280,29 @@ public class ChemplantRecipes { new FluidStack(Fluids.PETROLEUM, 100), new FluidStack(Fluids.STEAM, 1000)) .outputItems(new ItemStack(ModItems.antiknock))); - recipes.add(new ChemRecipe(71, "GASOLINE", 40) + recipes.add(new ChemRecipe(4, "FR_REOIL", 30) + .inputFluids(new FluidStack(1000, Fluids.SMEAR)) + .outputFluids(new FluidStack(800, Fluids.RECLAIMED))); + recipes.add(new ChemRecipe(5, "FR_PETROIL", 30) + .inputFluids( + new FluidStack(800, Fluids.RECLAIMED), + new FluidStack(200, Fluids.LUBRICANT)) + .outputFluids(new FluidStack(1000, Fluids.PETROIL))); + recipes.add(new ChemRecipe(86, "PETROIL_LEADED", 40) .inputItems(new ComparableStack(ModItems.antiknock)) .inputFluids(new FluidStack(Fluids.PETROIL, 10_000)) - .outputFluids(new FluidStack(Fluids.GASOLINE, 12_000))); + .outputFluids(new FluidStack(Fluids.PETROIL_LEADED, 12_000))); + recipes.add(new ChemRecipe(71, "GASOLINE", 40) + .inputFluids(new FluidStack(Fluids.NAPHTHA, 1000)) + .outputFluids(new FluidStack(Fluids.GASOLINE, 800))); + recipes.add(new ChemRecipe(85, "GASOLINE_LEADED", 40) + .inputItems(new ComparableStack(ModItems.antiknock)) + .inputFluids(new FluidStack(Fluids.GASOLINE, 10_000)) + .outputFluids(new FluidStack(Fluids.GASOLINE_LEADED, 12_000))); + recipes.add(new ChemRecipe(87, "COALGAS_LEADED", 40) + .inputItems(new ComparableStack(ModItems.antiknock)) + .inputFluids(new FluidStack(Fluids.COALGAS, 10_000)) + .outputFluids(new FluidStack(Fluids.COALGAS_LEADED, 12_000))); recipes.add(new ChemRecipe(72, "FRACKSOL", 20) .inputItems(new OreDictStack(S.dust())) .inputFluids( @@ -329,14 +370,6 @@ public class ChemplantRecipes { new FluidStack(RefineryRecipes.light_frac_diesel * 10, Fluids.DIESEL), new FluidStack(RefineryRecipes.light_frac_kero * 10, Fluids.KEROSENE) )); - recipes.add(new ChemRecipe(4, "FR_REOIL", 30) - .inputFluids(new FluidStack(1000, Fluids.SMEAR)) - .outputFluids(new FluidStack(800, Fluids.RECLAIMED))); - recipes.add(new ChemRecipe(5, "FR_PETROIL", 30) - .inputFluids( - new FluidStack(800, Fluids.RECLAIMED), - new FluidStack(200, Fluids.LUBRICANT)) - .outputFluids(new FluidStack(1000, Fluids.PETROIL))); } public static void registerOtherOil() { diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 9aeb73bec..ae462ead1 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -89,7 +89,7 @@ public class CrystallizerRecipes { if(quartz != null && !quartz.isEmpty()) { ItemStack qItem = quartz.get(0).copy(); - qItem.stackSize = 6; + qItem.stackSize = 12; recipes.put("oreCertusQuartz", qItem); } diff --git a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java index 223da7f5c..f1b8148e5 100644 --- a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java @@ -75,8 +75,8 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_red_copper, 2); } - if (item.getItem() == ModItems.canister_fuel && item2.getItem() == Items.slime_ball - || item.getItem() == Items.slime_ball && item2.getItem() == ModItems.canister_fuel) { + if (item.getItem() == ModItems.canister_full && item.getItemDamage() == Fluids.DIESEL.getID() && item2.getItem() == Items.slime_ball + || item.getItem() == Items.slime_ball && item2.getItem() == ModItems.canister_full && item2.getItemDamage() == Fluids.DIESEL.getID()) { return new ItemStack(ModItems.canister_napalm, 1); } @@ -118,7 +118,7 @@ public class MachineRecipes { if(GeneralConfig.enableBabyMode) { if(mODE(item, new String[] { "gemCoal", "dustCoal" }) && item2.getItem() == ModItems.canister_empty || item.getItem() == ModItems.canister_empty && mODE(item2, new String[] { "gemCoal", "dustCoal" })) { - return new ItemStack(ModItems.canister_oil ); + return new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()); } } @@ -414,8 +414,8 @@ public class MachineRecipes { getFurnaceOutput(new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel) }, getFurnaceOutput(new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel)).copy()); - recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_fuel), new ItemStack(Items.slime_ball) }, - getFurnaceOutput(new ItemStack(ModItems.canister_fuel), new ItemStack(Items.slime_ball)).copy()); + recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new ItemStack(Items.slime_ball) }, + getFurnaceOutput(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new ItemStack(Items.slime_ball)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium) }, getFurnaceOutput(new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold) }, diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 0039208af..17e3ea6bb 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -134,4 +134,40 @@ public class RefineryRecipes { protected static Map> getCrackingRecipes() { return cracking; } + + public static HashMap getFractionRecipesForNEI() { + + HashMap recipes = new HashMap(); + + for(Entry> recipe : fractions.entrySet()) { + ItemStack[] out = new ItemStack[] { + ItemFluidIcon.make(recipe.getValue().getKey()), + ItemFluidIcon.make(recipe.getValue().getValue()) + }; + + recipes.put(ItemFluidIcon.make(recipe.getKey(), 100), out); + } + + return recipes; + } + + public static HashMap getCrackingRecipesForNEI() { + + HashMap recipes = new HashMap(); + + for(Entry> recipe : cracking.entrySet()) { + ItemStack[] in = new ItemStack[] { + ItemFluidIcon.make(recipe.getKey(), 100), + ItemFluidIcon.make(Fluids.STEAM, 200) + }; + ItemStack[] out = new ItemStack[] { + ItemFluidIcon.make(recipe.getValue().getKey()), + ItemFluidIcon.make(recipe.getValue().getValue()) + }; + + recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out); + } + + return recipes; + } } diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 5dda19898..50dd7ff53 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -246,6 +246,13 @@ public class AnvilRecipes { new ComparableStack(ModItems.nuclear_waste_vitrified, 10) }, new AnvilOutput(new ItemStack(ModBlocks.vitrified_barrel))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new ComparableStack(ModItems.man_core, 1), + new OreDictStack(BE.ingot(), 4), + new ComparableStack(ModItems.screwdriver, 1) + }, new AnvilOutput(new ItemStack(ModItems.demon_core_open))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(DURA.ingot(), 1)}, new AnvilOutput(new ItemStack(ModItems.plate_desh, 4))).setTier(3)); @@ -509,7 +516,7 @@ public class AnvilRecipes { new AnvilOutput[] { new AnvilOutput(new ItemStack(Items.redstone, 4)), new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 2)), - new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_bismuth : ModItems.ingot_asbestos, 2)), + new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_tantalium : ModItems.ingot_asbestos, 2)), new AnvilOutput(new ItemStack(ModItems.ingot_bismuth, 1)) } ).setTier(4)); @@ -519,7 +526,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(Items.redstone, 2)), new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 1)), new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 1), 0.5F), - new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_bismuth : ModItems.ingot_asbestos, 1)), + new AnvilOutput(new ItemStack(GeneralConfig.enable528 ? ModItems.circuit_tantalium : ModItems.ingot_asbestos, 1)), new AnvilOutput(new ItemStack(ModItems.ingot_bismuth, 1), 0.75F) } ).setTier(4)); diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 760fe724c..b8e529cbd 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -19,4 +19,10 @@ public class ItemEnums { CRACK, COAL } + + public static enum EnumLegendaryType { + TIER1, + TIER2, + TIER3 + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 3253f30a6..4e7fe4e28 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -9,6 +9,7 @@ import com.hbm.handler.WeaponAbility; import com.hbm.handler.guncfg.*; import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ItemEnums.EnumLegendaryType; import com.hbm.items.armor.*; import com.hbm.items.bomb.*; import com.hbm.items.food.*; @@ -140,6 +141,7 @@ public class ModItems { public static Item nugget_solinium; public static Item ingot_phosphorus; public static Item ingot_semtex; + public static Item ingot_c4; public static Item ingot_boron; public static Item ingot_graphite; public static Item ingot_smore; @@ -313,6 +315,7 @@ public class ModItems { public static Item ingot_dura_steel; public static Item ingot_polymer; public static Item ingot_bakelite; + public static Item ingot_rubber; public static Item ingot_fiberglass; public static Item ingot_asbestos; @@ -528,6 +531,8 @@ public class ModItems { public static Item component_emitter; public static Item chlorine_pinwheel; public static Item deuterium_filter; + + public static Item parts_legendary; public static Item circuit_raw; public static Item circuit_aluminium; @@ -846,8 +851,9 @@ public class ModItems { public static Item inf_water_mk2; public static Item antiknock; - + public static Item canister_empty; + public static Item canister_full; public static Item canister_smear; public static Item canister_canola; public static Item canister_oil; @@ -1688,6 +1694,8 @@ public class ModItems { public static Item stick_dynamite; public static Item stick_tnt; + public static Item stick_semtex; + public static Item stick_c4; public static Item grenade_generic; public static Item grenade_strong; @@ -2379,6 +2387,7 @@ public class ModItems { public static Item book_guide; public static Item holotape_image; + public static Item holotape_damaged; public static Item polaroid; public static Item glitch; @@ -2607,6 +2616,7 @@ public class ModItems { lithium = new Item().setUnlocalizedName("lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lithium"); ingot_zirconium = new Item().setUnlocalizedName("ingot_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_zirconium"); ingot_semtex = new ItemLemon(4, 5, true).setUnlocalizedName("ingot_semtex").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_semtex"); + ingot_c4 = new Item().setUnlocalizedName("ingot_c4").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_c4"); ingot_phosphorus = new Item().setUnlocalizedName("ingot_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_phosphorus"); wire_advanced_alloy = new Item().setUnlocalizedName("wire_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_advanced_alloy"); coil_advanced_alloy = new Item().setUnlocalizedName("coil_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_alloy"); @@ -2692,6 +2702,7 @@ public class ModItems { ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dura_steel"); ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polymer"); ingot_bakelite = new ItemCustomLore().setUnlocalizedName("ingot_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bakelite"); + ingot_rubber = new ItemCustomLore().setUnlocalizedName("ingot_rubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_rubber"); ingot_desh = new ItemCustomLore().setUnlocalizedName("ingot_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_desh"); nugget_desh = new ItemCustomLore().setUnlocalizedName("nugget_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_desh"); ingot_dineutronium = new ItemCustomLore().setUnlocalizedName("ingot_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dineutronium"); @@ -2986,6 +2997,7 @@ public class ModItems { ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal"); flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium"); deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter"); + parts_legendary = new ItemEnumMulti(EnumLegendaryType.class, false, true).setUnlocalizedName("parts_legendary").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":parts_legendary"); cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium"); hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel"); @@ -3271,24 +3283,25 @@ public class ModItems { antiknock = new Item().setUnlocalizedName("antiknock").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":antiknock"); canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty"); - canister_smear = new ItemCustomLore().setUnlocalizedName("canister_smear").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_smear"); - canister_canola = new ItemCustomLore().setUnlocalizedName("canister_canola").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_canola"); - canister_oil = new ItemCustomLore().setUnlocalizedName("canister_oil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_oil"); - canister_fuel = new ItemCustomLore().setUnlocalizedName("canister_fuel").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_fuel"); - canister_kerosene = new ItemCustomLore().setUnlocalizedName("canister_kerosene").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_kerosene"); - canister_reoil = new ItemCustomLore().setUnlocalizedName("canister_reoil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_reoil"); - canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_petroil"); + canister_full = new ItemCanister().setUnlocalizedName("canister_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_empty"); + canister_smear = new ItemCustomLore().setUnlocalizedName("canister_smear").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_smear"); + canister_canola = new ItemCustomLore().setUnlocalizedName("canister_canola").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_canola"); + canister_oil = new ItemCustomLore().setUnlocalizedName("canister_oil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_oil"); + canister_fuel = new ItemCustomLore().setUnlocalizedName("canister_fuel").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_fuel"); + canister_kerosene = new ItemCustomLore().setUnlocalizedName("canister_kerosene").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_kerosene"); + canister_reoil = new ItemCustomLore().setUnlocalizedName("canister_reoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_reoil"); + canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_petroil"); canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); - canister_gasoline = new ItemCustomLore().setUnlocalizedName("canister_gasoline").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_gasoline"); - canister_fracksol = new ItemCustomLore().setUnlocalizedName("canister_fracksol").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_fracksol"); - canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_superfuel"); - canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heavyoil"); - canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_bitumen"); - canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heatingoil"); - canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_naphtha"); - canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_lightoil"); - canister_biofuel = new ItemCustomLore().setUnlocalizedName("canister_biofuel").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_biofuel"); - canister_ethanol = new ItemCustomLore().setUnlocalizedName("canister_ethanol").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_ethanol"); + canister_gasoline = new ItemCustomLore().setUnlocalizedName("canister_gasoline").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_gasoline"); + canister_fracksol = new ItemCustomLore().setUnlocalizedName("canister_fracksol").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_fracksol"); + canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_superfuel"); + canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_heavyoil"); + canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_bitumen"); + canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_heatingoil"); + canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_naphtha"); + canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_lightoil"); + canister_biofuel = new ItemCustomLore().setUnlocalizedName("canister_biofuel").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_biofuel"); + canister_ethanol = new ItemCustomLore().setUnlocalizedName("canister_ethanol").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_ethanol"); gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":gas_empty"); gas_full = new Item().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_full"); gas_petroleum = new Item().setUnlocalizedName("gas_petroleum").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_petroleum"); @@ -4347,6 +4360,8 @@ public class ModItems { stick_dynamite = new ItemGrenade(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite"); stick_tnt = new Item().setUnlocalizedName("stick_tnt").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_tnt"); + stick_semtex = new Item().setUnlocalizedName("stick_semtex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_semtex"); + stick_c4 = new Item().setUnlocalizedName("stick_c4").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_c4"); grenade_generic = new ItemGrenade(4).setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_generic"); grenade_strong = new ItemGrenade(5).setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_strong"); @@ -4728,10 +4743,10 @@ public class ModItems { chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null); fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier"); fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon"); - fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); - fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); + fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); + fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_infinite = new Item().setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); @@ -4903,18 +4918,18 @@ public class ModItems { ajro_legs = new ArmorAJRO(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs"); ajro_boots = new ArmorAJRO(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots"); - rpa_helmet = new ArmorRPA(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F) + rpa_helmet = new ArmorRPA(aMatAJR, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.1F).setCap(6.0F).setThreshold(20F) .setFireproof(true) .enableVATS(true) .setHasGeigerSound(true) .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3)) .setBlastProtection(0.25F) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .addResistance("monoxide", 0F) + .setProjectileProtection(0.25F) + .setProtectionLevel(1500) + .setStep("hbm:step.powered") + .setJump("hbm:step.powered") + .setFall("hbm:step.powered") .addResistance("fall", 0).setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); rpa_plate = new ArmorRPA(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate"); rpa_legs = new ArmorRPA(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs"); @@ -5424,6 +5439,7 @@ public class ModItems { book_guide = new ItemGuideBook().setUnlocalizedName("book_guide").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":book_guide"); holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":holotape"); + holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged"); polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); @@ -5628,6 +5644,7 @@ public class ModItems { GameRegistry.registerItem(ingot_dura_steel, ingot_dura_steel.getUnlocalizedName()); GameRegistry.registerItem(ingot_polymer, ingot_polymer.getUnlocalizedName()); GameRegistry.registerItem(ingot_bakelite, ingot_bakelite.getUnlocalizedName()); + GameRegistry.registerItem(ingot_rubber, ingot_rubber.getUnlocalizedName()); GameRegistry.registerItem(ingot_schraranium, ingot_schraranium.getUnlocalizedName()); GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName()); @@ -5673,6 +5690,7 @@ public class ModItems { GameRegistry.registerItem(lithium, lithium.getUnlocalizedName()); GameRegistry.registerItem(ingot_zirconium, ingot_zirconium.getUnlocalizedName()); GameRegistry.registerItem(ingot_semtex, ingot_semtex.getUnlocalizedName()); + GameRegistry.registerItem(ingot_c4, ingot_c4.getUnlocalizedName()); GameRegistry.registerItem(oil_tar, oil_tar.getUnlocalizedName()); GameRegistry.registerItem(solid_fuel, solid_fuel.getUnlocalizedName()); GameRegistry.registerItem(solid_fuel_presto, solid_fuel_presto.getUnlocalizedName()); @@ -6053,6 +6071,7 @@ public class ModItems { GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName()); GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName()); GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName()); + GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); //Teleporter Parts GameRegistry.registerItem(telepad, telepad.getUnlocalizedName()); @@ -6312,6 +6331,7 @@ public class ModItems { //Canisters GameRegistry.registerItem(antiknock, antiknock.getUnlocalizedName()); GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); + GameRegistry.registerItem(canister_full, canister_full.getUnlocalizedName()); GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName()); GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName()); GameRegistry.registerItem(canister_bitumen, canister_bitumen.getUnlocalizedName()); @@ -7288,6 +7308,8 @@ public class ModItems { //Grenades GameRegistry.registerItem(stick_dynamite, stick_dynamite.getUnlocalizedName()); //heave-ho! GameRegistry.registerItem(stick_tnt, stick_tnt.getUnlocalizedName()); + GameRegistry.registerItem(stick_semtex, stick_semtex.getUnlocalizedName()); + GameRegistry.registerItem(stick_c4, stick_c4.getUnlocalizedName()); GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName()); GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName()); @@ -7939,6 +7961,7 @@ public class ModItems { //wow we're far down the item registry, is this the cellar? GameRegistry.registerItem(book_guide, book_guide.getUnlocalizedName()); GameRegistry.registerItem(holotape_image, holotape_image.getUnlocalizedName()); + GameRegistry.registerItem(holotape_damaged, holotape_damaged.getUnlocalizedName()); //Technical Items GameRegistry.registerItem(smoke1, smoke1.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java b/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java index d01dc1cfd..4ded08d51 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java +++ b/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java @@ -5,7 +5,6 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; diff --git a/src/main/java/com/hbm/items/machine/ItemCanister.java b/src/main/java/com/hbm/items/machine/ItemCanister.java new file mode 100644 index 000000000..6290acb2d --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemCanister.java @@ -0,0 +1,86 @@ +package com.hbm.items.machine; + +import java.util.List; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.FluidType.ExtContainer; +import com.hbm.inventory.fluid.Fluids; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +public class ItemCanister extends Item { + + IIcon overlayIcon; + + public ItemCanister() { + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + + FluidType[] order = Fluids.getInNiceOrder(); + for(int i = 1; i < order.length; ++i) { + FluidType type = order[i]; + + if(type.containers.contains(ExtContainer.CANISTER)) { + list.add(new ItemStack(item, 1, type.getID())); + } + } + } + + public String getItemStackDisplayName(ItemStack stack) { + String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim(); + String s1 = ("" + StatCollector.translateToLocal(Fluids.fromID(stack.getItemDamage()).getUnlocalizedName())).trim(); + + if(s1 != null) { + s = s + " " + s1; + } + + return s; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) { + super.registerIcons(reg); + this.overlayIcon = reg.registerIcon("hbm:canister_overlay"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_) { + return p_77618_2_ == 1 ? this.overlayIcon : super.getIconFromDamageForRenderPass(p_77618_1_, p_77618_2_); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int p_82790_2_) { + if(p_82790_2_ == 0) { + return 16777215; + } else { + int j = Fluids.fromID(stack.getItemDamage()).getContainerColor(); + + if(j < 0) { + j = 16777215; + } + + return j; + } + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java b/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java index d9af8a310..6e67efada 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java @@ -28,10 +28,10 @@ public class ItemChemistryIcon extends Item { public String getItemStackDisplayName(ItemStack stack) { - ChemRecipe chem = ChemplantRecipes.recipes.get(stack.getItemDamage() % ChemplantRecipes.recipes.size()); + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(stack.getItemDamage()); String s = ("" + StatCollector.translateToLocal(ModItems.chemistry_template.getUnlocalizedName() + ".name")).trim(); - String s1 = ("" + StatCollector.translateToLocal("chem." + chem.name)).trim(); + String s1 = ("" + StatCollector.translateToLocal("chem." + recipe.name)).trim(); if(s1 != null) { s = s + " " + s1; @@ -59,6 +59,6 @@ public class ItemChemistryIcon extends Item { @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int i) { - return this.icons[ChemplantRecipes.indexMapping.get(i).listing]; + return this.icons[ChemplantRecipes.indexMapping.get(i).listing % this.icons.length]; } } diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java index 40c7553b7..27f7e3863 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java @@ -1,6 +1,8 @@ package com.hbm.items.machine; import java.util.List; + +import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; @@ -50,6 +52,10 @@ public class ItemFluidIcon extends Item { return stack; } + public static ItemStack make(FluidStack stack) { + return make(stack.type, stack.fill); + } + public static ItemStack make(FluidType fluid, int i) { return addQuantity(new ItemStack(ModItems.fluid_icon, 1, fluid.ordinal()), i); } diff --git a/src/main/java/com/hbm/items/special/ItemStarterKit.java b/src/main/java/com/hbm/items/special/ItemStarterKit.java index 4d00179e1..c70d9c612 100644 --- a/src/main/java/com/hbm/items/special/ItemStarterKit.java +++ b/src/main/java/com/hbm/items/special/ItemStarterKit.java @@ -207,8 +207,8 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.piston_selenium, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.piston_selenium, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.piston_selenium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.canister_fuel, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.canister_biofuel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.canister_full, 16, Fluids.DIESEL.getID())); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.canister_full, 16, Fluids.BIOFUEL.getID())); player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced_cell_4, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced_cell_4, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_lithium, 1)); diff --git a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java index c00c329be..7fbf14af9 100644 --- a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java +++ b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java @@ -24,6 +24,7 @@ public class ItemColtanCompass extends Item { public int lastZ = 0; public long lease = 0; + @Override public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inhand) { if(world.isRemote) { diff --git a/src/main/java/com/hbm/items/tool/ItemWiring.java b/src/main/java/com/hbm/items/tool/ItemWiring.java index 73f00a739..04c8455af 100644 --- a/src/main/java/com/hbm/items/tool/ItemWiring.java +++ b/src/main/java/com/hbm/items/tool/ItemWiring.java @@ -3,15 +3,18 @@ package com.hbm.items.tool; import java.util.List; import com.hbm.blocks.BlockDummyable; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityPylonBase; import net.minecraft.block.Block; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemWiring extends Item { @@ -97,4 +100,19 @@ public class ItemWiring extends Item { list.add("Right-click poles to connect"); } } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inhand) { + + if(world.isRemote) { + if(stack.stackTagCompound != null) { + Vec3 vec = Vec3.createVectorHelper( + entity.posX - stack.stackTagCompound.getInteger("x"), + entity.posY - stack.stackTagCompound.getInteger("y"), + entity.posZ - stack.stackTagCompound.getInteger("z")); + + MainRegistry.proxy.displayTooltip(((int) vec.lengthVector()) + "m"); + } + } + } } diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 041d037ad..c7243aee6 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -3,6 +3,7 @@ package com.hbm.lib; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.*; @@ -41,8 +42,8 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.bottle_cherry, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.cap_nuka, 0, 1, 15, 7), - new WeightedRandomChestContent(ModItems.canister_fuel, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.canister_biofuel, 0, 1, 2, 3), + new WeightedRandomChestContent(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), + new WeightedRandomChestContent(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 2), new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 3) }; @@ -98,8 +99,8 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 6), new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 3), new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_barrel), 0, 1, 1, 6), - new WeightedRandomChestContent(ModItems.canister_fuel, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.canister_biofuel, 0, 1, 2, 3), + new WeightedRandomChestContent(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), + new WeightedRandomChestContent(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.bomb_caller, 1, 1, 1, 1), diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 55958a47f..a6733bb29 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -18,7 +18,6 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyBase; import com.hbm.tileentity.TileEntityProxyInventory; -import com.hbm.tileentity.conductor.TileEntityFluidDuct; import com.hbm.tileentity.conductor.TileEntityFluidDuctSimple; import com.hbm.tileentity.conductor.TileEntityGasDuct; import com.hbm.tileentity.conductor.TileEntityGasDuctSolid; @@ -490,17 +489,17 @@ public class Library { if(tileentity instanceof IFluidDuct) { - if(tileentity instanceof TileEntityFluidDuct && ((TileEntityFluidDuct)tileentity).getType().name().equals(type.name())) + if(tileentity instanceof TileEntityFluidDuctSimple && ((TileEntityFluidDuctSimple)tileentity).getType().name().equals(type.name())) { - if(Library.checkUnionListForFluids(((TileEntityFluidDuct)tileentity).uoteab, that)) + if(Library.checkUnionListForFluids(((TileEntityFluidDuctSimple)tileentity).uoteab, that)) { - for(int i = 0; i < ((TileEntityFluidDuct)tileentity).uoteab.size(); i++) + for(int i = 0; i < ((TileEntityFluidDuctSimple)tileentity).uoteab.size(); i++) { - if(((TileEntityFluidDuct)tileentity).uoteab.get(i).source == that) + if(((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).source == that) { - if(((TileEntityFluidDuct)tileentity).uoteab.get(i).ticked != newTact) + if(((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).ticked != newTact) { - ((TileEntityFluidDuct)tileentity).uoteab.get(i).ticked = newTact; + ((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).ticked = newTact; transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); @@ -511,7 +510,7 @@ public class Library { } } } else { - ((TileEntityFluidDuct)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); + ((TileEntityFluidDuctSimple)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); } } if(tileentity instanceof TileEntityGasDuct && ((TileEntityGasDuct)tileentity).type.name().equals(type.name())) diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 39cf09aad..eee994716 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4152)"; + public static final String VERSION = "1.0.27 BETA (4158)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a95fca3f8..45aae560c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -38,6 +38,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; @@ -111,6 +112,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter()); //bombs ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy()); @@ -168,7 +170,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplantNew.class, new RenderChemplant()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineBAT9000.class, new RenderBAT9000()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOrbus.class, new RenderOrbus()); @@ -643,6 +645,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderBlockMultipass()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); + RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); RenderingRegistry.registerBlockHandler(new RenderRBMKRod()); RenderingRegistry.registerBlockHandler(new RenderRBMKReflector()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 05ad56154..9a26dad9d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -11,7 +11,9 @@ import com.hbm.inventory.OreDictManager; import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; + import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumLegendaryType; import com.hbm.items.machine.ItemBattery; import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType; import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage; @@ -237,6 +239,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', W.ingot(), 'T', ModBlocks.machine_transformer, 'P', ModItems.board_copper, 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', MINGRADE.ingot(), 'R', ModItems.wire_red_copper }); addRecipeAuto(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated }); + addRecipeAuto(new ItemStack(ModBlocks.cable_detector, 1), new Object[] { "S", "W", 'S', REDSTONE.dust(), 'W', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.machine_detector, 1), new Object[] { "IRI", "CTC", "IRI", 'I', ModItems.plate_polymer, 'R', REDSTONE.dust(), 'C', ModItems.wire_red_copper, 'T', ModItems.coil_tungsten }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper }); addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() }); @@ -450,7 +453,7 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.pellet_gas, 2), new Object[] { Items.water_bucket, "dustGlowstone", STEEL.plate() }); addRecipeAuto(new ItemStack(ModItems.flame_pony, 1), new Object[] { " O ", "DPD", " O ", 'D', "dyePink", 'O', KEY_YELLOW, 'P', Items.paper }); - addRecipeAuto(new ItemStack(ModItems.flame_conspiracy, 1), new Object[] { " S ", "STS", " S ", 'S', ModItems.canister_kerosene, 'T', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModItems.flame_conspiracy, 1), new Object[] { " S ", "STS", " S ", 'S', Fluids.KEROSENE.getDict(1000), 'T', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.flame_politics, 1), new Object[] { " I ", "IPI", " I ", 'P', Items.paper, 'I', KEY_BLACK }); addRecipeAuto(new ItemStack(ModItems.flame_opinion, 1), new Object[] { " R ", "RPR", " R ", 'P', Items.paper, 'R', KEY_RED }); @@ -459,17 +462,14 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.solid_fuel_presto_triplet, 1), new Object[] { ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.ball_dynamite }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion }); - addRecipeAuto(new ItemStack(ModBlocks.det_cord, 8), new Object[] { "TNT", "NGN", "TNT", 'T', IRON.plate(), 'N', KNO.dust(), 'G', Items.gunpowder }); - addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ModItems.ingot_semtex }); + addRecipeAuto(new ItemStack(ModBlocks.det_cord, 4), new Object[] { " P ", "PGP", " P ", 'P', Items.paper, 'G', Items.gunpowder }); + addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ANY_PLASTICEXPLOSIVE.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PDP", "DCD", "PDP", 'P', ModItems.plate_desh, 'D', ModBlocks.det_charge, 'C', ModItems.man_core }); - addRecipeAuto(new ItemStack(ModBlocks.det_miner, 3), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', Blocks.tnt }); addRecipeAuto(new ItemStack(ModBlocks.det_miner, 4), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', IRON.plate(), 'T', ModItems.ball_dynamite }); - addRecipeAuto(new ItemStack(ModBlocks.det_miner, 12), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', STEEL.plate(), 'T', ModItems.ingot_semtex }); + addRecipeAuto(new ItemStack(ModBlocks.det_miner, 12), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', STEEL.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.emp_bomb, 1), new Object[] { "LML", "LCL", "LML", 'L', PB.plate(), 'M', ModItems.magnetron, 'C', ModItems.circuit_gold }); addShapelessAuto(new ItemStack(ModBlocks.charge_dynamite, 1), new Object[] { ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.ducttape }); addRecipeAuto(new ItemStack(ModBlocks.charge_miner, 1), new Object[] { " F ", "FCF", " F ", 'F', Items.flint, 'C', ModBlocks.charge_dynamite }); - addRecipeAuto(new ItemStack(ModBlocks.dynamite, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_dynamite, 'S', Items.string }); - addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', Items.string }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_generic), new Object[] { " A ", "PRP", "PRP", 'A', ModItems.wire_aluminium, 'P', AL.plate(), 'R', REDSTONE.dust() }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_advanced), new Object[] { " A ", "PSP", "PLP", 'A', ModItems.wire_red_copper, 'P', CU.plate(), 'S', "sulfur", 'L', PB.dust() }); @@ -532,8 +532,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.tank_waste, 1), new Object[] { "PTP", "PTP", "PTP", 'T', ModItems.tank_steel, 'P', STEEL.plate() }); - addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'K', ModItems.canister_kerosene }); - addRecipeAuto(new ItemStack(ModItems.gun_kit_1, 4), new Object[] { "I ", "LB", "P ", 'I', ModItems.plate_polymer, 'L', ModItems.canister_canola, 'B', ModItems.bolt_tungsten, 'P', IRON.plate() }); + addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'K', Fluids.KEROSENE.getDict(1000) }); + addRecipeAuto(new ItemStack(ModItems.gun_kit_1, 4), new Object[] { "I ", "LB", "P ", 'I', ModItems.plate_polymer, 'L', Fluids.LUBRICANT.getDict(1000), 'B', ModItems.bolt_tungsten, 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.gun_kit_2, 1), new Object[] { "III", "GLG", "PPP", 'I', ModItems.plate_polymer, 'L', ModItems.ducttape, 'G', ModItems.gun_kit_1, 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', EUPH.ingot() }); @@ -850,12 +850,15 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_rim_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_rim_green, 'C', KEY_GREEN }); addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_quad_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_quad_green, 'C', KEY_GREEN }); addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_framed_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_framed_green, 'C', KEY_GREEN }); + + addRecipeAuto(new ItemStack(ModBlocks.deco_emitter), new Object[] { "IDI", "DRD", "IDI", 'I', IRON.ingot(), 'D', DIAMOND.gem(), 'R', REDSTONE.block() }); addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', KEY_SLIME, 'P', Items.paper }); addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', ANY_TAR.any(), 'P', Items.paper }); addRecipeAuto(new ItemStack(ModItems.rag, 4), new Object[] { "SW", "WS", 'S', Items.string, 'W', Blocks.wool }); addShapelessAuto(new ItemStack(ModItems.solid_fuel, 10), new Object[] { Fluids.HEATINGOIL.getDict(1000), KEY_TOOL_CHEMISTRYSET }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 2, Fluids.LUBRICANT.getID()), new Object[] { Fluids.HEATINGOIL.getDict(1000), Fluids.UNSATURATEDS.getDict(1000), ModItems.canister_empty, ModItems.canister_empty, KEY_TOOL_CHEMISTRYSET }); addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', ModItems.board_copper }); @@ -865,11 +868,36 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.STARTER.ordinal()), new Object[] { Items.book, Items.iron_ingot }); addShapelessAuto(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), new Object[] { new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_DIGAMMA.ordinal()), KEY_TOOL_SCREWDRIVER, ModItems.ducttape, ModItems.armor_polish }); + addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModBlocks.muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ }); + + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.SMEAR.getID()), new Object[] { ModItems.canister_smear }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), new Object[] { ModItems.canister_canola }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()), new Object[] { ModItems.canister_oil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new Object[] { ModItems.canister_fuel }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.KEROSENE.getID()), new Object[] { ModItems.canister_kerosene }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.RECLAIMED.getID()), new Object[] { ModItems.canister_reoil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.PETROIL.getID()), new Object[] { ModItems.canister_petroil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.GASOLINE_LEADED.getID()), new Object[] { ModItems.canister_gasoline }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.FRACKSOL.getID()), new Object[] { ModItems.canister_fracksol }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.NITAN.getID()), new Object[] { ModItems.canister_NITAN }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.HEAVYOIL.getID()), new Object[] { ModItems.canister_heavyoil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.BITUMEN.getID()), new Object[] { ModItems.canister_bitumen }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.HEATINGOIL.getID()), new Object[] { ModItems.canister_heatingoil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.NAPHTHA.getID()), new Object[] { ModItems.canister_naphtha }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.LIGHTOIL.getID()), new Object[] { ModItems.canister_lightoil }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.BIOFUEL.getID()), new Object[] { ModItems.canister_biofuel }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.ETHANOL.getID()), new Object[] { ModItems.canister_ethanol }); + + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1), new Object[] { ModItems.ingot_chainsteel, ASBESTOS.ingot(), ModItems.gem_alexandrite }); + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2) }); + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_bismuth, ModItems.gem_alexandrite, ModItems.gem_alexandrite }); + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3) }); + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER3), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_smore, ModItems.gem_alexandrite, ModItems.gem_alexandrite, ModItems.gem_alexandrite }); if(GeneralConfig.enableBabyMode) { addShapelessAuto(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); addShapelessAuto(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, KNO.dust() }); - addShapelessAuto(new ItemStack(ModItems.canister_fuel, 1), new Object[] { ModItems.canister_oil, REDSTONE.dust() }); + addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new Object[] { new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()), REDSTONE.dust(), ModItems.canister_empty }); addShapelessAuto(new ItemStack(ModBlocks.ore_uranium, 1), new Object[] { ModBlocks.ore_uranium_scorched, Items.water_bucket }); addRecipeAuto(new ItemStack(ModBlocks.ore_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_uranium_scorched, 'B', Items.water_bucket }); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 5795a2fa2..cb0112dc3 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.math.NumberUtils; import org.apache.logging.log4j.Level; import com.google.common.collect.Multimap; +import com.hbm.blocks.IStepTickReceiver; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; import com.hbm.config.GeneralConfig; @@ -61,6 +62,7 @@ import com.hbm.util.EntityDamageUtil; import com.hbm.world.WorldProviderNTM; import com.hbm.world.generator.TimedGenerator; +import codechicken.lib.math.MathHelper; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -1099,6 +1101,18 @@ public class ModEventHandler { if(player.ticksExisted == 100 || player.ticksExisted == 200) CraftingManager.crumple(); + if(event.phase == TickEvent.Phase.START) { + int x = MathHelper.floor_double(player.posX); + int y = MathHelper.floor_double(player.posY - player.yOffset - 0.5); + int z = MathHelper.floor_double(player.posZ); + Block b = player.worldObj.getBlock(x, y, z); + + if(b instanceof IStepTickReceiver) { + IStepTickReceiver step = (IStepTickReceiver) b; + step.onPlayerStep(player.worldObj, x, y, z, player); + } + } + if(!player.worldObj.isRemote && event.phase == TickEvent.Phase.START) { /// GHOST FIX START /// diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 42688a750..95068fd96 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -549,7 +549,7 @@ public class ModEventHandlerClient { int breeder = TileEntityNukeFurnace.getFuelValue(stack); if(breeder != 0) { - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", (breeder * 5))); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", breeder)); } /// CUSTOM NUKE /// diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 5a8644263..1d57eeb24 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -71,6 +71,10 @@ public class NEIConfig implements IConfigureNEI { API.registerUsageHandler(new LiquefactionHandler()); API.registerRecipeHandler(new SolidificationHandler()); API.registerUsageHandler(new SolidificationHandler()); + API.registerRecipeHandler(new CrackingHandler()); + API.registerUsageHandler(new CrackingHandler()); + API.registerRecipeHandler(new FractioningHandler()); + API.registerUsageHandler(new FractioningHandler()); //Some things are even beyond my control...or are they? API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 992ad0208..cd3adf9cf 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1165,6 +1165,7 @@ public class ResourceManager { public static final IModelCustom cable_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/cable_neo.obj")); public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); + public static final IModelCustom charge_c4 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_c4.obj")); //RBMK DEBRIS public static final IModelCustom deb_blank = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/projectiles/deb_blank.obj")); diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java index e0f6082bd..da86e40ec 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java +++ b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java @@ -6,7 +6,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.inventory.fluid.Fluids; import com.hbm.main.ResourceManager; import com.hbm.render.loader.HmfController; -import com.hbm.tileentity.machine.TileEntityMachineChemplantNew; +import com.hbm.tileentity.machine.TileEntityMachineChemplant; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -55,7 +55,7 @@ public class RenderChemplant extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); - TileEntityMachineChemplantNew chem = (TileEntityMachineChemplantNew) tileEntity; + TileEntityMachineChemplant chem = (TileEntityMachineChemplant) tileEntity; switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { case 5: GL11.glRotatef(180, 0F, 1F, 0F); diff --git a/src/main/java/com/hbm/render/tileentity/RenderEmitter.java b/src/main/java/com/hbm/render/tileentity/RenderEmitter.java new file mode 100644 index 000000000..bf1762f70 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderEmitter.java @@ -0,0 +1,79 @@ +package com.hbm.render.tileentity; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; + +public class RenderEmitter extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glRotatef(90, 0F, 1F, 0F); + + switch(tileEntity.getBlockMetadata()) { + case 0: + GL11.glTranslated(0.0D, 0.5D, -0.5D); + GL11.glRotatef(90, 1F, 0F, 0F); break; + case 1: + GL11.glTranslated(0.0D, 0.5D, 0.5D); + GL11.glRotatef(90, -1F, 0F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glTranslated(0, 0.5, 0.5); + TileEntityEmitter emitter = (TileEntityEmitter) tileEntity; + int range = emitter.beam - 1; + int originalColor = emitter.color == 0 ? Color.HSBtoRGB(tileEntity.getWorldObj().getTotalWorldTime() / 50.0F, 0.5F, 0.25F) & 16777215 : emitter.color; + float girth = emitter.girth; + int r = (originalColor & 0xff0000) >> 16; + int g = (originalColor & 0x00ff00) >> 8; + int b = (originalColor & 0x0000ff); + float innerMult = 0.85F; + float outerMult = 0.1F; + int colorInner = ((int)(r * innerMult) << 16) | ((int)(g * innerMult) << 8) | ((int)(b * innerMult)); + int colorOuter = ((int)(r * outerMult) << 16) | ((int)(g * outerMult) << 8) | ((int)(b * outerMult)); + + if(range > 0) { + + int segments = (int)Math.max(Math.sqrt(girth * 50), 2); + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, 0, 1, 0F, segments, girth); + + if(emitter.effect == 1) { + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorInner, (int) tileEntity.getWorldObj().getTotalWorldTime() / 2, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorInner, (int) tileEntity.getWorldObj().getTotalWorldTime() / 2 + 15, (int)Math.max(range / girth / 4, 1), girth * 2, 4, girth * 0.1F); + } + + if(emitter.effect == 2) { + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 180, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + } + if(emitter.effect == 3) { + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 120, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + BeamPronter.prontBeam(Vec3.createVectorHelper(0, 0, range), EnumWaveType.SPIRAL, EnumBeamType.SOLID, colorOuter, colorInner, (int) (tileEntity.getWorldObj().getTotalWorldTime() + f) * -10 % 360 + 240, (int)Math.max(range / girth / 2, 1), girth * 2, 4, girth * 0.1F); + } + } + + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/util/BeamPronter.java b/src/main/java/com/hbm/render/util/BeamPronter.java index 261667c9d..bdf1f4826 100644 --- a/src/main/java/com/hbm/render/util/BeamPronter.java +++ b/src/main/java/com/hbm/render/util/BeamPronter.java @@ -59,7 +59,8 @@ public class BeamPronter { spinner.rotateAroundY((float) Math.PI * (float) start / 180F); spinner.rotateAroundY((float) Math.PI * 45F / 180F * i); } else if(wave == EnumWaveType.RANDOM) { - spinner.rotateAroundY((float) Math.PI * 4 * rand.nextFloat()); + spinner.rotateAroundY((float) Math.PI * 2 * rand.nextFloat()); + spinner.rotateAroundY((float) Math.PI * 2 * rand.nextFloat()); } double pX = unit.xCoord * segLength * i + spinner.xCoord; @@ -82,7 +83,20 @@ public class BeamPronter { for(int j = 1; j <= layers; j++) { float inter = (float) (j - 1) / (float) (layers - 1); - int color = (int) (outerColor + (innerColor - outerColor) * inter); + + int r1 = ((outerColor & 0xFF0000) >> 16); + int g1 = ((outerColor & 0x00FF00) >> 8); + int b1 = ((outerColor & 0x0000FF) >> 0); + + int r2 = ((innerColor & 0xFF0000) >> 16); + int g2 = ((innerColor & 0x00FF00) >> 8); + int b2 = ((innerColor & 0x0000FF) >> 0); + + int r = ((int)(r1 + (r2 - r1) * inter)) << 16; + int g = ((int)(g1 + (g2 - g1) * inter)) << 8; + int b = ((int)(b1 + (b2 - b1) * inter)) << 0; + + int color = r | g | b; tessellator.startDrawingQuads(); tessellator.setColorOpaque_I(color); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 1bcc0013f..847a98149 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -3,6 +3,7 @@ package com.hbm.tileentity; import java.util.HashMap; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.conductor.*; @@ -188,6 +189,7 @@ public class TileMappings { put(TileEntityLoot.class, "tileentity_ntm_loot"); put(TileEntityBobble.class, "tileentity_ntm_bobblehead"); + put(TileEntityEmitter.class, "tileentity_ntm_emitter"); put(TileEntityDoorGeneric.class, "tileentity_ntm_door"); @@ -244,7 +246,7 @@ public class TileMappings { put(TileEntityMachineLiquefactor.class, "tileentity_liquefactor"); put(TileEntityMachineSolidifier.class, "tileentity_solidifier"); - put(TileEntityMachineChemplantNew.class, "tileentity_chemical_plant"); + put(TileEntityMachineChemplant.class, "tileentity_chemical_plant"); put(TileEntityMachineOilWell.class, "tileentity_derrick"); put(TileEntityMachinePumpjack.class, "tileentity_machine_pumpjack"); put(TileEntityMachineFrackingTower.class, "tileentity_fracking_tower"); diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java index 87cd599b1..715afd4f7 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java @@ -186,9 +186,6 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory entries.put(new ComparableStack(ModBlocks.det_cord), new CustomNukeEntry(EnumBombType.TNT, 1.5F)); entries.put(new ComparableStack(ModItems.ingot_semtex), new CustomNukeEntry(EnumBombType.TNT, 8F)); entries.put(new ComparableStack(ModBlocks.det_charge), new CustomNukeEntry(EnumBombType.TNT, 15F)); - entries.put(new ComparableStack(ModItems.canister_fuel), new CustomNukeEntry(EnumBombType.TNT, 0.5F)); - entries.put(new ComparableStack(ModItems.canister_napalm), new CustomNukeEntry(EnumBombType.TNT, 2.5F)); - entries.put(new ComparableStack(ModItems.canister_kerosene), new CustomNukeEntry(EnumBombType.TNT, 0.8F)); entries.put(new ComparableStack(ModBlocks.red_barrel), new CustomNukeEntry(EnumBombType.TNT, 2.5F)); entries.put(new ComparableStack(ModBlocks.pink_barrel), new CustomNukeEntry(EnumBombType.TNT, 4F)); entries.put(new ComparableStack(ModItems.custom_tnt), new CustomNukeEntry(EnumBombType.TNT, 10F)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index edeac7c23..d4c0341dc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -1,6 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.List; import com.hbm.interfaces.IFluidAcceptor; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java similarity index 93% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java rename to src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 3987dde91..24a59581e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -17,10 +17,13 @@ import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -29,7 +32,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineChemplantNew extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor { +public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor { public long power; public static final long maxPower = 100000; @@ -43,7 +46,7 @@ public class TileEntityMachineChemplantNew extends TileEntityMachineBase impleme int consumption = 100; int speed = 100; - public TileEntityMachineChemplantNew() { + public TileEntityMachineChemplant() { super(21); /* * 0 Battery @@ -88,7 +91,7 @@ public class TileEntityMachineChemplantNew extends TileEntityMachineBase impleme loadItems(); unloadItems(); - if(worldObj.getTotalWorldTime() % 10 == 0) { + if(worldObj.getTotalWorldTime() % 1 == 0) { this.fillFluidInit(tanks[2].getTankType()); this.fillFluidInit(tanks[3].getTankType()); } @@ -127,6 +130,17 @@ public class TileEntityMachineChemplantNew extends TileEntityMachineBase impleme } this.networkPack(data, 150); + } else { + + if(isProgressing && this.worldObj.getTotalWorldTime() % 3 == 0) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + double x = xCoord + 0.5 + dir.offsetX * 1.125 + rot.offsetX * 0.125; + double y = yCoord + 3; + double z = zCoord + 0.5 + dir.offsetZ * 1.125 + rot.offsetZ * 0.125; + worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); + } } } @@ -417,7 +431,7 @@ public class TileEntityMachineChemplantNew extends TileEntityMachineBase impleme * #### */ - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); fillFluid(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, this.getTact(), type); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index 4ad474b47..f56ef6c02 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -1,9 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; + import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.Spaghetti; +import com.hbm.interfaces.Untested; import com.hbm.inventory.FluidTank; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -43,6 +46,15 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I private static final int[] slots_bottom = new int[] {2, 3, 4}; private static final int[] slots_side = new int[] { }; + @Untested + private static HashMap fluidConversions = new HashMap(); + + static { + fluidConversions.put(Fluids.UF6, PseudoFluidType.NUF6); + fluidConversions.put(Fluids.PUF6, PseudoFluidType.PF6); + fluidConversions.put(Fluids.WATZ, PseudoFluidType.MUD); + } + public TileEntityMachineGasCent() { super(6); tank = new FluidTank(Fluids.UF6, 2000, 0); @@ -319,23 +331,11 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I if(tank.getTankType() != newType) { - boolean success = false; + PseudoFluidType pseudo = fluidConversions.get(newType); - if(newType == Fluids.UF6) { - inputTank.setTankType(PseudoFluidType.NUF6); - outputTank.setTankType(PseudoFluidType.NUF6.getOutputFluid()); - success = true; - } else if(newType == Fluids.PUF6) { - inputTank.setTankType(PseudoFluidType.PF6); - outputTank.setTankType(PseudoFluidType.PF6.getOutputFluid()); - success = true; - } else if(newType == Fluids.WATZ) { - inputTank.setTankType(PseudoFluidType.MUD); - outputTank.setTankType(PseudoFluidType.MUD.getOutputFluid()); - success = true; - } - - if(success) { + if(pseudo != null) { + inputTank.setTankType(pseudo); + outputTank.setTankType(pseudo.getOutputFluid()); tank.setTankType(newType); tank.setFill(0); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index ee96435fb..aa875a734 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -8,6 +8,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.FluidTank; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.FluidTypeFlammable; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPellet; @@ -187,27 +188,10 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement } public static final int coalGenRate = 75; - public static final HashMap fuels = new HashMap(); - - static { - fuels.put(Fluids.SMEAR, 50); - fuels.put(Fluids.HEATINGOIL, 75); - fuels.put(Fluids.HYDROGEN, 5); - fuels.put(Fluids.DIESEL, 225); - fuels.put(Fluids.KEROSENE, 300); - fuels.put(Fluids.RECLAIMED, 100); - fuels.put(Fluids.PETROIL, 125); - fuels.put(Fluids.BIOFUEL, 200); - fuels.put(Fluids.GASOLINE, 700); - fuels.put(Fluids.NITAN, 2500); - fuels.put(Fluids.LPG, 200); - fuels.put(Fluids.ETHANOL, 75); - } public int getPowerFromFuel() { FluidType type = tanks[1].getTankType(); - Integer value = fuels.get(type); - return value != null ? value : 0; + return type instanceof FluidTypeFlammable ? (int)(((FluidTypeFlammable) type).getHeatEnergy() / 1000L) : 0; } @Override diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index d86857913..efdccc7e1 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -59,6 +59,7 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); //Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht! registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); diff --git a/src/main/java/com/hbm/util/InventoryUtil.java b/src/main/java/com/hbm/util/InventoryUtil.java index 1a1878bbe..19477712e 100644 --- a/src/main/java/com/hbm/util/InventoryUtil.java +++ b/src/main/java/com/hbm/util/InventoryUtil.java @@ -365,8 +365,10 @@ public class InventoryUtil { if(o instanceof ItemStack[]) { ItemStack[] ingredients = (ItemStack[]) o; - ItemStack[][] stacks = new ItemStack[1][0]; - stacks[0] = ingredients; + ItemStack[][] stacks = new ItemStack[ingredients.length][1]; + for(int i = 0; i < ingredients.length; i++) { + stacks[i][0] = ingredients[i]; + } return stacks; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index e840c4966..838409c55 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -110,9 +110,11 @@ bomb.triggered=Erfolgreich ausgelöst! book.test.page1=Testseite 1 chem.ASPHALT=Asphaltherstellung +chem.BAKELITE=Bakelitherstellung chem.BALEFIRE=BF-Raketentreibstoffherstellung chem.BP_BIOFUEL=Biodieselumesterung chem.BP_BIOGAS=Biogasherstellung +chem.C4=C4-Synthese chem.CC_HEATING=Fortgeschrittene Kohleverflüssigung chem.CC_HEAVY=Einfache Kohleverflüssigung chem.CC_I=Erweiterte Kohleverflüssigung @@ -120,6 +122,8 @@ chem.CC_NAPHTHA=Naphtha-Kohleverflüssigung chem.CC_OIL=Kohleverflüssigung chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung +chem.CO2=CO2-Herstellung +chem.COALGAS_LEADED=Bleikohlebenzin mischen chem.COLTAN_CLEANING=Coltanreinigung chem.COLTAN_CRYSTAL=Tantal-Kristallisierung chem.COLTAN_PAIN=Pandemonium(III)tantalit-Herstellung @@ -148,15 +152,19 @@ chem.FP_SMEAR=Industrieölverarbeitung chem.FR_PETROIL=Gemischherstellung chem.FR_REOIL=Öl-Wiederaufbereitung chem.GASOLINE=Benzinherstellung +chem.GASOLINE_LEADED=Bleibenzin mischen chem.HELIUM3=Helium-3-Extraktion aus Mondgestein chem.KEVLAR=Kevlarverbundherstellung chem.LPG=Petroleumgasverflüssigung +chem.LUBRICANT=Schmieröl mischen chem.NITAN=NITAN-Supertreibstoff mischen chem.OIL_SAND=Teersand-Extraktion chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung chem.PEROXIDE=Wasserstoffperoxidherstellung +chem.PETROIL_LEADED=Bleigemisch mischen chem.POLYMER=Polymersynthese chem.PUF6=Plutoniumhexafluoridproduktion +chem.RUBBER=Gummiherstellung chem.SAS3=Schrabidiumtrisulfatherstellung chem.SATURN=Saturnitherstellung chem.SCHRABIDATE=Eisenschrabidatherstellung @@ -180,6 +188,7 @@ chem.SOLID_FUEL=Festbrennstoffherstellung chem.STEAM=Wasser kochen chem.TEL=TEL mischen chem.TEST=Test +chem.TNT=TNT-Synthese chem.UF6=Uranhexafluoridproduktion chem.VIT_GAS=Gas-Atommüllvitrifizierung chem.VIT_LIQUID=Flüssig-Atommüllvitrifizierung @@ -463,6 +472,7 @@ hbmfluid.bitumen=Bitumen hbmfluid.carbondioxide=Kohlenstoffdioxid hbmfluid.coolant=Kühlflüssigkeit hbmfluid.coalgas=Kohlebenzin +hbmfluid.coalgas_leaded=Bleikohlebenzin hbmfluid.coaloil=Kohleöl hbmfluid.crackoil=Crack-Öl hbmfluid.cryogel=Kryogel @@ -474,7 +484,8 @@ hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas -hbmfluid.gasoline=Bleibenzin +hbmfluid.gasoline=Benzin +hbmfluid.gasoline_leaded=Bleibenzin hbmfluid.heatingoil=Heizöl hbmfluid.heavyoil=Schweröl hbmfluid.heavywater=Schweres Wasser @@ -498,6 +509,7 @@ hbmfluid.oil=Rohöl hbmfluid.oxygen=Flüssiger Sauerstoff hbmfluid.pain=Pandemonium(III)tantalit-Lösung hbmfluid.petroil=Gemisch +hbmfluid.petroil_leaded=Bleigemisch hbmfluid.petroleum=Petroleumgas hbmfluid.plasma_bf=Balefire-Plasma hbmfluid.plasma_dh3=Deuterium-Helium-3-Plasma @@ -935,26 +947,27 @@ item.can_mrsugar.name='Dr. Sugar' Softdrink item.can_overcharge.name=Overcharge Delirium XT item.can_redbomb.name='Red Bomb' Energy-Drink item.can_smart.name='Smart' Energy-Drink -item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff -item.canister_biofuel.name=Biodieselkanister -item.canister_bitumen.name=Bitumenkanister -item.canister_canola.name=Schmiermittelkanister +item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff (LEGACY) +item.canister_biofuel.name=Biodieselkanister (LEGACY) +item.canister_bitumen.name=Bitumenkanister (LEGACY) +item.canister_canola.name=Schmiermittelkanister (LEGACY) item.canister_empty.name=Leerer Kanister -item.canister_ethanol.name=Ethanolkanister -item.canister_fracksol.name=Frackinglösungskanister -item.canister_fuel.name=Dieselkanister -item.canister_gasoline.name=Bleibenzinkanister +item.canister_ethanol.name=Ethanolkanister (LEGACY) +item.canister_fracksol.name=Frackinglösungskanister (LEGACY) +item.canister_fuel.name=Dieselkanister (LEGACY) +item.canister_full.name=Kanister: +item.canister_gasoline.name=Bleibenzinkanister (LEGACY) item.canister_gasoline.desc=blei ist freund$lasse deinen freund in deinen blutstrom$*lädt waffe* jetzt sofort -item.canister_heatingoil.name=Heizölkanister -item.canister_heavyoil.name=Schwerölkanister -item.canister_kerosene.name=Kerosinkanister -item.canister_lightoil.name=Leichtölkanister +item.canister_heatingoil.name=Heizölkanister (LEGACY) +item.canister_heavyoil.name=Schwerölkanister (LEGACY) +item.canister_kerosene.name=Kerosinkanister (LEGACY) +item.canister_lightoil.name=Leichtölkanister (LEGACY) item.canister_napalm.name=Napalm B -item.canister_naphtha.name=Mitteldestillatkanister -item.canister_oil.name=Rohölkanister -item.canister_petroil.name=Gemischkanister -item.canister_reoil.name=Kanister voll aufbereitetem Industrieöl -item.canister_smear.name=Industrieölkanister +item.canister_naphtha.name=Mitteldestillatkanister (LEGACY) +item.canister_oil.name=Rohölkanister (LEGACY) +item.canister_petroil.name=Gemischkanister (LEGACY) +item.canister_reoil.name=Kanister voll aufbereitetem Industrieöl (LEGACY) +item.canister_smear.name=Industrieölkanister (LEGACY) item.canned_asbestos.name=Konservendose (Asbestdämmung) item.canned_ass.name=Konservendose (Esel) item.canned_bark.name=Konservendose (Geräucherte Kiefernrinde) @@ -1594,6 +1607,7 @@ item.ingot_bakelite.name=Bakelitbarren item.ingot_beryllium.name=Berylliumbarren item.ingot_bismuth.name=Bismutbarren item.ingot_boron.name=Borbarren +item.ingot_c4.name=C4-Tafel item.ingot_chainsteel.name=Schwerer Kettenstahl item.ingot_co60.name=Kobalt-60-Barren item.ingot_cobalt.name=Kobaltbarren @@ -1633,6 +1647,7 @@ item.ingot_pu240.name=Plutonium-240-Barren item.ingot_pu241.name=Plutonium-241-Barren item.ingot_red_copper.name=Minecraft-Kupfer item.ingot_reiium.name=Reiiumbarren +item.ingot_rubber.name=Gummitafel item.ingot_saturnite.name=Saturnitbarren item.ingot_schrabidate.name=Eisenschrabidatbarren item.ingot_schrabidium.name=Schrabidiumbarren @@ -2070,6 +2085,7 @@ item.particle_muon.name=Myonenkapsel item.particle_sparkticle.name=Sparktikelkapsel item.particle_strange.name=Strange-Quark-Kapsel item.particle_tachyon.name=Tachyonenkapsel +item.parts_legendary.name=Legendäre Teile item.peas.name=Erbsen item.pedestal_steel.name=Stahlsockel item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet @@ -2604,7 +2620,9 @@ item.steel_pickaxe.name=Stahlspitzhacke item.steel_plate.name=Stahlbrustpanzer item.steel_shovel.name=Stahlschaufel item.steel_sword.name=Stahlschwert +item.stick_c4.name=Stange C4 item.stick_dynamite.name=Stange Dynamit +item.stick_semtex.name=Stange Semtex item.stick_tnt.name=Stange TNT item.stopsign.name=Stopschild-Streitaxt item.sulfur.name=Schwefel @@ -2865,9 +2883,11 @@ tile.block_advanced_alloy.name=Fortgeschrittener Legierungsblock tile.block_aluminium.name=Aluminiumblock tile.block_asbestos.name=Asbestblock tile.block_australium.name=Australiumblock +tile.block_bakelite.name=Bakelitblock tile.block_beryllium.name=Berylliumblock tile.block_bismuth.name=Bismutblock tile.block_boron.name=Borblock +tile.block_c4.name=C4-Block tile.block_cap_fritz.name=Fritz-Kola Kronkorkenblock tile.block_cap_korl.name=Korl Kronkorkenblock tile.block_cap_nuka.name=Nuka Kronkorkenblock @@ -2917,6 +2937,7 @@ tile.block_niobium.name=Niobblock tile.block_plutonium.name=Plutoniumblock tile.block_plutonium_fuel.name=Plutoniumkernbrennstoffblock tile.block_polonium.name=Polonium-210-Block +tile.block_polymer.name=Polymerblock tile.block_pu_mix.name=Reaktorfähiger Plutoniumblock tile.block_pu238.name=Plutonium-238-Block tile.block_pu239.name=Plutonium-239-Block @@ -2924,6 +2945,7 @@ tile.block_pu240.name=Plutonium-240-Block tile.block_red_copper.name=Roter Kupferblock tile.block_red_phosphorus.name=Roter Phosphorblock tile.block_reiium.name=Reiiumblock +tile.block_rubber.name=Gummiblock tile.block_schrabidate.name=Eisenschrabidatblock tile.block_schrabidium.name=Schrabidiumblock tile.block_schrabidium_cluster.name=Schrabidium-Cluster @@ -2988,6 +3010,7 @@ tile.brick_light.name=Helle Ziegel tile.brick_obsidian.name=Obsidianziegel tile.broadcaster_pc.name=Korrupter Sender tile.burning_earth.name=Brennendes Gras +tile.cable_detector.name=Redstone-Stromschalter tile.cable_switch.name=Stromschalter tile.charge_dynamite.name=Zeitbombe tile.charge_miner.name=Bergbauladung mit Zeitzünder @@ -3043,6 +3066,7 @@ tile.crystal_virus.name=Dunkler Kristall tile.deco_aluminium.name=Aluminium-Dekoblock tile.deco_asbestos.name=Asbestdach tile.deco_beryllium.name=Beryllium-Dekoblock +tile.deco_emitter.name=Deko-Lichtemitter tile.deco_lead.name=Blei-Dekoblock tile.deco_rbmk.name=RBMK-Dekoblock tile.deco_rbmk_smooth.name=Glatter RBMK-Dekoblock diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d696458c9..b5c658b3f 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -277,9 +277,11 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea #book.rbmk.page16=§4§lAvoid. chem.ASPHALT=Asphalt Production +chem.BAKELITE=Bakelite Production chem.BALEFIRE=BF Rocket Fuel Mixing chem.BP_BIOFUEL=Biofuel Transesterification chem.BP_BIOGAS=Biogas Production +chem.C4=C-4 Synthesis chem.CC_HEATING=Advanced Coal Liquefaction chem.CC_HEAVY=Basic Coal Liquefaction chem.CC_I=Enhanced Coal Liquefaction @@ -288,6 +290,7 @@ chem.CC_OIL=Coal Liquefaction chem.CIRCUIT_4=Overclocked Circuit Production chem.CIRCUIT_5=High Performance Circuit Production chem.CO2=Carbon Dioxide Production +chem.COALGAS_LEADED=Leaded Coal Gasoline Mixing chem.COLTAN_CLEANING=Coltan Purifying chem.COLTAN_CRYSTAL=Tantalium Crystallizing chem.COLTAN_PAIN=Pandemonium(III)tantalite Production @@ -318,17 +321,21 @@ chem.FR_PETROIL=Petroil Mixing chem.FR_REOIL=Oil Reprocessing chem.FRACKSOL=Fracking Solution Production chem.GASOLINE=Gasoline Production +chem.GASOLINE_LEADED=Leaded Gasoline Mixing chem.HEAVY_ELECTROLYSIS=Heavy Water Cryo-Electrolysis chem.HELIUM3=Helium-3 Extraction from Moon Turf chem.KEVLAR=Kevlar Compound Production chem.LPG=Petroleum Gas Liquefaction +chem.LUBRICANT=Lubricant Mixing chem.METH=Methamphetamine Synthesis chem.NITAN=NITAN Super Fuel Mixing chem.OIL_SAND=Tar Sand Extraction chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production chem.PEROXIDE=Hydrogen Peroxide Production +chem.PETROIL_LEADED=Leaded Petroil Mixing chem.POLYMER=Polymer Synthesis chem.PUF6=Plutonium Hexafluoride Production +chem.RUBBER=Rubber Production chem.SAS3=Schrabidium Trisulfide Production chem.SATURN=Saturnite Production chem.SCHRABIDATE=Ferric Schrabidate Production @@ -352,6 +359,7 @@ chem.SOLID_FUEL=Solid Rocket Fuel Production chem.STEAM=Water Boiling chem.TEL=TEL Mixing chem.TEST=Test +chem.TNT=TNT Synthesis chem.UF6=Uranium Hexafluoride Production chem.VIT_GAS=Gaseous Nuclear Waste Vitrification chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification @@ -655,6 +663,7 @@ hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen hbmfluid.carbondioxide=Carbon Dioxide hbmfluid.coalgas=Coal Gasoline +hbmfluid.coalgas_leaded=Leaded Coal Gasoline hbmfluid.coaloil=Coal Oil hbmfluid.coolant=Coolant hbmfluid.crackoil=Cracked Oil @@ -667,7 +676,8 @@ hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice hbmfluid.fracksol=Fracking Solution hbmfluid.gas=Natural Gas -hbmfluid.gasoline=Leaded Gasoline +hbmfluid.gasoline=Gasoline +hbmfluid.gasoline_leaded=Leaded Gasoline hbmfluid.heatingoil=Heating Oil hbmfluid.heavyoil=Heavy Oil hbmfluid.heavywater=Heavy Water @@ -691,6 +701,7 @@ hbmfluid.oil=Crude Oil hbmfluid.oxygen=Liquid Oxygen hbmfluid.pain=Pandemonium(III)tantalite Solution hbmfluid.petroil=Petroil +hbmfluid.petroil_leaded=Leaded Petroil hbmfluid.petroleum=Petroleum Gas hbmfluid.plasma_bf=Balefire Plasma hbmfluid.plasma_dh3=Deuterium-Helium-3 Plasma @@ -1141,27 +1152,28 @@ item.can_mrsugar.name='Dr. Sugar' Soft Drink item.can_overcharge.name=Overcharge Delirium XT item.can_redbomb.name='Red Bomb' Energy Drink item.can_smart.name='Smart' Energy Drink -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel -item.canister_biofuel.name=Biofuel Canister -item.canister_bitumen.name=Bitumen Canister -item.canister_canola.name=Engine Lubricant +item.canister_NITAN.name=NITAN© 100 Octane Super Fuel (LEGACY) +item.canister_biofuel.name=Biofuel Canister (LEGACY) +item.canister_bitumen.name=Bitumen Canister (LEGACY) +item.canister_canola.name=Engine Lubricant (LEGACY) item.canister_empty.name=Empty Canister -item.canister_ethanol.name=Ethanol Canister -item.canister_fracksol.name=Fracking Solution Canister -item.canister_fuel.name=Diesel Canister +item.canister_ethanol.name=Ethanol Canister (LEGACY) +item.canister_fracksol.name=Fracking Solution Canister (LEGACY) +item.canister_fuel.name=Diesel Canister (LEGACY) item.canister_fuel.desc=All hail the spout! -item.canister_gasoline.name=Leaded Gasoline Canister +item.canister_full.name=Canister: +item.canister_gasoline.name=Leaded Gasoline Canister (LEGACY) item.canister_gasoline.desc=lead is friend$let friend into your blood stream$*cocks gun* do it now. -item.canister_heatingoil.name=Heating Oil Canister -item.canister_heavyoil.name=Heavy Oil Canister -item.canister_kerosene.name=Kerosene Canister -item.canister_lightoil.name=Light Oil Canister +item.canister_heatingoil.name=Heating Oil Canister (LEGACY) +item.canister_heavyoil.name=Heavy Oil Canister (LEGACY) +item.canister_kerosene.name=Kerosene Canister (LEGACY) +item.canister_lightoil.name=Light Oil Canister (LEGACY) item.canister_napalm.name=Napalm B -item.canister_naphtha.name=Naphtha Canister -item.canister_oil.name=Crude Oil Canister -item.canister_petroil.name=Petroil Canister -item.canister_reoil.name=Canister of Reclaimed Industrial Oil -item.canister_smear.name=Industrial Oil Canister +item.canister_naphtha.name=Naphtha Canister (LEGACY) +item.canister_oil.name=Crude Oil Canister (LEGACY) +item.canister_petroil.name=Petroil Canister (LEGACY) +item.canister_reoil.name=Canister of Reclaimed Industrial Oil (LEGACY) +item.canister_smear.name=Industrial Oil Canister (LEGACY) item.canned_asbestos.name=Canned Asbestos item.canned_ass.name=Canned Ass item.canned_bark.name=Canned Pine Bark Jerky @@ -1309,11 +1321,11 @@ item.clip_immolator.name=Tank of Immolator Fuel item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds item.clip_lever_action.name=Box of 12x74 Buckshot Rounds item.clip_mirv.name=Three-In-One Pack of Mini MIRVs -item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine +item.clip_mp.name=Britannia Military Standard Issue Assault Rifle Magazine item.clip_mp40.name=9mm SMG Magazine item.clip_osipr.name=AR2 Magazine item.clip_revolver.name=Box of .357 Rounds -item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine +item.clip_revolver_cursed.name=Britannia Military Standard Issue Pistol Magazine item.clip_revolver_gold.name=Small Coffer of Golden Bullets item.clip_revolver_iron.name=Box of Iron Rounds item.clip_revolver_lead.name=Box of Nuclear Bullets @@ -1821,6 +1833,7 @@ item.ingot_bakelite.name=Bakelite Ingot item.ingot_beryllium.name=Beryllium Ingot item.ingot_bismuth.name=Bismuth Ingot item.ingot_boron.name=Boron Ingot +item.ingot_c4.name=Bar of Composition C-4 item.ingot_chainsteel.name=Heavy Chainsteel item.ingot_co60.name=Cobalt-60 Ingot item.ingot_cobalt.name=Cobalt Ingot @@ -1869,6 +1882,7 @@ item.ingot_pu241.name=Plutonium-241 Ingot item.ingot_ra226.name=Radium-226 Ingot item.ingot_red_copper.name=Minecraft Grade Copper item.ingot_reiium.name=Reiium Ingot +item.ingot_rubber.name=Rubber Bar item.ingot_saturnite.name=Saturnite Ingot item.ingot_schrabidate.name=Ferric Schrabidate Ingot item.ingot_schrabidium.name=Schrabidium Ingot @@ -2332,6 +2346,7 @@ item.particle_muon.name=Muon Capsule item.particle_sparkticle.name=Sparkticle Capsule item.particle_strange.name=Strange Quark Capsule item.particle_tachyon.name=Tachyon Capsule +item.parts_legendary.name=Legendary Parts item.peas.name=Peas item.pedestal_steel.name=Steel Pedestal item.pellet_advanced.name=Advanced Watz Performance Improver @@ -2958,7 +2973,9 @@ item.steel_pickaxe.name=Steel Pickaxe item.steel_plate.name=Steel Chestplate item.steel_shovel.name=Steel Shovel item.steel_sword.name=Steel Sword +item.stick_c4.name=Stick of C-4 item.stick_dynamite.name=Stick of Dynamite +item.stick_semtex.name=Stick of Semtex item.stick_tnt.name=Stick of TNT item.stopsign.name=Stop Sign Battle Axe item.sulfur.name=Sulfur @@ -3229,9 +3246,11 @@ tile.block_advanced_alloy.name=Block of Advanced Alloy tile.block_aluminium.name=Block of Aluminium tile.block_asbestos.name=Block of Asbestos tile.block_australium.name=Block of Australium +tile.block_bakelite.name=Block of Bakelite tile.block_beryllium.name=Block of Beryllium tile.block_bismuth.name=Block of Bismuth tile.block_boron.name=Block of Boron +tile.block_c4.name=Block of C-4 tile.block_cap_fritz.name=Block of Fritz Cola Bottle Caps tile.block_cap_korl.name=Block of Korl Bottle Caps tile.block_cap_nuka.name=Block of Nuka Cola Bottle Caps @@ -3281,6 +3300,7 @@ tile.block_niobium.name=Block of Niobium tile.block_plutonium.name=Block of Plutonium tile.block_plutonium_fuel.name=Block of Plutonium Fuel tile.block_polonium.name=Block of Polonium-210 +tile.block_polymer.name=Block of Polymer tile.block_pu_mix.name=Block of Reactor Grade Plutonium tile.block_pu238.name=Block of Plutonium-238 tile.block_pu239.name=Block of Plutonium-239 @@ -3289,6 +3309,7 @@ tile.block_ra226.name=Block of Radium-226 tile.block_red_copper.name=Block of Red Copper tile.block_red_phosphorus.name=Block of Red Phosphorus tile.block_reiium.name=Block of Reiium +tile.block_rubber.name=Block of Rubber tile.block_schrabidate.name=Block of Ferric Schrabidate tile.block_schrabidium.name=Block of Schrabidium tile.block_schrabidium_cluster.name=Schrabidium Cluster @@ -3353,6 +3374,7 @@ tile.brick_light.name=Light Bricks tile.brick_obsidian.name=Obsidian Bricks tile.broadcaster_pc.name=Corrupted Broadcaster tile.burning_earth.name=Burning Grass +tile.cable_detector.name=Redstone Power Switch tile.cable_switch.name=Power Switch tile.charge_dynamite.name=Time Bomb tile.charge_miner.name=Timed Mining Charge @@ -3408,6 +3430,7 @@ tile.crystal_virus.name=Dark Crystal tile.deco_aluminium.name=Aluminium Deco Block tile.deco_asbestos.name=Asbestos Roof tile.deco_beryllium.name=Beryllium Deco Block +tile.deco_emitter.name=Deco Light Emitter tile.deco_lead.name=Lead Deco Block tile.deco_rbmk.name=RBMK Deco Block tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 2d630ef21..ac169665e 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -791,7 +791,7 @@ hbmfluid.aschrab=Антишрабидий hbmfluid.heavyoil=Тяжелая нефть hbmfluid.bitumen=Битум hbmfluid.heatingoil=Мазут -hbmfluid.naphtha=Лигроин +hbmfluid.naphtha=Нафта hbmfluid.lightoil=Легкая нефть hbmfluid.petroleum=Попутный нефтяной газ hbmfluid.lpg=Сжиженный попутный газ (СПГ) @@ -817,7 +817,9 @@ hbmfluid.plasma_xm=Ксенон-Ртутная-плазма hbmfluid.plasma_bf=Жар-плазма hbmfluid.schrabidic=Шрабидиевая кислота hbmfluid.pain=Пандемониум(III)Раствор танталита -hbmfluid.gasoline=Этилированный бензин +hbmfluid.gasoline=Газолин +hbmfluid.gasoline_leaded=Этилированный газолин +hbmfluid.petroil_leaded=Этилированный бензин hbmfluid.spentsteam=Пар низкого давления hbmfluid.fracksol=Жидкость для гидроразрыва пласта hbmfluid.alcohol=Изопропиловый спирт @@ -849,6 +851,7 @@ hbmfluid.salient=Зелёный сойлент hbmfluid.coalgas=Угольный газ hbmfluid.enderjuice=Эндер-сок hbmfluid.xpjuice=Жидкий опыт +hbmfluid.coalgas_leaded=Этилированный угольный газ //Special for 1.12.2 version// fluid.hbmsteam=Пар @@ -927,7 +930,7 @@ radar.redMode=Режим красного камня$Включён: Сигна chem.TEST=Тест chem.FP_HEAVYOIL=Переработка тяжелой нефти chem.FP_SMEAR=Переработка промышленного масла -chem.FP_NAPHTHA=Переработка лигроина +chem.FP_NAPHTHA=Переработка нафты chem.FP_LIGHTOIL=Переработка легкой нефти chem.FR_REOIL=Воссоздание нефти chem.FR_PETROIL=Смешивание бензина @@ -941,7 +944,7 @@ chem.CC_OIL=Сжижение угля chem.CC_I=Улучшенное сжижение угля chem.CC_HEATING=Усовершенствованное сжижение угля chem.CC_HEAVY=Базовое сжижение угля -chem.CC_NAPHTHA=Сжижение тяжелого бензина +chem.CC_NAPHTHA=Сжижение нафты chem.LPG=Сжижение попутного газа chem.ASPHALT=Производство асфальта chem.CONCRETE=Производство бетона @@ -958,7 +961,7 @@ chem.SF_HEATINGOIL=Затвердевание битума chem.SF_RECLAIMED=Затвердевание очищенного масла chem.SF_PETROIL=Затвердевание бензина chem.SF_LUBRICANT=Затвердевание машинной смазки -chem.SF_NAPHTHA=Затвердевание лигроина +chem.SF_NAPHTHA=Затвердевание нафты chem.SF_DIESEL=Затвердевание дизеля chem.SF_LIGHTOIL=Затвердевание легкой нефти chem.SF_KEROSENE=Затвердевание керосина @@ -996,7 +999,7 @@ chem.COLTAN_CRYSTAL=Кристаллизация тантала chem.COLTAN_PAIN=Производство Пандемониум(III)танталита chem.VIT_GAS=Остекловывание газообразных ядерных отходов chem.VIT_LIQUID=Остекловывание жидких ядерных отходов -chem.GASOLINE=Производство бензина +chem.GASOLINE=Производство газолина chem.TEL=Смешивание тетраэтилсвинца chem.ACRYLIC=Полимеризация акрила chem.ALCOHOL=Гидратация изопропилового спирта @@ -1021,6 +1024,14 @@ chem.HEAVY_ELECTROLYSIS=Электролиз тяжёлой воды chem.ETHANOL=Производство этанола chem.CO2=Получение CO2 путём сжигания природного газа chem.EPEARL=Синтез жемчужин Эндера +chem.BAKELITE=Производство бакелита +chem.C4=Синтез C-4 +chem.COALGAS_LEADED=Смешивание этилированного угольного газа +chem.GASOLINE_LEADED=Смешивание этилированного газолина +chem.LUBRICANT=Смешивание машинной смазки +chem.PETROIL_LEADED=Смешивание этилированного бензина +chem.RUBBER=Производство резины +chem.TNT=Синтез ТНТ item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -1290,6 +1301,7 @@ tile.machine_generator.name=Ядерный реактор (Устаревший) container.generator=Ядерный реактор tile.red_wire_coated.name=Медный кабель с покрытием tile.cable_switch.name=Рубильник +tile.cable_detector.name=Редстоун-рубильник tile.machine_deuterium.name=Дейтериевый экстрактор container.machine_deuterium=Дейтериевый экстрактор tile.machine_battery_potato.name=Картофельная батарея @@ -1739,6 +1751,7 @@ item.plate_schrabidium.name=Шрабидиевая пластина item.ingot_schraranium.name=Шрараниевый слиток item.ingot_schraranium.desc=Делается из урана в шрабидиевом трансмутаторе item.ingot_semtex.name=Семтекс +item.ingot_c4.name=Брусок C-4 item.ingot_schrabidate.name=Слиток шрабидата железа item.powder_schrabidate.name=Порошок шрабидата железа item.ingot_schrabidium.name=Шрабидиевый слиток @@ -1820,6 +1833,7 @@ item.plate_mixed.name=Смешанная пластина item.plate_paa.name=Пластина сплава PaA item.ingot_dura_steel.name=Высокоскоростная сталь item.ingot_polymer.name=Полимер +item.ingot_rubber.name=Резина item.ingot_polonium.name=Слиток полония-210 item.bolt_dura_steel.name=Высокоскоростной стальной стержень item.pipes_steel.name=Стальные трубы @@ -1879,6 +1893,8 @@ item.solid_fuel_presto.name=Топливное полено item.solid_fuel_presto_triplet.name=Сжатые топливные полена item.stick_dynamite.name=Динамитная шашка item.stick_tnt.name=Шашка ТНТ +item.stick_c4.name=Шашка C-4 +item.stick_semtex.name=Шашка семтекса item.rocket_fuel.name=Твердое топливо (Ракетное) item.coke.coal.name=Угольный кокс item.coke.lignite.name=Бурый кокс @@ -2109,8 +2125,11 @@ tile.block_bismuth.name=Блок висмута tile.block_coltan.name=Блок колтана tile.block_tantalium.name=Блок тантала tile.block_semtex.name=Блок семтекса +tile.block_c4.name=Блок C-4 tile.block_smore.name=Блок с'мора tile.block_niobium.name=Блок ниобия +tile.block_bakelite.name=Блок бакелита +tile.block_rubber.name=Блок резины tile.block_ra226.name=Блок радия-226 tile.block_u233.name=Блок урана-233 @@ -2251,6 +2270,7 @@ tile.block_cap_star.name=Блок крышек со звездой от Санс tile.block_cap_sunset.name=Блок крышек от Сансет Сарсапарилла tile.block_tritium.name=Блок тритиевых пробирок tile.hazmat.name=Блок защитной ткани +tile.deco_emitter.name=Декоративный источник света tile.reinforced_brick.name=Усиленный камень tile.reinforced_glass.name=Усиленное стекло @@ -2687,25 +2707,26 @@ item.oil_tar.crack.name=Крекинговая нефтяная смола item.oil_tar.coal.name=Угольная смола item.canister_empty.name=Пустая канистра -item.canister_smear.name=Канистра с промышленным маслом -item.canister_canola.name=Машинная смазка -item.canister_oil.name=Канистра с неочищенной нефтью -item.canister_fuel.name=Канистра с дизелем +item.canister_smear.name=Канистра с промышленным маслом (LEGACY) +item.canister_canola.name=Машинная смазка (LEGACY) +item.canister_oil.name=Канистра с неочищенной нефтью (LEGACY) +item.canister_fuel.name=Канистра с дизелем (LEGACY) item.canister_fuel.desc=Да здравствует носик! -item.canister_kerosene.name=Канистра с керосином -item.canister_reoil.name=Канистра с восстановленным промышленным маслом -item.canister_petroil.name=Канистра с бензином +item.canister_kerosene.name=Канистра с керосином (LEGACY) +item.canister_reoil.name=Канистра с восстановленным промышленным маслом (LEGACY) +item.canister_petroil.name=Канистра с бензином (LEGACY) item.canister_napalm.name=Напалм Б -item.canister_NITAN.name=100-октановое сверхтопливо NITAN© -item.canister_heavyoil.name=Канистра с тяжелой нефтью -item.canister_bitumen.name=Канистра с битумом -item.canister_heatingoil.name=Канистра с мазутом -item.canister_naphtha.name=Канистра тяжелого бензина -item.canister_lightoil.name=Канистра с лёгкой нефтью -item.canister_biofuel.name=Канистра с биотопливом -item.canister_gasoline.name=Канистра с этилированным бензином -item.canister_fracksol.name=Канистра с жидкостью для гидроразрыва пласта -item.canister_ethanol.name=Канистра с этанолом +item.canister_NITAN.name=100-октановое сверхтопливо NITAN© (LEGACY) +item.canister_heavyoil.name=Канистра с тяжелой нефтью (LEGACY) +item.canister_bitumen.name=Канистра с битумом (LEGACY) +item.canister_heatingoil.name=Канистра с мазутом (LEGACY) +item.canister_naphtha.name=Канистра нафты (LEGACY) +item.canister_lightoil.name=Канистра с лёгкой нефтью (LEGACY) +item.canister_biofuel.name=Канистра с биотопливом (LEGACY) +item.canister_gasoline.name=Канистра с этилированным бензином (LEGACY) +item.canister_fracksol.name=Канистра с жидкостью для гидроразрыва пласта (LEGACY) +item.canister_ethanol.name=Канистра с этанолом (LEGACY) +item.canister_full.name=Канистра: item.canister_gasoline.desc=свинец - это друг$впусти друга в свой кровоток$*достаёт пистолет* живо. item.gas_empty.name=Пустой газовый баллон item.gas_full.name=Газовый баллон @@ -4497,6 +4518,7 @@ item.burnt_bark.desc=Кусок коры взорванного золотого item.loot_10.name=Ящик с запчастями от Ракеты 10-го размера item.loot_15.name=Ящик с запчастями от Ракеты 15-го размера item.loot_misc.name=Общий ящик с запчастями от Ракеты +item.parts_legendary.name=Легендарные запчасти item.crystal_horn.name=Кристалльный рог item.crystal_horn.desc=Не настоящий рог. item.crystal_horn.desc.P11=Настоящий рог. @@ -4918,7 +4940,9 @@ tile.block_circuit_tier_5.name=High Performance Supercomputer Calculation Matrix tile.block_circuit_tier_6.name=Spark Supercomputer Calculation Matrix tile.block_electronium.name=§bBlock of Electronium§r tile.block_ferrouranium.name=Reinforced Block of Ferrouranium -tile.block_polymer.name=Block of Polymer +tile.block_polymer.name=Блок полимера +tile.block_bakelite.name=Блок бакелита +tile.block_rubber.name=Блок резины tile.block_saturnite.name=Reinforced Block of Saturnite tile.block_silicon.name=Block of Silicon tile.block_staballoy.name=Reinforced Block of Staballoy diff --git a/src/main/resources/assets/hbm/models/blocks/charge_c4.obj b/src/main/resources/assets/hbm/models/blocks/charge_c4.obj new file mode 100644 index 000000000..2c7440e73 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/charge_c4.obj @@ -0,0 +1,109 @@ +# Blender v2.79 (sub 0) OBJ File: 'charge_c4.blend' +# www.blender.org +o Plane +v -0.250000 -0.312500 -0.250000 +v 0.250000 -0.312500 0.250000 +v -0.250000 -0.312500 0.250000 +v 0.250000 -0.187500 0.250000 +v -0.250000 -0.187500 -0.250000 +v -0.250000 -0.187500 0.250000 +v 0.250000 -0.187500 -0.250000 +v 0.250000 -0.312500 -0.250000 +v -0.468750 -0.500000 0.468750 +v 0.468750 -0.250000 -0.468750 +v -0.031250 -0.500000 0.468750 +v 0.468750 -0.250000 0.468750 +v 0.031250 -0.250000 -0.468750 +v -0.468750 -0.500000 -0.468750 +v 0.031250 -0.250000 0.468750 +v -0.031250 -0.500000 -0.468750 +v 0.031250 -0.500000 0.468750 +v -0.031250 -0.250000 -0.468750 +v 0.468750 -0.500000 0.468750 +v -0.468750 -0.250000 -0.468750 +v -0.468750 -0.250000 0.468750 +v 0.031250 -0.500000 -0.468750 +v -0.031250 -0.250000 0.468750 +v 0.468750 -0.500000 -0.468750 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.875000 +vt 0.750000 0.375000 +vt 0.750000 0.875000 +vt 0.250000 0.375000 +vt 0.750000 0.875000 +vt 0.250000 0.875000 +vt 0.750000 0.250000 +vt 0.250000 0.375000 +vt 0.250000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.375000 +vt 0.250000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.375000 +vt 0.250000 0.250000 +vt 0.250000 0.375000 +vt 0.750000 0.375000 +vt 0.750000 0.375000 +vt 0.750000 0.375000 +vt 0.750000 0.375000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 23/1/1 20/2/1 21/3/1 +f 12/4/1 13/5/1 15/6/1 +f 22/7/2 19/8/2 17/9/2 +f 14/10/2 11/11/2 9/12/2 +f 22/7/3 10/13/3 24/14/3 +f 23/1/4 9/12/4 11/11/4 +f 24/14/5 12/4/5 19/8/5 +f 20/2/3 16/15/3 14/10/3 +f 21/3/6 14/10/6 9/12/6 +f 18/16/5 11/11/5 16/15/5 +f 19/8/4 15/6/4 17/9/4 +f 17/9/6 13/5/6 22/7/6 +f 23/1/1 18/16/1 20/2/1 +f 12/4/1 10/13/1 13/5/1 +f 22/7/2 24/14/2 19/8/2 +f 14/10/2 16/15/2 11/11/2 +f 22/7/3 13/5/3 10/13/3 +f 23/1/4 21/3/4 9/12/4 +f 24/14/5 10/13/5 12/4/5 +f 20/2/3 18/16/3 16/15/3 +f 21/3/6 20/2/6 14/10/6 +f 18/16/5 23/1/5 11/11/5 +f 19/8/4 12/4/4 15/6/4 +f 17/9/6 15/6/6 13/5/6 +s 1 +f 1/17/2 2/18/2 3/19/2 +f 4/20/1 5/21/1 6/22/1 +f 1/23/3 7/24/3 8/25/3 +f 2/26/4 6/27/4 3/28/4 +f 8/29/5 4/20/5 2/30/5 +f 3/31/6 5/32/6 1/33/6 +f 1/17/2 8/34/2 2/18/2 +f 4/20/1 7/35/1 5/21/1 +f 1/23/3 5/36/3 7/24/3 +f 2/26/4 4/37/4 6/27/4 +f 8/29/5 7/35/5 4/20/5 +f 3/31/6 6/38/6 5/32/6 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 40bb51e67..94aa7cb13 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -194,6 +194,7 @@ "step.iron_land": {"category": "player", "sounds": [{"name": "footsteps/iron_land", "stream": false}]}, "step.iron": {"category": "player", "sounds": ["footsteps/iron1", "footsteps/iron2", "footsteps/iron3", "footsteps/iron4"]}, "step.metalBlock": {"category": "block", "sounds": ["footsteps/metalStep1", "footsteps/metalStep2", "footsteps/metalStep3", "footsteps/metalStep4"]}, + "step.powered": {"category": "player", "sounds": ["footsteps/powered1", "footsteps/powered2", "footsteps/powered3"]}, "player.vomit": {"category": "player", "sounds": [{"name": "player/vomit", "stream": false}]}, "player.cough": {"category": "player", "sounds": ["player/cough1", "player/cough2", "player/cough3", "player/cough4"]}, diff --git a/src/main/resources/assets/hbm/sounds/footsteps/powered1.ogg b/src/main/resources/assets/hbm/sounds/footsteps/powered1.ogg new file mode 100644 index 000000000..45146b8e0 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/footsteps/powered1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/footsteps/powered2.ogg b/src/main/resources/assets/hbm/sounds/footsteps/powered2.ogg new file mode 100644 index 000000000..8567d8a3e Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/footsteps/powered2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/footsteps/powered3.ogg b/src/main/resources/assets/hbm/sounds/footsteps/powered3.ogg new file mode 100644 index 000000000..a1e901313 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/footsteps/powered3.ogg differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_bakelite.png b/src/main/resources/assets/hbm/textures/blocks/block_bakelite.png new file mode 100644 index 000000000..1054901bf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_bakelite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_c4.png b/src/main/resources/assets/hbm/textures/blocks/block_c4.png new file mode 100644 index 000000000..c32a93a06 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_c4.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_c4_front.png b/src/main/resources/assets/hbm/textures/blocks/block_c4_front.png new file mode 100644 index 000000000..5623f3596 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_c4_front.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_plastic_base.png b/src/main/resources/assets/hbm/textures/blocks/block_plastic_base.png new file mode 100644 index 000000000..384586229 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_plastic_base.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_polymer.png b/src/main/resources/assets/hbm/textures/blocks/block_polymer.png new file mode 100644 index 000000000..6fac6298c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_polymer.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_rubber.png b/src/main/resources/assets/hbm/textures/blocks/block_rubber.png new file mode 100644 index 000000000..e57f37e7d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_rubber.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cable_detector_off.png b/src/main/resources/assets/hbm/textures/blocks/cable_detector_off.png new file mode 100644 index 000000000..75a65369b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cable_detector_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cable_detector_on.png b/src/main/resources/assets/hbm/textures/blocks/cable_detector_on.png new file mode 100644 index 000000000..c40ffa03f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cable_detector_on.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/charge_c4.png b/src/main/resources/assets/hbm/textures/blocks/charge_c4.png new file mode 100644 index 000000000..9c947873f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/charge_c4.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/charge_semtex.png b/src/main/resources/assets/hbm/textures/blocks/charge_semtex.png new file mode 100644 index 000000000..7886c33d0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/charge_semtex.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/emitter.png b/src/main/resources/assets/hbm/textures/blocks/emitter.png new file mode 100644 index 000000000..cc2cf11e8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/emitter.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/coalgas.png b/src/main/resources/assets/hbm/textures/gui/fluids/coalgas.png new file mode 100644 index 000000000..3f085dbf7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/coalgas.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/coalgas_leaded.png b/src/main/resources/assets/hbm/textures/gui/fluids/coalgas_leaded.png new file mode 100644 index 000000000..c4e45f35e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/coalgas_leaded.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/coaloil.png b/src/main/resources/assets/hbm/textures/gui/fluids/coaloil.png new file mode 100644 index 000000000..765f704f3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/coaloil.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/gasoline.png b/src/main/resources/assets/hbm/textures/gui/fluids/gasoline.png index 8a7b8a4fd..58440ebc7 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/fluids/gasoline.png and b/src/main/resources/assets/hbm/textures/gui/fluids/gasoline.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/gasoline_leaded.png b/src/main/resources/assets/hbm/textures/gui/fluids/gasoline_leaded.png new file mode 100644 index 000000000..829baaa68 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/gasoline_leaded.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/petroil_leaded.png b/src/main/resources/assets/hbm/textures/gui/fluids/petroil_leaded.png new file mode 100644 index 000000000..78458ddd5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/petroil_leaded.png differ diff --git a/src/main/resources/assets/hbm/textures/items/canister_overlay.png b/src/main/resources/assets/hbm/textures/items/canister_overlay.png new file mode 100644 index 000000000..f32b8014f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/canister_overlay.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_BAKELITE.png b/src/main/resources/assets/hbm/textures/items/chem_icon_BAKELITE.png new file mode 100644 index 000000000..038990e50 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_BAKELITE.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_C4.png b/src/main/resources/assets/hbm/textures/items/chem_icon_C4.png new file mode 100644 index 000000000..a2bd93346 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_C4.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_COALGAS_LEADED.png b/src/main/resources/assets/hbm/textures/items/chem_icon_COALGAS_LEADED.png new file mode 100644 index 000000000..eddc981fb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_COALGAS_LEADED.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_DESH.png b/src/main/resources/assets/hbm/textures/items/chem_icon_DESH.png index 7349478c1..7a048c5ba 100644 Binary files a/src/main/resources/assets/hbm/textures/items/chem_icon_DESH.png and b/src/main/resources/assets/hbm/textures/items/chem_icon_DESH.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_GASOLINE_LEADED.png b/src/main/resources/assets/hbm/textures/items/chem_icon_GASOLINE_LEADED.png new file mode 100644 index 000000000..866e8540e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_GASOLINE_LEADED.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_LUBRICANT.png b/src/main/resources/assets/hbm/textures/items/chem_icon_LUBRICANT.png new file mode 100644 index 000000000..8e172c483 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_LUBRICANT.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_PETROIL_LEADED.png b/src/main/resources/assets/hbm/textures/items/chem_icon_PETROIL_LEADED.png new file mode 100644 index 000000000..00b082deb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_PETROIL_LEADED.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_POLYMER.png b/src/main/resources/assets/hbm/textures/items/chem_icon_POLYMER.png index efb64abf2..23d8fabf2 100644 Binary files a/src/main/resources/assets/hbm/textures/items/chem_icon_POLYMER.png and b/src/main/resources/assets/hbm/textures/items/chem_icon_POLYMER.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_RUBBER.png b/src/main/resources/assets/hbm/textures/items/chem_icon_RUBBER.png new file mode 100644 index 000000000..98e9aeddf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_RUBBER.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_SF_DIESEL.png b/src/main/resources/assets/hbm/textures/items/chem_icon_SF_DIESEL.png index 14832b7ea..338ac8ddd 100644 Binary files a/src/main/resources/assets/hbm/textures/items/chem_icon_SF_DIESEL.png and b/src/main/resources/assets/hbm/textures/items/chem_icon_SF_DIESEL.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_TEL.png b/src/main/resources/assets/hbm/textures/items/chem_icon_TEL.png index 5aa581db8..ef8ac0a37 100644 Binary files a/src/main/resources/assets/hbm/textures/items/chem_icon_TEL.png and b/src/main/resources/assets/hbm/textures/items/chem_icon_TEL.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_TNT.png b/src/main/resources/assets/hbm/textures/items/chem_icon_TNT.png new file mode 100644 index 000000000..fcda7da8f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_TNT.png differ diff --git a/src/main/resources/assets/hbm/textures/items/holotape_damaged.png b/src/main/resources/assets/hbm/textures/items/holotape_damaged.png new file mode 100644 index 000000000..35b2bc4be Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/holotape_damaged.png differ diff --git a/src/main/resources/assets/hbm/textures/items/holotape_damaged.png.mcmeta b/src/main/resources/assets/hbm/textures/items/holotape_damaged.png.mcmeta new file mode 100644 index 000000000..d7b41bbd3 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/items/holotape_damaged.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": { } +} diff --git a/src/main/resources/assets/hbm/textures/items/holotape_damaged_base.png b/src/main/resources/assets/hbm/textures/items/holotape_damaged_base.png new file mode 100644 index 000000000..2d3c0c1d0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/holotape_damaged_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_rubber.png b/src/main/resources/assets/hbm/textures/items/ingot_rubber.png new file mode 100644 index 000000000..63c1ba9b6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_rubber.png differ diff --git a/src/main/resources/assets/hbm/textures/items/parts_legendary_1.png b/src/main/resources/assets/hbm/textures/items/parts_legendary.tier1.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/parts_legendary_1.png rename to src/main/resources/assets/hbm/textures/items/parts_legendary.tier1.png diff --git a/src/main/resources/assets/hbm/textures/items/parts_legendary_2.png b/src/main/resources/assets/hbm/textures/items/parts_legendary.tier2.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/parts_legendary_2.png rename to src/main/resources/assets/hbm/textures/items/parts_legendary.tier2.png diff --git a/src/main/resources/assets/hbm/textures/items/parts_legendary_3.png b/src/main/resources/assets/hbm/textures/items/parts_legendary.tier3.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/parts_legendary_3.png rename to src/main/resources/assets/hbm/textures/items/parts_legendary.tier3.png diff --git a/src/main/resources/assets/hbm/textures/items/rpa_boots.png b/src/main/resources/assets/hbm/textures/items/rpa_boots.png new file mode 100644 index 000000000..644609105 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rpa_boots.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rpa_helmet.png b/src/main/resources/assets/hbm/textures/items/rpa_helmet.png new file mode 100644 index 000000000..4d2cbacd9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rpa_helmet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rpa_legs.png b/src/main/resources/assets/hbm/textures/items/rpa_legs.png new file mode 100644 index 000000000..a7a90dbd5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rpa_legs.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rpa_plate.png b/src/main/resources/assets/hbm/textures/items/rpa_plate.png new file mode 100644 index 000000000..239759612 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rpa_plate.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stick_c4.png b/src/main/resources/assets/hbm/textures/items/stick_c4.png new file mode 100644 index 000000000..b501b3342 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/stick_c4.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stick_semtex.png b/src/main/resources/assets/hbm/textures/items/stick_semtex.png new file mode 100644 index 000000000..662d272ad Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/stick_semtex.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stick_tnt.png b/src/main/resources/assets/hbm/textures/items/stick_tnt.png index 3f0808390..6fa5a5518 100644 Binary files a/src/main/resources/assets/hbm/textures/items/stick_tnt.png and b/src/main/resources/assets/hbm/textures/items/stick_tnt.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index bb45c5f46..0c7be7a1c 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4152", + "version":"1.0.27_X4158", "mcversion": "1.7.10", "url": "", "updateUrl": "",