diff --git a/gradle.properties b/gradle.properties index 6efd5257d..2ed57bf47 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,5 +10,5 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ Pashtet (russian localization), MartinTheDragon (calculator, chunk-based fallout), haru315 (spiral point algorithm),\ \ Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\ \ OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (satellite loot system, project settings), Silly541 (config for safe ME drives),\ - \ Voxelstice (OpenComputers integration, turbine spinup), martemen (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood, nitric acid),\ + \ Voxelstice (OpenComputers integration, turbine spinup), martemen (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid),\ \ sdddddf80 (recipe configs), SuperCraftAlex (tooltips) \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index df260fd8e..2aa90a336 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1168,8 +1168,6 @@ public class ModBlocks { public static Block dummy_port_drill; public static Block dummy_block_assembler; public static Block dummy_port_assembler; - public static Block dummy_block_turbofan; - public static Block dummy_port_turbofan; public static Block dummy_block_ams_limiter; public static Block dummy_port_ams_limiter; public static Block dummy_block_ams_emitter; @@ -2286,8 +2284,6 @@ 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_turbofan = new DummyBlockTurbofan(Material.iron, false).setBlockName("dummy_block_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_turbofan = new DummyBlockTurbofan(Material.iron, true).setBlockName("dummy_port_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_block_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); dummy_port_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_port_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); dummy_block_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_block_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); @@ -3345,8 +3341,6 @@ public class ModBlocks { GameRegistry.registerBlock(dummy_port_drill, dummy_port_drill.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_assembler, dummy_block_assembler.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_assembler, dummy_port_assembler.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_turbofan, dummy_block_turbofan.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_turbofan, dummy_port_turbofan.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_ams_limiter, dummy_block_ams_limiter.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_ams_limiter, dummy_port_ams_limiter.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_ams_emitter, dummy_block_ams_emitter.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java index 9e1641ca2..8b5071525 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java @@ -70,9 +70,10 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) world.getTileEntity(pos[0], pos[1], pos[2]); - if(tank.hasExploded) return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + if(tank != null) { + if(tank.hasExploded) return false; + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + } return true; } else { return true; diff --git a/src/main/java/com/hbm/blocks/machine/MachineTurbofan.java b/src/main/java/com/hbm/blocks/machine/MachineTurbofan.java index 3e83e4cf1..fb8a30c88 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTurbofan.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTurbofan.java @@ -1,329 +1,82 @@ package com.hbm.blocks.machine; import java.util.List; -import java.util.Random; +import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; -import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityDummy; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class MachineTurbofan extends BlockContainer implements IMultiblock, ITooltipProvider { +public class MachineTurbofan extends BlockDummyable implements ITooltipProvider { - public MachineTurbofan(Material p_i45386_1_) { - super(p_i45386_1_); + public MachineTurbofan(Material mat) { + super(mat); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineTurbofan(); - + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineTurbofan(); + if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); + return null; } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.machine_turbofan); + public int[] getDimensions() { + return new int[] {2, 0, 1, 1, 3, 3}; } @Override - public int getRenderType() { - return -1; + public int getOffset() { + return 1; } - + @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if (i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionEast)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionEast, ModBlocks.dummy_block_turbofan); - - // - DummyBlockTurbofan.safeBreak = true; - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te = world.getTileEntity(x, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te2 = world.getTileEntity(x - 1, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te3 = world.getTileEntity(x, y, z - 1); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te4 = world.getTileEntity(x - 1, y, z + 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockTurbofan.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionSouth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionSouth, ModBlocks.dummy_block_turbofan); - - // - DummyBlockTurbofan.safeBreak = true; - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_turbofan); - TileEntity te = world.getTileEntity(x + 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te2 = world.getTileEntity(x - 1, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te3 = world.getTileEntity(x + 1, y, z - 1); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_turbofan); - TileEntity te4 = world.getTileEntity(x - 1, y, z); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockTurbofan.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionWest)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionWest, ModBlocks.dummy_block_turbofan); - - // - DummyBlockTurbofan.safeBreak = true; - world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te = world.getTileEntity(x + 1, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_turbofan); - TileEntity te3 = world.getTileEntity(x + 1, y, z - 1); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te4 = world.getTileEntity(x, y, z + 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockTurbofan.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionNorth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionNorth, ModBlocks.dummy_block_turbofan); - - // - DummyBlockTurbofan.safeBreak = true; - world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te = world.getTileEntity(x + 1, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_turbofan); - TileEntity te2 = world.getTileEntity(x - 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_turbofan); - TileEntity te3 = world.getTileEntity(x + 1, y, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_turbofan); - TileEntity te4 = world.getTileEntity(x - 1, y, z + 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockTurbofan.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, - float hitY, float hitZ) { - if (world.isRemote) { + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { return true; - } else if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.linker) { - return false; - }else if (!player.isSneaking()) { - TileEntityMachineTurbofan entity = (TileEntityMachineTurbofan) world.getTileEntity(x, y, z); - if (entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, - y, z); + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + TileEntityMachineTurbofan turbofan = (TileEntityMachineTurbofan) world.getTileEntity(pos[0], pos[1], pos[2]); + + if(turbofan != null) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); } return true; } else { - return false; + return true; } } - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - + @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } + this.makeExtra(world, x, y, z); + this.makeExtra(world, x - rot.offsetX, y, z - rot.offsetZ); + this.makeExtra(world, x - dir.offsetX * 2, y, z - dir.offsetZ * 2); + this.makeExtra(world, x - dir.offsetX * 2 - rot.offsetX, y, z - dir.offsetZ * 2 - rot.offsetZ); + } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:"); list.add(EnumChatFormatting.YELLOW + "-" + FuelGrade.AERO.getGrade() + ": " + EnumChatFormatting.RED + "100%"); } diff --git a/src/main/java/com/hbm/blocks/turret/TurretBaseNT.java b/src/main/java/com/hbm/blocks/turret/TurretBaseNT.java index 2cadcd2a5..1124e4c9e 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretBaseNT.java +++ b/src/main/java/com/hbm/blocks/turret/TurretBaseNT.java @@ -37,20 +37,6 @@ public abstract class TurretBaseNT extends BlockDummyable { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - openGUI(world, player, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } + return this.standardOpenBehavior(world, x, y, z, player, 0); } - - public abstract void openGUI(World world, EntityPlayer player, int x, int y, int z); } diff --git a/src/main/java/com/hbm/blocks/turret/TurretBrandon.java b/src/main/java/com/hbm/blocks/turret/TurretBrandon.java index abd60db0a..29518386a 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretBrandon.java +++ b/src/main/java/com/hbm/blocks/turret/TurretBrandon.java @@ -23,9 +23,4 @@ public class TurretBrandon extends TurretBaseNT { return new TileEntityTurretBrandon(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public void openGUI(World world, EntityPlayer player, int x, int y, int z) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretChekhov.java b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java index d04fa2532..a564148bb 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretChekhov.java +++ b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java @@ -1,13 +1,10 @@ package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretChekhov; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -48,21 +45,4 @@ public class TurretChekhov extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretFriendly.java b/src/main/java/com/hbm/blocks/turret/TurretFriendly.java index 655f9814e..db9a51f44 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretFriendly.java +++ b/src/main/java/com/hbm/blocks/turret/TurretFriendly.java @@ -1,13 +1,10 @@ package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretFriendly; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -47,21 +44,4 @@ public class TurretFriendly extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretFritz.java b/src/main/java/com/hbm/blocks/turret/TurretFritz.java index b43858658..0c291c4af 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretFritz.java +++ b/src/main/java/com/hbm/blocks/turret/TurretFritz.java @@ -1,12 +1,9 @@ package com.hbm.blocks.turret; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretFritz; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -23,9 +20,4 @@ public class TurretFritz extends TurretBaseNT { return new TileEntityTurretFritz(); return new TileEntityProxyCombo().inventory().power().fluid(); } - - @Override - public void openGUI(World world, EntityPlayer player, int x, int y, int z) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretHoward.java b/src/main/java/com/hbm/blocks/turret/TurretHoward.java index 155364774..24ca9dfb8 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretHoward.java +++ b/src/main/java/com/hbm/blocks/turret/TurretHoward.java @@ -47,21 +47,4 @@ public class TurretHoward extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java b/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java index 42eff5702..236194b49 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java +++ b/src/main/java/com/hbm/blocks/turret/TurretHowardDamaged.java @@ -4,6 +4,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.turret.TileEntityTurretHowardDamaged; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -43,4 +44,9 @@ public class TurretHowardDamaged extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { + return false; + } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretJeremy.java b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java index 051b6037f..68dadbdfd 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretJeremy.java +++ b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java @@ -1,13 +1,10 @@ package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretJeremy; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -47,21 +44,4 @@ public class TurretJeremy extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java b/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java index f3026cf58..7cd63716f 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java +++ b/src/main/java/com/hbm/blocks/turret/TurretMaxwell.java @@ -23,9 +23,4 @@ public class TurretMaxwell extends TurretBaseNT { return new TileEntityTurretMaxwell(); return new TileEntityProxyCombo().inventory().power(); } - - @Override - public void openGUI(World world, EntityPlayer player, int x, int y, int z) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } } \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/turret/TurretRichard.java b/src/main/java/com/hbm/blocks/turret/TurretRichard.java index f05c52385..0ced65b81 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretRichard.java +++ b/src/main/java/com/hbm/blocks/turret/TurretRichard.java @@ -1,13 +1,10 @@ package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretRichard; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -47,21 +44,4 @@ public class TurretRichard extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretSentry.java b/src/main/java/com/hbm/blocks/turret/TurretSentry.java index ecf9fe180..99fe28475 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretSentry.java +++ b/src/main/java/com/hbm/blocks/turret/TurretSentry.java @@ -36,7 +36,7 @@ public class TurretSentry extends BlockContainer { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); return true; } else { - return true; + return false; } } diff --git a/src/main/java/com/hbm/blocks/turret/TurretTauon.java b/src/main/java/com/hbm/blocks/turret/TurretTauon.java index 5a8d044a2..e9e7a17e4 100644 --- a/src/main/java/com/hbm/blocks/turret/TurretTauon.java +++ b/src/main/java/com/hbm/blocks/turret/TurretTauon.java @@ -1,13 +1,10 @@ package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretTauon; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -47,21 +44,4 @@ public class TurretTauon extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - int[] pos = this.findCore(world, x, y, z); - - if(pos == null) - return false; - - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); - return true; - } else { - return false; - } - } } diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index 3474dc44f..d4dd9d69c 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -120,6 +120,7 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_fab }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget(), DictFrame.fromOne(ModItems.plant_item, ItemEnums.EnumPlantType.TOBACCO) }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.crackpipe, 1), new Object[] { ModItems.catalytic_converter }); if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleMedicineRecipes) { CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), GOLD.nugget() }); diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index a105d4e87..0031d4a30 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -127,6 +127,7 @@ public class HazardRegistry { public static final float ingot = 1.0F; public static final float gem = 1.0F; public static final float plate = 1.0F; + public static final float plateCast = 3.0F; public static final float powder_mult = 3.0F; public static final float powder = ingot * powder_mult; public static final float powder_tiny = nugget * powder_mult; diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 803de8b08..e46eaf7be 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -19,6 +19,8 @@ import com.hbm.hazard.HazardEntry; import com.hbm.hazard.HazardRegistry; import com.hbm.hazard.HazardSystem; import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.NTMMaterial; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumBriquetteType; import com.hbm.items.ItemEnums.EnumCokeType; @@ -170,6 +172,8 @@ 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 PET = new DictFrame("PET"); + public static final DictFrame PVC = new DictFrame("PVC"); public static final DictFrame RUBBER = new DictFrame("Rubber"); public static final DictFrame MAGTUNG = new DictFrame("MagnetizedTungsten"); public static final DictFrame CMB = new DictFrame("CMBSteel"); @@ -260,6 +264,8 @@ public class OreDictManager { */ /** Any post oil polymer like teflon ("polymer") or bakelite */ 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 + /** Any post vacuum polymer like PET or PVC */ + public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PET, PVC); /** Any "powder" propellant like gunpowder, ballistite and cordite */ public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); /** Any smokeless powder like ballistite and cordite */ @@ -344,6 +350,8 @@ public class OreDictManager { 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); + PET .ingot(ingot_pet); + PVC .ingot(ingot_pvc); 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); @@ -452,6 +460,10 @@ public class OreDictManager { OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth); OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic); + for(NTMMaterial mat : Mats.orderedList) { + for(String name : mat.names) OreDictionary.registerOre("plateTriple" + name, new ItemStack(ModItems.plate_cast, 1, mat.id)); + } + for(EnumBedrockOre ore : EnumBedrockOre.values()) { OreDictionary.registerOre("ore" + ore.oreName, new ItemStack(ModItems.ore_enriched, 1, ore.ordinal())); } @@ -535,6 +547,7 @@ public class OreDictManager { public static void registerGroups() { ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true); + ANY_HARDPLASTIC.addPrefix(INGOT, true); ANY_TAR.addPrefix(ANY, false); } @@ -572,18 +585,19 @@ public class OreDictManager { /* * Quick access methods to grab ore names for recipes. */ - public String any() { return ANY + mats[0]; } - public String nugget() { return NUGGET + mats[0]; } - public String tiny() { return TINY + mats[0]; } - public String ingot() { return INGOT + mats[0]; } - public String dustTiny() { return DUSTTINY + mats[0]; } - public String dust() { return DUST + mats[0]; } - public String gem() { return GEM + mats[0]; } - public String crystal() { return CRYSTAL + mats[0]; } - public String plate() { return PLATE + mats[0]; } - public String billet() { return BILLET + mats[0]; } - public String block() { return BLOCK + mats[0]; } - public String ore() { return ORE + mats[0]; } + public String any() { return ANY + mats[0]; } + public String nugget() { return NUGGET + mats[0]; } + public String tiny() { return TINY + mats[0]; } + public String ingot() { return INGOT + mats[0]; } + public String dustTiny() { return DUSTTINY + mats[0]; } + public String dust() { return DUST + mats[0]; } + public String gem() { return GEM + mats[0]; } + public String crystal() { return CRYSTAL + mats[0]; } + public String plate() { return PLATE + mats[0]; } + public String plateCast() { return PLATECAST + mats[0]; } + public String billet() { return BILLET + mats[0]; } + public String block() { return BLOCK + mats[0]; } + public String ore() { return ORE + mats[0]; } public String[] anys() { return appendToAll(ANY); } public String[] nuggets() { return appendToAll(NUGGET); } public String[] tinys() { return appendToAll(TINY); } @@ -594,6 +608,7 @@ public class OreDictManager { public String[] gems() { return appendToAll(GEM); } public String[] crystals() { return appendToAll(CRYSTAL); } public String[] plates() { return appendToAll(PLATE); } + public String[] plateCasts() { return appendToAll(PLATECAST); } public String[] billets() { return appendToAll(BILLET); } public String[] blocks() { return appendToAll(BLOCK); } public String[] ores() { return appendToAll(ORE); } @@ -685,6 +700,10 @@ public class OreDictManager { hazMult = HazardRegistry.plate; return makeObject(PLATE, plate); } + public DictFrame plateCast(Object... plate) { + hazMult = HazardRegistry.plateCast; + return makeObject(PLATECAST, plate); + } public DictFrame billet(Object... billet) { hazMult = HazardRegistry.billet; return makeObject(BILLET, billet); diff --git a/src/main/java/com/hbm/inventory/OreNames.java b/src/main/java/com/hbm/inventory/OreNames.java index ab7653b78..5aaa55a62 100644 --- a/src/main/java/com/hbm/inventory/OreNames.java +++ b/src/main/java/com/hbm/inventory/OreNames.java @@ -14,6 +14,7 @@ public class OreNames { public static final String GEM = "gem"; public static final String CRYSTAL = "crystal"; public static final String PLATE = "plate"; + public static final String PLATECAST = "plateTriple"; public static final String BILLET = "billet"; public static final String BLOCK = "block"; public static final String ORE = "ore"; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java index ceb23c863..d8b0842ae 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java @@ -1,8 +1,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; +import api.hbm.energy.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -70,14 +73,28 @@ public class ContainerMachineCatalyticReformer extends Container { if(!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 0, 1, false)) - if(!this.mergeItemStack(var5, 1, 2, false)) - if(!this.mergeItemStack(var5, 3, 4, false)) - if(!this.mergeItemStack(var5, 5, 6, false)) - if(!this.mergeItemStack(var5, 7, 8, false)) - if(!this.mergeItemStack(var5, 9, 11, false)) { + } else { + + if(var3.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else if(var3.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(var5, 9, 10, false)) { + return null; + } + } else if(var3.getItem() == ModItems.catalytic_converter) { + if(!this.mergeItemStack(var5, 10, 11, false)) { + return null; + } + } else { + if(!this.mergeItemStack(var5, 1, 2, false)) + if(!this.mergeItemStack(var5, 3, 4, false)) + if(!this.mergeItemStack(var5, 5, 6, false)) + if(!this.mergeItemStack(var5, 7, 8, false)) return null; - } + } + } if(var5.stackSize == 0) { var4.putStack((ItemStack) null); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java index 2c7e09615..a01e1aced 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java @@ -22,19 +22,18 @@ public class ContainerMachineTurbofan extends Container { this.addSlotToContainer(new Slot(tedf, 0, 17, 17)); this.addSlotToContainer(new SlotMachineOutput(tedf, 1, 17, 53)); - this.addSlotToContainer(new Slot(tedf, 2, 107, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 98, 71)); + this.addSlotToContainer(new Slot(tedf, 3, 143, 71)); + this.addSlotToContainer(new Slot(tedf, 4, 44, 71)); - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 121 + i * 18)); } } - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 179)); } } @@ -45,40 +44,32 @@ public class ContainerMachineTurbofan extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { + + if(var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - - if (par2 <= 2) { - if (!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) - { + + if(par2 <= 4) { + if(!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) { return null; } - } - else if (!this.mergeItemStack(var5, 0, 1, false)) - { - if (!this.mergeItemStack(var5, 2, 3, false)) + } else if(!this.mergeItemStack(var5, 0, 1, false)) { + if(!this.mergeItemStack(var5, 2, 3, false)) return null; } - - if (var5.stackSize == 0) - { + + if(var5.stackSize == 0) { var4.putStack((ItemStack) null); - } - else - { + } else { var4.onSlotChanged(); } } - + return var3; - } + } @Override public boolean canInteractWith(EntityPlayer player) { diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 98f41b41b..459ca6658 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -234,15 +234,15 @@ public class Fluids { OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS); RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F)); CHLORINE = new FluidType("CHLORINE", 0xBAB572, 4, 0, 0, EnumSymbol.OXIDIZER).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1)); - HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); - REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); - LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0x513F39, ExtContainer.CANISTER); + REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xD180D6, ExtContainer.CANISTER); + LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xB46B52, ExtContainer.CANISTER); SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addTraits(GASEOUS, new FT_Corrosive(10)); - XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID); - HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); - DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); - DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); - KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xA380D6, ExtContainer.CANISTER); + HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0x694235, ExtContainer.CANISTER); + DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFFC500, ExtContainer.CANISTER); + DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFFC500, ExtContainer.CANISTER); + KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFF377D, ExtContainer.CANISTER); REFORMGAS = new FluidType(99, "REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addTraits(GASEOUS); @@ -417,6 +417,8 @@ public class Fluids { double complexityChemplant = 1.1D; double complexityLubed = 1.15D; double complexityLeaded = 1.5D; + double complexityVacuum = 3.0D; + double complexityReform = 2.5D; double flammabilityLow = 0.25D; double flammabilityNormal = 1.0D; double flammabilityHigh = 2.0D; @@ -430,7 +432,7 @@ public class Fluids { registerCalculatedFuel(RECLAIMED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant), 1.25D, FuelGrade.LOW); registerCalculatedFuel(PETROIL, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(PETROIL_LEADED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed * complexityLeaded), 1.5D, FuelGrade.MEDIUM); - registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.0D, FuelGrade.LOW); + registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.25D, FuelGrade.LOW); registerCalculatedFuel(NAPHTHA, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(NAPHTHA_CRACK, (baseline / 0.40 * flammabilityLow * demandLow * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(GASOLINE, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant), 2.5D, FuelGrade.HIGH); @@ -446,8 +448,17 @@ public class Fluids { registerCalculatedFuel(LPG, (baseline / 0.05 * flammabilityNormal * demandMedium * complexityRefinery * complexityChemplant), 2.5, FuelGrade.HIGH); registerCalculatedFuel(NITAN, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 25L, 2.5, FuelGrade.HIGH); registerCalculatedFuel(BALEFIRE, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 100L, 2.5, FuelGrade.HIGH); + registerCalculatedFuel(HEAVYOIL_VACUUM, (baseline / 0.4 * flammabilityLow * demandLow * complexityVacuum), 1.25D, FuelGrade.LOW); + registerCalculatedFuel(REFORMATE, (baseline / 0.25 * flammabilityNormal * demandHigh * complexityVacuum), 2.5D, FuelGrade.HIGH); + registerCalculatedFuel(LIGHTOIL_VACUUM, (baseline / 0.20 * flammabilityNormal * demandHigh * complexityVacuum), 1.5D, FuelGrade.MEDIUM); + registerCalculatedFuel(SOURGAS, (baseline / 0.15 * flammabilityLow * demandVeryLow * complexityVacuum), 0, null); + registerCalculatedFuel(XYLENE, (baseline / 0.15 * flammabilityNormal * demandMedium * complexityVacuum * complexityFraction), 2.5D, FuelGrade.HIGH); + registerCalculatedFuel(HEATINGOIL_VACUUM, (baseline / 0.24 * flammabilityNormal * demandLow * complexityVacuum * complexityFraction), 1.25D, FuelGrade.LOW); + registerCalculatedFuel(DIESEL_REFORM, DIESEL.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH); + registerCalculatedFuel(DIESEL_CRACK_REFORM, DIESEL_CRACK.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH); + registerCalculatedFuel(KEROSENE_REFORM, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 1.5D, FuelGrade.AERO); + registerCalculatedFuel(REFORMGAS, (baseline / 0.06 * flammabilityHigh * demandLow * complexityVacuum * complexityFraction), 1.25D, FuelGrade.GAS); - //TODO: consult the spreadsheet for the values of the vacuum oils //all hail the spreadsheet //the spreadsheet must not be questioned //none may enter the orb- i mean the spreadsheet diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbofan.java b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbofan.java index 27fbdedb4..60b4fe459 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbofan.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbofan.java @@ -4,6 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineTurbofan; import com.hbm.lib.RefStrings; +import com.hbm.render.util.GaugeUtil; +import com.hbm.render.util.GaugeUtil.Gauge; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; import net.minecraft.client.Minecraft; @@ -13,55 +15,49 @@ import net.minecraft.util.ResourceLocation; public class GUIMachineTurbofan extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_turbofan.png"); - private TileEntityMachineTurbofan diFurnace; + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_turbofan.png"); + private TileEntityMachineTurbofan turbofan; public GUIMachineTurbofan(InventoryPlayer invPlayer, TileEntityMachineTurbofan tedf) { super(new ContainerMachineTurbofan(invPlayer, tedf)); - diFurnace = tedf; + turbofan = tedf; this.xSize = 176; - this.ySize = 166; + this.ySize = 203; } @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 69 - 52, 34, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152 - 9, guiTop + 69 - 52, 16, 52, diFurnace.power, diFurnace.maxPower); - - String[] text = new String[] { "Acceptable upgrades:", - " -Pink (afterburner)" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 21, 8, 8, guiLeft + 96, guiTop + 21 + 16, text); + turbofan.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 17, 34, 52); + if(turbofan.showBlood) turbofan.blood.renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 17, 16, 16); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 17, 16, 52, turbofan.power, turbofan.maxPower); } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.turbofan.hasCustomInventoryName() ? this.turbofan.getInventoryName() : I18n.format(this.turbofan.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(name, 43 - 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_) { + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(diFurnace.power > 0) { - int i = (int)diFurnace.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 152 - 9, guiTop + 69 - i, 176 + 16, 52 - i, 16, i); - } + int i = (int)turbofan.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 152 - 9, guiTop + 69 - i, 176 + 16, 52 - i, 16, i); - if(diFurnace.afterburner > 0) { - int i = Math.min(diFurnace.afterburner, 6); - drawTexturedModalRect(guiLeft + 107, guiTop + 53, 176, (i - 1) * 16, 16, 16); + if(turbofan.afterburner > 0) { + int a = Math.min(turbofan.afterburner, 6); + drawTexturedModalRect(guiLeft + 98, guiTop + 44, 176, (a - 1) * 16, 16, 16); } - this.drawInfoPanel(guiLeft + 96, guiTop + 21, 8, 8, 8); - - diFurnace.tank.renderTank(guiLeft + 53, guiTop + 69, this.zLevel, 34, 52); + if(turbofan.showBlood) GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 97, guiTop + 16, this.zLevel, (double) turbofan.blood.getFill() / (double) turbofan.blood.getMaxFill()); + turbofan.tank.renderTank(guiLeft + 35, guiTop + 69, this.zLevel, 34, 52); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretBase.java b/src/main/java/com/hbm/inventory/gui/GUITurretBase.java index 7624ac28a..c4c79e551 100644 --- a/src/main/java/com/hbm/inventory/gui/GUITurretBase.java +++ b/src/main/java/com/hbm/inventory/gui/GUITurretBase.java @@ -93,9 +93,11 @@ public abstract class GUITurretBase extends GuiInfoContainer { lines.add(list.subList(0, list.size() / 2).toArray()); lines.add(list.subList(list.size() / 2, list.size()).toArray()); } else { - lines.add(list.subList(0, list.size() / 3).toArray()); - lines.add(list.subList(list.size() / 3, list.size() / 3 * 2).toArray()); - lines.add(list.subList(list.size() / 3 * 2, list.size()).toArray()); + int bound0 = (int) Math.ceil(list.size() / 3D); + int bound1 = (int) Math.ceil(list.size() / 3D * 2D); + lines.add(list.subList(0, bound0).toArray()); + lines.add(list.subList(bound0, bound1).toArray()); + lines.add(list.subList(bound1, list.size()).toArray()); } lines.add(new Object[] {I18nUtil.resolveKey(selected.getDisplayName())}); diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretFritz.java b/src/main/java/com/hbm/inventory/gui/GUITurretFritz.java index 30dc93484..6bb6eefde 100644 --- a/src/main/java/com/hbm/inventory/gui/GUITurretFritz.java +++ b/src/main/java/com/hbm/inventory/gui/GUITurretFritz.java @@ -28,8 +28,7 @@ public class GUITurretFritz extends GUITurretBase { super.drawGuiContainerBackgroundLayer(p_146976_1_, mX, mY); FluidTank tank = ((TileEntityTurretFritz)this.turret).tank; - - tank.renderTank(guiLeft + 134, guiTop + 116, this.zLevel, 7, 52); + tank.renderTank(guiLeft + 134, guiTop + 115, this.zLevel, 7, 52); } protected ResourceLocation getTexture() { diff --git a/src/main/java/com/hbm/inventory/material/MaterialShapes.java b/src/main/java/com/hbm/inventory/material/MaterialShapes.java index 773a4aafb..4a21f6c2a 100644 --- a/src/main/java/com/hbm/inventory/material/MaterialShapes.java +++ b/src/main/java/com/hbm/inventory/material/MaterialShapes.java @@ -19,6 +19,7 @@ public class MaterialShapes { public static final MaterialShapes CRYSTAL = new MaterialShapes(INGOT.quantity, "crystal"); public static final MaterialShapes DUST = new MaterialShapes(INGOT.quantity, "dust"); public static final MaterialShapes PLATE = new MaterialShapes(INGOT.quantity, "plate"); + public static final MaterialShapes CASTPLATE = new MaterialShapes(INGOT.quantity * 3, "plateTriple"); public static final MaterialShapes QUART = new MaterialShapes(162); public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block"); diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index cc979d2b4..a25c822da 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -47,7 +47,7 @@ public class Mats { public static final int _AS = 30; //Vanilla and vanilla-like - public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x4D2F23).omitAutoGen(); + public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x808080, 0x4D2F23).omitAutoGen(); public static final NTMMaterial MAT_CARBON = makeAdditive( 1499, df("Carbon"), 0x404040).omitAutoGen(); public static final NTMMaterial MAT_COAL = make( 1400, COAL) .setConversion(MAT_CARBON, 2, 1).omitAutoGen(); public static final NTMMaterial MAT_LIGNITE = make( 1401, LIGNITE) .setConversion(MAT_CARBON, 3, 1); @@ -55,7 +55,7 @@ public class Mats { public static final NTMMaterial MAT_PETCOKE = make( 1411, PETCOKE) .setConversion(MAT_CARBON, 4, 3); public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3); public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1); - public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFA259).omitAutoGen(); + public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0xFFA259).omitAutoGen(); public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen(); public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen(); public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen(); @@ -85,7 +85,7 @@ public class Mats { public static final NTMMaterial MAT_TECHNIETIUM = makeSmeltable(4399, TC99, 0xCADFDF).setShapes(NUGGET, BILLET, INGOT, BLOCK); public static final NTMMaterial MAT_RADIUM = makeSmeltable(8826, RA226, 0xE9FAF6).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ACTINIUM = makeSmeltable(8927, AC227, 0x958989).setShapes(NUGGET, BILLET, INGOT); - public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0x8F72AE).setShapes(NUGGET, BILLET, INGOT, DUST); + public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0x92A1C0, 0x8F72AE).setShapes(NUGGET, BILLET, INGOT, DUST); public static final NTMMaterial MAT_AU198 = makeSmeltable(7998, AU198, 0xE8D754).setShapes(NUGGET, BILLET, INGOT, DUST); public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0x7B535D).setShapes(NUGGET, BILLET, INGOT, DUST); public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF).setShapes(NUGGET, WIRE, BILLET, INGOT, DUST, PLATE, BLOCK); @@ -97,16 +97,16 @@ public class Mats { //Base metals public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xA99E79).setShapes(INGOT, DUST, PLATE, BLOCK); public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xC18336).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK); - public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x977474).setShapes(WIRE, INGOT, DUST, BLOCK); - public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK); + public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x565656, 0x977474).setShapes(WIRE, INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xE8F2F9, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK); public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0x646470).setShapes(NUGGET, INGOT, DUST, PLATE, BLOCK); public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, df("Bismuth"), 0xB200FF).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x558080).setShapes(NUGGET, INGOT); public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xA89B74).setShapes(NUGGET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xD576B1).setShapes(NUGGET, DUSTTINY, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xAE9572).setShapes(NUGGET, INGOT, DUST, BLOCK); - public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK); - public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0x92A1C0, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0x8D98A2, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK); //Alloys public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, BLOCK); @@ -121,17 +121,20 @@ public class Mats { public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, BLOCK); public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xDECCAD).setShapes(DUST); public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x6C6562).setShapes(BLOCK); + + public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color); } + public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color); } public static NTMMaterial make(int id, DictFrame dict) { return new NTMMaterial(id, dict); } - public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { - return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.SMELTABLE).setMoltenColor(color); + public static NTMMaterial makeSmeltable(int id, DictFrame dict, int solidColor, int moltenColor) { + return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.SMELTABLE).setSolidColor(solidColor).setMoltenColor(moltenColor); } - public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { - return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.ADDITIVE).setMoltenColor(color); + public static NTMMaterial makeAdditive(int id, DictFrame dict, int solidColor, int moltenColor) { + return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.ADDITIVE).setSolidColor(solidColor).setMoltenColor(moltenColor); } public static DictFrame df(String string) { diff --git a/src/main/java/com/hbm/inventory/material/NTMMaterial.java b/src/main/java/com/hbm/inventory/material/NTMMaterial.java index 9fd26a97e..3df654ff4 100644 --- a/src/main/java/com/hbm/inventory/material/NTMMaterial.java +++ b/src/main/java/com/hbm/inventory/material/NTMMaterial.java @@ -14,7 +14,7 @@ public class NTMMaterial { public MaterialShapes[] shapes = new MaterialShapes[0]; public boolean omitItemGen = false; public SmeltingBehavior smeltable = SmeltingBehavior.NOT_SMELTABLE; - public int solidColor = 0xFF4A00; //TODO + public int solidColor = 0xFF4A00; public int moltenColor = 0xFF4A00; public NTMMaterial smeltsInto; @@ -67,6 +67,11 @@ public class NTMMaterial { return this; } + public NTMMaterial setSolidColor(int color) { + this.solidColor = color; + return this; + } + public NTMMaterial setMoltenColor(int color) { this.moltenColor = color; return this; diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 7ce2a4fb2..3f6afa76a 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -170,7 +170,6 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50); makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50); makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.motor, 1), }, 100); - //makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },150); makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100); makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new ComparableStack(ModItems.board_copper, 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit_copper, 1), },100); @@ -193,7 +192,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.warhead_buster_medium, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModBlocks.det_charge, 4), },150); makeRecipe(new ComparableStack(ModItems.warhead_buster_large, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new ComparableStack(ModBlocks.det_charge, 8), },200); makeRecipe(new ComparableStack(ModItems.warhead_nuclear, 1), new AStack[] {new ComparableStack(ModItems.boy_shielding, 1), new ComparableStack(ModItems.boy_target, 1), new ComparableStack(ModItems.boy_bullet, 1), new ComparableStack(ModItems.boy_propellant, 1), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), },300); - makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), },500); + makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new ComparableStack(ModItems.ball_tatb, 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), },500); 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); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index b9598c739..018a06ff6 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -110,7 +110,9 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModItems.ingot_rubber))); recipes.add(new ChemRecipe(94, "PET", 100) .inputItems(new OreDictStack(AL.dust())) - .inputFluids(new FluidStack(Fluids.XYLENE, 500)) + .inputFluids( + new FluidStack(Fluids.XYLENE, 500), + new FluidStack(Fluids.OXYGEN, 100)) .outputItems(new ItemStack(ModItems.ingot_pet))); recipes.add(new ChemRecipe(89, "DYNAMITE", 50) .inputItems( diff --git a/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java index b8cfd357c..7bfe680ec 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java @@ -40,15 +40,17 @@ public class CrackingRecipes extends SerializableRecipe { @Override public void registerDefaults() { - cracking.put(Fluids.OIL, new Pair(new FluidStack(Fluids.CRACKOIL, oil_crack_oil), new FluidStack(Fluids.PETROLEUM, oil_crack_petro))); - cracking.put(Fluids.BITUMEN, new Pair(new FluidStack(Fluids.OIL, bitumen_crack_oil), new FluidStack(Fluids.AROMATICS, bitumen_crack_aroma))); - cracking.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.NAPHTHA, smear_crack_napht), new FluidStack(Fluids.PETROLEUM, smear_crack_petro))); - cracking.put(Fluids.GAS, new Pair(new FluidStack(Fluids.PETROLEUM, gas_crack_petro), new FluidStack(Fluids.UNSATURATEDS, gas_crack_unsat))); - cracking.put(Fluids.DIESEL, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro))); - cracking.put(Fluids.DIESEL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro))); - cracking.put(Fluids.KEROSENE, new Pair(new FluidStack(Fluids.PETROLEUM, kero_crack_petro), new FluidStack(Fluids.NONE, 0))); - cracking.put(Fluids.WOODOIL, new Pair(new FluidStack(Fluids.HEATINGOIL, wood_crack_heat), new FluidStack(Fluids.AROMATICS, wood_crack_aroma))); - cracking.put(Fluids.XYLENE, new Pair(new FluidStack(Fluids.AROMATICS, xyl_crack_aroma), new FluidStack(Fluids.PETROLEUM, xyl_crack_petro))); + cracking.put(Fluids.OIL, new Pair(new FluidStack(Fluids.CRACKOIL, oil_crack_oil), new FluidStack(Fluids.PETROLEUM, oil_crack_petro))); + cracking.put(Fluids.BITUMEN, new Pair(new FluidStack(Fluids.OIL, bitumen_crack_oil), new FluidStack(Fluids.AROMATICS, bitumen_crack_aroma))); + cracking.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.NAPHTHA, smear_crack_napht), new FluidStack(Fluids.PETROLEUM, smear_crack_petro))); + cracking.put(Fluids.GAS, new Pair(new FluidStack(Fluids.PETROLEUM, gas_crack_petro), new FluidStack(Fluids.UNSATURATEDS, gas_crack_unsat))); + cracking.put(Fluids.DIESEL, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro))); + cracking.put(Fluids.DIESEL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro))); + cracking.put(Fluids.KEROSENE, new Pair(new FluidStack(Fluids.PETROLEUM, kero_crack_petro), new FluidStack(Fluids.NONE, 0))); + cracking.put(Fluids.WOODOIL, new Pair(new FluidStack(Fluids.HEATINGOIL, wood_crack_heat), new FluidStack(Fluids.AROMATICS, wood_crack_aroma))); + cracking.put(Fluids.XYLENE, new Pair(new FluidStack(Fluids.AROMATICS, xyl_crack_aroma), new FluidStack(Fluids.PETROLEUM, xyl_crack_petro))); + cracking.put(Fluids.HEATINGOIL_VACUUM, new Pair(new FluidStack(Fluids.HEATINGOIL, 80), new FluidStack(Fluids.REFORMGAS, 20))); + cracking.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.UNSATURATEDS, 40), new FluidStack(Fluids.REFORMGAS, 60))); } public static Pair getCracking(FluidType oil) { diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 9a9f3cbcd..608e6f39e 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -33,6 +33,7 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.NITAN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 600)).setStack2(new FluidStack(Fluids.MERCURY, 200)).setSolid(new ComparableStack(ModItems.powder_nitan_mix))); recipes.put(Fluids.FRACKSOL, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.WATER, 1_000)).setStack2(new FluidStack(Fluids.PETROLEUM, 100)).setSolid(new OreDictStack(OreDictManager.S.dust()))); recipes.put(Fluids.ENDERJUICE, new MixerRecipe(100, 100).setStack1(new FluidStack(Fluids.XPJUICE, 500)).setSolid(new OreDictStack(OreDictManager.DIAMOND.dust()))); + recipes.put(Fluids.SALIENT, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.SEEDSLURRY, 500)).setStack2(new FluidStack(Fluids.BLOOD, 500))); recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(OreDictManager.S.dust()))); diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index f39f48c4e..05385ff54 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -71,51 +71,40 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)); registerRecipe(COALOIL, SF_COALOIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL)); registerRecipe(HEAVYOIL, SF_HEAVY, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); + registerRecipe(HEAVYOIL_VACUUM, SF_HEAVY, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(BITUMEN, SF_BITUMEN, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(COALCREOSOTE, SF_CREOSOTE, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL)); registerRecipe(WOODOIL, SF_WOOD, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WOOD)); - registerRecipe(SMEAR, SF_SMEAR, ModItems.solid_fuel); - registerRecipe(HEATINGOIL, SF_HEATING, ModItems.solid_fuel); - registerRecipe(RECLAIMED, SF_RECLAIMED, ModItems.solid_fuel); - registerRecipe(PETROIL, SF_PETROIL, ModItems.solid_fuel); - registerRecipe(LUBRICANT, SF_LUBE, ModItems.solid_fuel); - registerRecipe(NAPHTHA, SF_NAPH, ModItems.solid_fuel); - registerRecipe(NAPHTHA_CRACK, SF_NAPH, ModItems.solid_fuel); - registerRecipe(DIESEL, SF_DIESEL, ModItems.solid_fuel); - registerRecipe(DIESEL_CRACK, SF_DIESEL, ModItems.solid_fuel); - registerRecipe(LIGHTOIL, SF_LIGHT, ModItems.solid_fuel); - registerRecipe(LIGHTOIL_CRACK, SF_LIGHT, ModItems.solid_fuel); - registerRecipe(KEROSENE, SF_KEROSENE, ModItems.solid_fuel); - registerRecipe(GAS, SF_GAS, ModItems.solid_fuel); - registerRecipe(PETROLEUM, SF_PETROLEUM, ModItems.solid_fuel); - registerRecipe(LPG, SF_LPG, ModItems.solid_fuel); - registerRecipe(BIOGAS, SF_BIOGAS, ModItems.solid_fuel); - registerRecipe(BIOFUEL, SF_BIOFUEL, ModItems.solid_fuel); - registerRecipe(AROMATICS, SF_AROMA, ModItems.solid_fuel); - registerRecipe(UNSATURATEDS, SF_UNSAT, ModItems.solid_fuel); - registerRecipe(BALEFIRE, 250, ModItems.solid_fuel_bf); registerSFAuto(SMEAR); registerSFAuto(HEATINGOIL); + registerSFAuto(HEATINGOIL_VACUUM); registerSFAuto(RECLAIMED); registerSFAuto(PETROIL); - //registerSFAuto(LUBRICANT); registerSFAuto(NAPHTHA); registerSFAuto(NAPHTHA_CRACK); registerSFAuto(DIESEL); + registerSFAuto(DIESEL_REFORM); registerSFAuto(DIESEL_CRACK); + registerSFAuto(DIESEL_CRACK_REFORM); registerSFAuto(LIGHTOIL); registerSFAuto(LIGHTOIL_CRACK); + registerSFAuto(LIGHTOIL_VACUUM); registerSFAuto(KEROSENE); registerSFAuto(GAS); + registerSFAuto(SOURGAS); + registerSFAuto(REFORMGAS); + registerSFAuto(SYNGAS); registerSFAuto(PETROLEUM); registerSFAuto(LPG); registerSFAuto(BIOGAS); registerSFAuto(BIOFUEL); registerSFAuto(AROMATICS); registerSFAuto(UNSATURATEDS); + registerSFAuto(REFORMATE); + registerSFAuto(XYLENE); registerSFAuto(BALEFIRE, 24000000L, ModItems.solid_fuel_bf); //holy shit this is energy dense*/ } 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 4042ead8f..635d6a3af 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -10,6 +10,7 @@ import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ModItems; @@ -389,7 +390,7 @@ public class AnvilRecipes { new ComparableStack(ModBlocks.concrete_asbestos, 4), new ComparableStack(ModBlocks.steel_scaffold, 16), new ComparableStack(ModBlocks.deco_pipe_quad, 12), - new OreDictStack("dustSulfur", 32), + new OreDictStack(Fluids.SOURGAS.getDict(1_000), 8), }, new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_tower))).setTier(4)); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index e041649d6..b3c69cab1 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -763,6 +763,7 @@ public class ModItems { public static Item mold_base; public static Item mold; public static Item scraps; + public static Item plate_cast; public static Item part_lithium; public static Item part_beryllium; @@ -777,7 +778,9 @@ public class ModItems { public static Item laser_crystal_digamma; public static Item thermo_element; - //public static Item limiter; + + public static Item catalytic_converter; + public static Item crackpipe; public static Item pellet_rtg_depleted; @@ -898,25 +901,7 @@ public class ModItems { public static Item canister_empty; public static Item canister_full; - @Deprecated public static Item canister_smear; - @Deprecated public static Item canister_canola; - @Deprecated public static Item canister_oil; - @Deprecated public static Item canister_fuel; - @Deprecated public static Item canister_kerosene; - @Deprecated public static Item canister_reoil; - @Deprecated public static Item canister_petroil; public static Item canister_napalm; - @Deprecated public static Item canister_gasoline; - @Deprecated public static Item canister_NITAN; - @Deprecated public static Item canister_fracksol; - - @Deprecated public static Item canister_heavyoil; - @Deprecated public static Item canister_bitumen; - @Deprecated public static Item canister_heatingoil; - @Deprecated public static Item canister_naphtha; - @Deprecated public static Item canister_lightoil; - @Deprecated public static Item canister_biofuel; - @Deprecated public static Item canister_ethanol; public static Item gas_empty; public static Item gas_full; @@ -3415,6 +3400,7 @@ public class ModItems { mold_base = new Item().setUnlocalizedName("mold_base").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":mold_base"); mold = new ItemMold().setUnlocalizedName("mold").setCreativeTab(MainRegistry.controlTab); scraps = new ItemScraps().setUnlocalizedName("scraps").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scraps"); + plate_cast = new ItemPlateCast().setUnlocalizedName("plate_cast").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_cast"); part_lithium = new Item().setUnlocalizedName("part_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_lithium"); part_beryllium = new Item().setUnlocalizedName("part_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_beryllium"); @@ -3430,29 +3416,13 @@ public class ModItems { thermo_element = new Item().setUnlocalizedName("thermo_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element"); //limiter = new Item().setUnlocalizedName("limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":limiter"); + catalytic_converter = new Item().setUnlocalizedName("catalytic_converter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":catalytic_converter"); 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_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(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"); @@ -3532,6 +3502,7 @@ public class ModItems { gun_kit_2 = new ItemSyringe().setUnlocalizedName("gun_kit_2").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_2"); cbt_device = new ItemSyringe().setUnlocalizedName("cbt_device").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":cbt_device"); cigarette = new ItemCigarette().setUnlocalizedName("cigarette").setFull3D().setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cigarette"); + crackpipe = new ItemCigarette().setUnlocalizedName("crackpipe").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crackpipe"); attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setTextureName(RefStrings.MODID + ":attachment_mask"); attachment_mask_mono = new ItemModGasmask().setUnlocalizedName("attachment_mask_mono").setTextureName(RefStrings.MODID + ":attachment_mask_mono"); @@ -6310,6 +6281,9 @@ public class ModItems { GameRegistry.registerItem(plate_armor_fau, plate_armor_fau.getUnlocalizedName()); GameRegistry.registerItem(plate_armor_dnt, plate_armor_dnt.getUnlocalizedName()); + //Heavy/Cast Plate + GameRegistry.registerItem(plate_cast, plate_cast.getUnlocalizedName()); + //Boards GameRegistry.registerItem(board_copper, board_copper.getUnlocalizedName()); @@ -6644,24 +6618,7 @@ public class ModItems { 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()); - GameRegistry.registerItem(canister_smear, canister_smear.getUnlocalizedName()); - GameRegistry.registerItem(canister_heatingoil, canister_heatingoil.getUnlocalizedName()); - GameRegistry.registerItem(canister_canola, canister_canola.getUnlocalizedName()); - GameRegistry.registerItem(canister_naphtha, canister_naphtha.getUnlocalizedName()); - GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName()); - GameRegistry.registerItem(canister_kerosene, canister_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(canister_lightoil, canister_lightoil.getUnlocalizedName()); - GameRegistry.registerItem(canister_reoil, canister_reoil.getUnlocalizedName()); - GameRegistry.registerItem(canister_petroil, canister_petroil.getUnlocalizedName()); - GameRegistry.registerItem(canister_biofuel, canister_biofuel.getUnlocalizedName()); - GameRegistry.registerItem(canister_ethanol, canister_ethanol.getUnlocalizedName()); GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); - GameRegistry.registerItem(canister_gasoline, canister_gasoline.getUnlocalizedName()); - GameRegistry.registerItem(canister_fracksol, canister_fracksol.getUnlocalizedName()); - GameRegistry.registerItem(canister_NITAN, canister_NITAN.getUnlocalizedName()); //Gas Tanks GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName()); @@ -6896,7 +6853,7 @@ public class ModItems { //Generator Stuff GameRegistry.registerItem(thermo_element, thermo_element.getUnlocalizedName()); - //GameRegistry.registerItem(limiter, limiter.getUnlocalizedName()); + GameRegistry.registerItem(catalytic_converter, catalytic_converter.getUnlocalizedName()); //AMS Components GameRegistry.registerItem(ams_focus_blank, ams_focus_blank.getUnlocalizedName()); @@ -7974,6 +7931,7 @@ public class ModItems { GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); GameRegistry.registerItem(cbt_device, cbt_device.getUnlocalizedName()); GameRegistry.registerItem(cigarette, cigarette.getUnlocalizedName()); + GameRegistry.registerItem(crackpipe, crackpipe.getUnlocalizedName()); //Armor mods GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemMold.java b/src/main/java/com/hbm/items/machine/ItemMold.java index f01ddeb26..6da8ca650 100644 --- a/src/main/java/com/hbm/items/machine/ItemMold.java +++ b/src/main/java/com/hbm/items/machine/ItemMold.java @@ -47,6 +47,8 @@ public class ItemMold extends Item { registerMold(new MoldShape( 3, S, "plate", MaterialShapes.PLATE)); registerMold(new MoldWire( 4, S, "wire")); + registerMold(new MoldShape( 19, S, "plate_cast", MaterialShapes.CASTPLATE)); + registerMold(new MoldMulti( 5, S, "blade", MaterialShapes.INGOT.q(3), Mats.MAT_TITANIUM, new ItemStack(ModItems.blade_titanium), Mats.MAT_TUNGSTEN, new ItemStack(ModItems.blade_tungsten))); @@ -173,7 +175,7 @@ public class ItemMold extends Item { public ItemStack getOutput(NTMMaterial mat) { for(String name : mat.names) { - String od = shape.name().toLowerCase() + name; + String od = shape.name() + name; List ores = OreDictionary.getOres(od); if(!ores.isEmpty()) { ItemStack copy = ores.get(0).copy(); @@ -192,7 +194,7 @@ public class ItemMold extends Item { @Override public String getTitle() { - return I18nUtil.resolveKey("shape." + shape.name().toLowerCase()) + " x" + amount; + return I18nUtil.resolveKey("shape." + shape.name()) + " x" + amount; } } diff --git a/src/main/java/com/hbm/items/machine/ItemScraps.java b/src/main/java/com/hbm/items/machine/ItemScraps.java index f192407a1..bba193c51 100644 --- a/src/main/java/com/hbm/items/machine/ItemScraps.java +++ b/src/main/java/com/hbm/items/machine/ItemScraps.java @@ -51,7 +51,7 @@ public class ItemScraps extends Item { NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); if(mat != null) { - return mat.moltenColor; + return mat.solidColor; } return 0xffffff; diff --git a/src/main/java/com/hbm/items/special/ItemCigarette.java b/src/main/java/com/hbm/items/special/ItemCigarette.java index 5e960f35d..458f9dc24 100644 --- a/src/main/java/com/hbm/items/special/ItemCigarette.java +++ b/src/main/java/com/hbm/items/special/ItemCigarette.java @@ -3,6 +3,7 @@ package com.hbm.items.special; import java.util.List; import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -14,6 +15,8 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -40,9 +43,18 @@ public class ItemCigarette extends Item { stack.stackSize--; if(!world.isRemote) { - HbmLivingProps.incrementBlackLung(player, 2000); - HbmLivingProps.incrementAsbestos(player, 2000); - HbmLivingProps.incrementRadiation(player, 100F); + + if(this == ModItems.cigarette) { + HbmLivingProps.incrementBlackLung(player, 2000); + HbmLivingProps.incrementAsbestos(player, 2000); + HbmLivingProps.incrementRadiation(player, 100F); + } + + if(this == ModItems.crackpipe) { + HbmLivingProps.incrementBlackLung(player, 500); + player.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0)); + player.heal(10F); + } world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:player.cough", 1.0F, 1.0F); @@ -60,9 +72,25 @@ public class ItemCigarette extends Item { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add(EnumChatFormatting.RED + "✓ Asbestos filter"); - list.add(EnumChatFormatting.RED + "✓ High in tar"); - list.add(EnumChatFormatting.RED + "✓ Tobacco contains 100% Polonium-210"); - list.add(EnumChatFormatting.RED + "✓ Yum"); + + if(this == ModItems.cigarette) { + list.add(EnumChatFormatting.RED + "✓ Asbestos filter"); + list.add(EnumChatFormatting.RED + "✓ High in tar"); + list.add(EnumChatFormatting.RED + "✓ Tobacco contains 100% Polonium-210"); + list.add(EnumChatFormatting.RED + "✓ Yum"); + } else { + String[] colors = new String[] { + EnumChatFormatting.RED + "", + EnumChatFormatting.GOLD + "", + EnumChatFormatting.YELLOW + "", + EnumChatFormatting.GREEN + "", + EnumChatFormatting.AQUA + "", + EnumChatFormatting.BLUE + "", + EnumChatFormatting.DARK_PURPLE + "", + EnumChatFormatting.LIGHT_PURPLE + "", + }; + int len = 2000; + list.add("This can't be good for me, but I feel " + colors[(int)(System.currentTimeMillis() % len * colors.length / len)] + "GREAT"); + } } } diff --git a/src/main/java/com/hbm/items/special/ItemPlateCast.java b/src/main/java/com/hbm/items/special/ItemPlateCast.java new file mode 100644 index 000000000..79b602774 --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemPlateCast.java @@ -0,0 +1,84 @@ +package com.hbm.items.special; + +import java.util.List; + +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.NTMMaterial; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; + +public class ItemPlateCast extends Item { + + public ItemPlateCast() { + this.setHasSubtypes(true); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + list.add(new ItemStack(item, 1, Mats.MAT_IRON.id)); + list.add(new ItemStack(item, 1, Mats.MAT_STEEL.id)); + list.add(new ItemStack(item, 1, Mats.MAT_COPPER.id)); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int layer) { + + NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); + + if(mat != null) { + return mat.solidColor; + } + + return 0xffffff; + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + + NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); + + if(mat == null) { + return "UNDEFINED"; + } + + String matName = I18nUtil.resolveKey(mat.getUnlocalizedName()); + return StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".name", matName); + } + + public static MaterialStack getMats(ItemStack stack) { + + if(stack.getItem() != ModItems.plate_cast) return null; + + NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); + if(mat == null) return null; + + int amount = MaterialShapes.INGOT.q(1); + + if(stack.hasTagCompound()) { + amount = stack.getTagCompound().getInteger("amount"); + } + + return new MaterialStack(mat, amount); + } + + public static ItemStack create(MaterialStack stack) { + if(stack.material == null) + return new ItemStack(ModItems.nothing); //why do i bother adding checks for fucking everything when they don't work + ItemStack scrap = new ItemStack(ModItems.plate_cast, 1, stack.material.id); + scrap.stackTagCompound = new NBTTagCompound(); + scrap.stackTagCompound.setInteger("amount", stack.amount); + return scrap; + } +} diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 3fb4c0c6b..bd96c150b 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -167,7 +167,6 @@ public class Library { return true; if((tileentity != null && (tileentity instanceof IFluidAcceptor || tileentity instanceof IFluidSource)) || - world.getBlock(x, y, z) == ModBlocks.dummy_port_turbofan || world.getBlock(x, y, z) == ModBlocks.reactor_hatch || world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.fusion_hatch || @@ -394,11 +393,6 @@ public class Library { Block block = worldObj.getBlock(x, y, z); TileEntity tileentity = worldObj.getTileEntity(x, y, z); - //Turbofan - if(block == ModBlocks.dummy_port_turbofan) - { - tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); - } //Large Nuclear Reactor if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x, y, z + 2) == ModBlocks.reactor_computer) { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 75fc1c7c4..d63b923e3 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -765,6 +765,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); addShapelessAuto(new ItemStack(ModBlocks.fusion_heater), new Object[] { ModBlocks.fusion_hatch }); addShapelessAuto(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse }); + addRecipeAuto(new ItemStack(ModItems.catalytic_converter, 1), new Object[] { "PCP", "PBP", "PCP", 'P', ANY_HARDPLASTIC.ingot(), 'C', CO.dust(), 'B', BI.ingot() }); addRecipeAuto(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', STEEL.plate(), 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template }); addRecipeAuto(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', CU.plate(), 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer }); @@ -913,24 +914,6 @@ public class CraftingManager { 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 }); - addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC, 4), new Object[] { " I ", "CPC", " I ", 'I', TCALLOY.ingot(), 'C', ANY_PLASTIC.ingot(), 'P', ModItems.motor }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 1b3af8b6b..3fb2c196c 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1014,6 +1014,25 @@ public class MainRegistry { ignoreMappings.add("hbm:item.gun_revolver_iron"); ignoreMappings.add("hbm:item.gun_calamity_dual"); ignoreMappings.add("hbm:item.gun_revolver_lead"); + ignoreMappings.add("hbm:tile.dummy_block_turbofan"); + ignoreMappings.add("hbm:tile.dummy_port_turbofan"); + ignoreMappings.add("hbm:item.canister_smear"); + ignoreMappings.add("hbm:item.canister_canola"); + ignoreMappings.add("hbm:item.canister_oil"); + ignoreMappings.add("hbm:item.canister_fuel"); + ignoreMappings.add("hbm:item.canister_kerosene"); + ignoreMappings.add("hbm:item.canister_reoil"); + ignoreMappings.add("hbm:item.canister_petroil"); + ignoreMappings.add("hbm:item.canister_gasoline"); + ignoreMappings.add("hbm:item.canister_fracksol"); + ignoreMappings.add("hbm:item.canister_NITAN"); + ignoreMappings.add("hbm:item.canister_heavyoil"); + ignoreMappings.add("hbm:item.canister_bitumen"); + ignoreMappings.add("hbm:item.canister_heatingoil"); + ignoreMappings.add("hbm:item.canister_naphtha"); + ignoreMappings.add("hbm:item.canister_lightoil"); + ignoreMappings.add("hbm:item.canister_biofuel"); + ignoreMappings.add("hbm:item.canister_ethanol"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index ae26d9693..29e4cc9de 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -100,7 +100,6 @@ public class NEIConfig implements IConfigureNEI { } API.hideItem(new ItemStack(ModBlocks.dummy_block_assembler)); API.hideItem(new ItemStack(ModBlocks.dummy_block_drill)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_turbofan)); API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base)); API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter)); API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_limiter)); @@ -110,7 +109,6 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(ModBlocks.dummy_block_puf6)); API.hideItem(new ItemStack(ModBlocks.dummy_port_assembler)); API.hideItem(new ItemStack(ModBlocks.dummy_port_drill)); - API.hideItem(new ItemStack(ModBlocks.dummy_port_turbofan)); API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base)); API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter)); API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_limiter)); @@ -166,5 +164,4 @@ public class NEIConfig implements IConfigureNEI { public String getVersion() { return RefStrings.VERSION; } - } diff --git a/src/main/java/com/hbm/render/tileentity/RenderCatalyticReformer.java b/src/main/java/com/hbm/render/tileentity/RenderCatalyticReformer.java index 1fb51904a..602e1d30a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCatalyticReformer.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCatalyticReformer.java @@ -7,6 +7,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; import com.hbm.render.util.HorsePronter; @@ -46,37 +47,39 @@ public class RenderCatalyticReformer extends TileEntitySpecialRenderer implement ResourceManager.catalytic_reformer.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); - /// rapidly spinning dicks /// - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslated(-1.125, 1.375, 1); - double s = 0.125D; - GL11.glScaled(s, s, s); - GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0); - GL11.glTranslated(0, 0.1, -0.5); - - this.bindTexture(extra); - HorsePronter.reset(); - double r = 60; - HorsePronter.pose(HorsePronter.id_body, 0, -r, 0); - HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90); - HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35); - HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35); - HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5); - HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5); - HorsePronter.pose(HorsePronter.id_head, 0, r, 0); - HorsePronter.enableHorn(); - HorsePronter.enableWings(); - HorsePronter.pront(); - - ItemStack stack = new ItemStack(ModItems.cigarette); - double scale = 0.25; - GL11.glTranslated(0.02, 1.13, -0.42); - GL11.glScaled(scale, scale, scale); - GL11.glRotated(90, 0, -1, 0); - GL11.glRotated(60, 0, 0, -1); - bindTexture(TextureMap.locationItemsTexture); - IIcon icon = stack.getIconIndex(); - ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F); + if(MainRegistry.polaroidID == 11) { + /// rapidly spinning dicks /// + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glTranslated(-1.125, 1.375, 1); + double s = 0.125D; + GL11.glScaled(s, s, s); + GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0); + GL11.glTranslated(0, 0.1, -0.5); + + this.bindTexture(extra); + HorsePronter.reset(); + double r = 60; + HorsePronter.pose(HorsePronter.id_body, 0, -r, 0); + HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90); + HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35); + HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35); + HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5); + HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5); + HorsePronter.pose(HorsePronter.id_head, 0, r, 0); + HorsePronter.enableHorn(); + HorsePronter.enableWings(); + HorsePronter.pront(); + + ItemStack stack = new ItemStack(ModItems.cigarette); + double scale = 0.25; + GL11.glTranslated(0.02, 1.13, -0.42); + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, -1, 0); + GL11.glRotated(60, 0, 0, -1); + bindTexture(TextureMap.locationItemsTexture); + IIcon icon = stack.getIconIndex(); + ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F); + } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java b/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java index 7f322a458..72f226c48 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java @@ -20,10 +20,7 @@ public class RenderTurbofan extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glRotatef(270, 0F, 1F, 0F); - - switch(tileEntity.getBlockMetadata()) { + switch(tileEntity.getBlockMetadata() - 10) { 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; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index cbff3354f..262bfb654 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -2,6 +2,9 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.MultiblockHandlerXR; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.UpgradeManager; @@ -14,6 +17,7 @@ import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.inventory.gui.GUIMachineTurbofan; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -24,7 +28,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -33,7 +37,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -41,14 +44,16 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbofan extends TileEntityMachineBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { +public class TileEntityMachineTurbofan extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider { public long power; - public static final long maxPower = 500_000; + public static final long maxPower = 1_000_000; public FluidTank tank; + public FluidTank blood; public int afterburner; public boolean wasOn; + public boolean showBlood = false; public float spin; public float lastSpin; @@ -57,8 +62,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements private AudioWrapper audio; public TileEntityMachineTurbofan() { - super(3); - tank = new FluidTank(Fluids.KEROSENE, 24000, 0); + super(5); + tank = new FluidTank(Fluids.KEROSENE, 24000); + blood = new FluidTank(Fluids.BLOOD, 24000); } @Override @@ -72,6 +78,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements this.power = nbt.getLong("powerTime"); tank.readFromNBT(nbt, "fuel"); + blood.readFromNBT(nbt, "blood"); + this.showBlood = nbt.getBoolean("showBlood"); } @Override @@ -80,6 +88,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements nbt.setLong("powerTime", power); tank.writeToNBT(nbt, "fuel"); + blood.writeToNBT(nbt, "blood"); + nbt.setBoolean("showBlood", showBlood); } public long getPowerScaled(long i) { @@ -88,7 +98,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements protected DirPos[] getConPos() { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); return new DirPos[] { @@ -104,12 +114,31 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements if(!worldObj.isRemote) { - for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + //meta below 12 means that it's an old multiblock configuration + if(this.getBlockMetadata() < 12) { + //get old direction + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + //remove tile from the world to prevent inventory dropping + worldObj.removeTileEntity(xCoord, yCoord, zCoord); + //use fillspace to create a new multiblock configuration + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.machine_turbofan, dir.ordinal() + 10, 3); + MultiblockHandlerXR.fillSpace(worldObj, xCoord, yCoord, zCoord, ((BlockDummyable) ModBlocks.machine_turbofan).getDimensions(), ModBlocks.machine_turbofan, dir); + //restore connections + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + ((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); + ((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord + dir.offsetX - rot.offsetX, yCoord, zCoord + dir.offsetZ - rot.offsetZ); + ((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord - dir.offsetX, yCoord, zCoord - dir.offsetZ); + ((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord - dir.offsetX - rot.offsetX, yCoord, zCoord - dir.offsetZ - rot.offsetZ); + //load the tile data to restore the old values + NBTTagCompound data = new NBTTagCompound(); + this.writeToNBT(data); + worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data); + return; } + tank.setType(4, slots); tank.loadTank(0, 1, slots); + blood.setTankType(Fluids.BLOOD); this.wasOn = false; @@ -119,27 +148,32 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements if(slots[2] != null && slots[2].getItem() == ModItems.flame_pony) this.afterburner = 100; - long burn = 0; + long burnValue = 0; int amount = 1 + this.afterburner; if(tank.getTankType().hasTrait(FT_Combustible.class) && tank.getTankType().getTrait(FT_Combustible.class).getGrade() == FuelGrade.AERO) { - burn = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000; + burnValue = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000; } - int toBurn = Math.min(amount, this.tank.getFill()); + int amountToBurn = Math.min(amount, this.tank.getFill()); - if(toBurn > 0) { + if(amountToBurn > 0) { this.wasOn = true; - this.tank.setFill(this.tank.getFill() - toBurn); - this.power += burn * toBurn; - if(this.power > this.maxPower) { - this.power = this.maxPower; - } + this.tank.setFill(this.tank.getFill() - amountToBurn); + this.power += burnValue * amountToBurn; } - if(toBurn > 0) { + power = Library.chargeItemsFromTE(slots, 3, power, power); + + for(DirPos pos : getConPos()) { + this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.blood.getFill() > 0) this.sendFluid(blood.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + if(burnValue > 0 && amountToBurn > 0) { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); if(this.afterburner > 0) { @@ -155,10 +189,14 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.xCoord + 0.5F - dir.offsetX * (3 - i), this.yCoord + 1.5F, this.zCoord + 0.5F - dir.offsetZ * (3 - i)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } - /*if(this.afterburner > 90 && worldObj.rand.nextInt(30) == 0) { + /*if(this.afterburner > 90 && worldObj.rand.nextInt(60) == 0) { worldObj.newExplosion(null, xCoord + 0.5 + dir.offsetX * 3.5, yCoord + 0.5, zCoord + 0.5 + dir.offsetZ * 3.5, 3F, false, false); }*/ + if(this.afterburner > 90 && worldObj.rand.nextInt(30) == 0) { + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:block.damage", 3.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); + } + if(this.afterburner > 90) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "gasfire"); @@ -220,15 +258,27 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); + + blood.setFill(blood.getFill() + 50); + if(blood.getFill() > blood.getMaxFill()) { + blood.setFill(blood.getMaxFill()); + } + this.showBlood = true; } } } + if(this.power > this.maxPower) { + this.power = this.maxPower; + } + NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); data.setByte("after", (byte) afterburner); data.setBoolean("wasOn", wasOn); + data.setBoolean("showBlood", showBlood); tank.writeToNBT(data, "tank"); + blood.writeToNBT(data, "blood"); this.networkPack(data, 150); } else { @@ -326,7 +376,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements this.power = nbt.getLong("power"); this.afterburner = nbt.getByte("after"); this.wasOn = nbt.getBoolean("wasOn"); + this.showBlood = nbt.getBoolean("showBlood"); tank.readFromNBT(nbt, "tank"); + blood.readFromNBT(nbt, "blood"); } public AudioWrapper createAudioLoop() { @@ -398,11 +450,10 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } @@ -411,9 +462,14 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements return new FluidTank[] { tank }; } + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] { blood }; + } + @Override public FluidTank[] getAllTanks() { - return new FluidTank[] { tank }; + return new FluidTank[] { tank, blood }; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java index ee9c6d1ba..d8f19c079 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java @@ -8,6 +8,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineCatalyticReformer; import com.hbm.inventory.recipes.ReformingRecipes; +import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; @@ -102,6 +103,7 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im if(power < 20_000) return; if(tanks[0].getFill() < 100) return; + if(slots[10] == null || slots[10].getItem() != ModItems.catalytic_converter) return; if(tanks[1].getFill() + out.getX().fill > tanks[1].getMaxFill()) return; if(tanks[2].getFill() + out.getY().fill > tanks[2].getMaxFill()) return; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index fc17810ae..3a8f715f1 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -351,15 +351,19 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece case "up": tiltFront = 30; if(!worldObj.isRemote) posFront += speed; + break; case "down": tiltFront = -30; if(!worldObj.isRemote) posFront -= speed; + break; case "left": tiltLeft = 30; if(!worldObj.isRemote) posLeft += speed; + break; case "right": tiltLeft = -30; if(!worldObj.isRemote) posLeft -= speed; + break; } return new Object[] {}; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 79b046e75..065a09faf 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1313,6 +1313,7 @@ item.casing_50.name=Großkaliberhülse (x12) item.casing_9.name=Kleinkaliberhülse (x32) item.casing_buckshot.name=Schrothülse (x12) item.catalyst_clay.name=Tonerde-Katalysator +item.catalytic_converter.name=Katalytischer Konverter item.cbt_device.name=CBT-Gerät item.cell_anti_schrabidium.name=Antischrabidiumzelle item.cell_antimatter.name=Antimaterienzelle @@ -1492,6 +1493,7 @@ item.component_limiter.name=Stabilisatorkomponente item.containment_box.name=Sicherheitsbehälter item.cordite.name=Kordit item.cotton_candy.name=Radioaktive Zuckerwatte +item.crackpipe.name=Gesundheitspfeife item.crate_caller.name=Nachschub-Requester item.crayon.black.name=Schwarzer Wachsmalstift item.crayon.blue.name=Blauer Wachsmalstift @@ -1995,6 +1997,8 @@ item.ingot_neptunium.name=Neptuniumbarren item.ingot_neptunium_fuel.name=Neptuniumkernbrennstoffbarren item.ingot_niobium.name=Niobbarren item.ingot_osmiridium.name=Osmiridiumbarren +item.ingot_pb209.name=Blei-209-Barren +item.ingot_pet.name=Aluminiumverstärkte PET-Tafel item.ingot_phosphorus.name=Weiße Phosphortafel item.ingot_plutonium.name=Plutoniumbarren item.ingot_plutonium_fuel.name=Plutoniumkernbrennstoffbarren @@ -2005,6 +2009,7 @@ item.ingot_pu238.name=Plutonium-238-Barren item.ingot_pu239.name=Plutonium-239-Barren item.ingot_pu240.name=Plutonium-240-Barren item.ingot_pu241.name=Plutonium-241-Barren +item.ingot_pvc.name=PVC-Tafel item.ingot_red_copper.name=Minecraft-Kupfer item.ingot_reiium.name=Reiiumbarren item.ingot_rubber.name=Gummitafel @@ -2544,6 +2549,7 @@ item.plate_armor_fau.name=Fau-Panzerplatte item.plate_armor_hev.name=Reaktive Panzerplatte item.plate_armor_lunar.name=Lunare Panzerplatte item.plate_armor_titanium.name=Titan-Panzerplatte +item.plate_cast.name=Gegossene %splatte item.plate_combine_steel.name=CMB-Stahlplatte item.plate_copper.name=Kupferplatte item.plate_dalekanium.name=Wütendes Metall @@ -3281,6 +3287,7 @@ shape.nugget=Nugget shape.quantum=Quantum shape.quart=Viertel Block shape.plate=Platte +shape.plateTriple=Gussplatte shape.stamp=Stempel shape.wire=Draht diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c71c8167a..2dac0fbe3 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1916,6 +1916,7 @@ item.casing_50.name=Large Caliber Casing (x12) item.casing_9.name=Small Caliber Casing (x32) item.casing_buckshot.name=Buckshot Casing (x12) item.catalyst_clay.name=Clay Catalyst +item.catalytic_converter.name=Catalytic Converter item.cbt_device.name=CBT Device item.cell_anti_schrabidium.name=Antischrabidium Cell item.cell_antimatter.name=Antimatter Cell @@ -2097,6 +2098,7 @@ item.component_limiter.name=Stabilizer Component item.containment_box.name=Containment Box item.cordite.name=Cordite item.cotton_candy.name=Radioactive Cotton Candy +item.crackpipe.name=Health Pipe item.crate_caller.name=Supply Drop Requester item.crayon.black.name=Black Crayon item.crayon.blue.name=Blue Crayon @@ -2635,6 +2637,7 @@ item.ingot_neptunium_fuel.name=Neptunium Fuel Ingot item.ingot_niobium.name=Niobium Ingot item.ingot_osmiridium.name=Osmiridium Ingot item.ingot_pb209.name=Lead-209 Ingot +item.ingot_pet.name=Aluminium-Metallized PET Bar item.ingot_phosphorus.name=Bar of White Phosphorus item.ingot_plutonium.name=Plutonium Ingot item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel @@ -2645,6 +2648,7 @@ item.ingot_pu238.name=Plutonium-238 Ingot item.ingot_pu239.name=Plutonium-239 Ingot item.ingot_pu240.name=Plutonium-240 Ingot item.ingot_pu241.name=Plutonium-241 Ingot +item.ingot_pvc.name=PVC Bar item.ingot_ra226.name=Radium-226 Ingot item.ingot_red_copper.name=Minecraft Grade Copper item.ingot_reiium.name=Reiium Ingot @@ -3247,6 +3251,7 @@ item.plate_armor_lunar.name=Lunar Plating item.plate_armor_titanium.name=Titanium Armor Plate item.plate_bismuth.name=Bismuth Compound Plate item.plate_bismuth.desc=Guys, It's Bismuth's alchemical symbol, I swear. +item.plate_cast.name=Cast %s Plate item.plate_combine_steel.name=CMB Steel Plate item.plate_copper.name=Copper Plate item.plate_dalekanium.name=Angry Metal @@ -4075,6 +4080,7 @@ shape.nugget=Nugget shape.quantum=Quantum shape.quart=Quarter Block shape.plate=Plate +shape.plateTriple=Cast Plate shape.stamp=Press Stamp shape.wire=Wire diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 52350fe67..986c8077d 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -51,6 +51,7 @@ "block.turbinegasStartup": {"category": "block", "sounds": [{"name": "block/turbinegasStartup", "stream": true}]}, "block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]}, "block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]}, + "block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, "door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]}, diff --git a/src/main/resources/assets/hbm/textures/blocks/tatb_bottom.png b/src/main/resources/assets/hbm/textures/blocks/tatb_bottom.png new file mode 100644 index 000000000..5fbafa97e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/tatb_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/tatb_side.png b/src/main/resources/assets/hbm/textures/blocks/tatb_side.png new file mode 100644 index 000000000..25feecc44 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/tatb_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/tatb_top.png b/src/main/resources/assets/hbm/textures/blocks/tatb_top.png new file mode 100644 index 000000000..36a58d23f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/tatb_top.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png index 31abebbce..27b5d21fd 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png differ diff --git a/src/main/resources/assets/hbm/textures/items/catalytic_converter.png b/src/main/resources/assets/hbm/textures/items/catalytic_converter.png new file mode 100644 index 000000000..98c77d581 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/catalytic_converter.png differ diff --git a/src/main/resources/assets/hbm/textures/items/crackpipe.png b/src/main/resources/assets/hbm/textures/items/crackpipe.png index 0227e6dfc..62a84edc5 100644 Binary files a/src/main/resources/assets/hbm/textures/items/crackpipe.png and b/src/main/resources/assets/hbm/textures/items/crackpipe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_silicon.png b/src/main/resources/assets/hbm/textures/items/ingot_silicon.png deleted file mode 100644 index 868dc3f52..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_silicon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_gem.png b/src/main/resources/assets/hbm/textures/items/mold_gem.png index 700902141..9ae259d8a 100644 Binary files a/src/main/resources/assets/hbm/textures/items/mold_gem.png and b/src/main/resources/assets/hbm/textures/items/mold_gem.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_plate_cast.png b/src/main/resources/assets/hbm/textures/items/mold_plate_cast.png new file mode 100644 index 000000000..277083bbb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_plate_cast.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_cast.png b/src/main/resources/assets/hbm/textures/items/plate_cast.png new file mode 100644 index 000000000..b5067e04a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_cast.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_cast_alt.png b/src/main/resources/assets/hbm/textures/items/plate_cast_alt.png new file mode 100644 index 000000000..9036a9bf6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_cast_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_cast_dark.png b/src/main/resources/assets/hbm/textures/items/plate_cast_dark.png new file mode 100644 index 000000000..f206d27c5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_cast_dark.png differ