diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index bc0a4e83d..76d9d4ba9 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -312,9 +312,9 @@ tile.crate_metal.name=Maschinenkiste tile.crate_red.name=Rote Kiste tile.marker_structure.name=Multiblock-Strukturvorlage -tile.machine_difurnace_off.name=Legierungshochofen -tile.machine_difurnace_on.name=Legierungshochofen -container.diFurnace=Legierungshochofen +tile.machine_difurnace_off.name=Hochofen +tile.machine_difurnace_on.name=Hochofen +container.diFurnace=Hochofen tile.machine_centrifuge.name=Zentrifuge container.centrifuge=Zentrifuge tile.machine_gascent.name=Gaszentrifuge diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 5d36bbb02..e6c433b02 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -312,9 +312,9 @@ tile.crate_metal.name=Machine Crate tile.crate_red.name=Red Crate tile.marker_structure.name=Multiblock Structure Marker -tile.machine_difurnace_off.name=Alloy Furnace -tile.machine_difurnace_on.name=Alloy Furnace -container.diFurnace=Alloy Furnace +tile.machine_difurnace_off.name=Blast Furnace +tile.machine_difurnace_on.name=Blast Furnace +container.diFurnace=Blast Furnace tile.machine_centrifuge.name=Centrifuge container.centrifuge=Centrifuge tile.machine_gascent.name=Gas Centrifuge diff --git a/assets/hbm/textures/blocks/arc/difurnace_front_off.png b/assets/hbm/textures/blocks/arc/difurnace_front_off.png new file mode 100644 index 000000000..0a10130bd Binary files /dev/null and b/assets/hbm/textures/blocks/arc/difurnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/arc/difurnace_front_on.png b/assets/hbm/textures/blocks/arc/difurnace_front_on.png new file mode 100644 index 000000000..f5b848606 Binary files /dev/null and b/assets/hbm/textures/blocks/arc/difurnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/arc/difurnace_side.png b/assets/hbm/textures/blocks/arc/difurnace_side.png new file mode 100644 index 000000000..e86a3765f Binary files /dev/null and b/assets/hbm/textures/blocks/arc/difurnace_side.png differ diff --git a/assets/hbm/textures/blocks/arc/difurnace_top_off.png b/assets/hbm/textures/blocks/arc/difurnace_top_off.png new file mode 100644 index 000000000..747e07eb2 Binary files /dev/null and b/assets/hbm/textures/blocks/arc/difurnace_top_off.png differ diff --git a/assets/hbm/textures/blocks/arc/difurnace_top_on.png b/assets/hbm/textures/blocks/arc/difurnace_top_on.png new file mode 100644 index 000000000..a3dc2c479 Binary files /dev/null and b/assets/hbm/textures/blocks/arc/difurnace_top_on.png differ diff --git a/assets/hbm/textures/blocks/difurnace_front_off.png b/assets/hbm/textures/blocks/difurnace_front_off.png new file mode 100644 index 000000000..0a10130bd Binary files /dev/null and b/assets/hbm/textures/blocks/difurnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/difurnace_front_on.png b/assets/hbm/textures/blocks/difurnace_front_on.png new file mode 100644 index 000000000..f5b848606 Binary files /dev/null and b/assets/hbm/textures/blocks/difurnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/difurnace_side.png b/assets/hbm/textures/blocks/difurnace_side.png new file mode 100644 index 000000000..e86a3765f Binary files /dev/null and b/assets/hbm/textures/blocks/difurnace_side.png differ diff --git a/assets/hbm/textures/blocks/difurnace_top_off.png b/assets/hbm/textures/blocks/difurnace_top_off.png new file mode 100644 index 000000000..747e07eb2 Binary files /dev/null and b/assets/hbm/textures/blocks/difurnace_top_off.png differ diff --git a/assets/hbm/textures/blocks/difurnace_top_on.png b/assets/hbm/textures/blocks/difurnace_top_on.png new file mode 100644 index 000000000..a3dc2c479 Binary files /dev/null and b/assets/hbm/textures/blocks/difurnace_top_on.png differ diff --git a/assets/hbm/textures/blocks/geysir_dirt.png b/assets/hbm/textures/blocks/geysir_dirt.png new file mode 100644 index 000000000..c9f100a55 Binary files /dev/null and b/assets/hbm/textures/blocks/geysir_dirt.png differ diff --git a/assets/hbm/textures/blocks/geysir_stone.png b/assets/hbm/textures/blocks/geysir_stone.png new file mode 100644 index 000000000..2391b16a6 Binary files /dev/null and b/assets/hbm/textures/blocks/geysir_stone.png differ diff --git a/assets/hbm/textures/blocks/machine_geo_side.png b/assets/hbm/textures/blocks/machine_geo_side.png new file mode 100644 index 000000000..f386be03e Binary files /dev/null and b/assets/hbm/textures/blocks/machine_geo_side.png differ diff --git a/assets/hbm/textures/blocks/machine_geo_top.png b/assets/hbm/textures/blocks/machine_geo_top.png new file mode 100644 index 000000000..3c72964a0 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_geo_top.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 606356d20..8391aa499 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -185,6 +185,10 @@ public class ModBlocks { public static Block sellafield_4; public static Block sellafield_core; + public static Block geysir_water; + public static Block geysir_chlorine; + public static Block geysir_vapor; + public static Block flame_war; public static Block float_bomb; public static Block therm_endo; @@ -464,6 +468,7 @@ public class ModBlocks { //public static Block machine_rtg_blue; //public static Block machine_rtg_purple; public static Block machine_amgen; + public static Block machine_geo; public static Block machine_well; public static Block oil_pipe; @@ -801,6 +806,10 @@ public class ModBlocks { sellafield_3 = new BlockOre(Material.rock, 4F, 40F).setBlockName("sellafield_3").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_3"); sellafield_4 = new BlockOre(Material.rock, 5, 50F).setBlockName("sellafield_4").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_4"); sellafield_core = new BlockOre(Material.rock, 10F, 150F).setBlockName("sellafield_core").setStepSound(Block.soundTypeStone).setHardness(10.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_core"); + + geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); @@ -898,6 +907,7 @@ public class ModBlocks { //machine_rtg_blue = new MachineRTG(Material.iron).setBlockName("machine_rtg_blue").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); //machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_icon"); @@ -1311,6 +1321,11 @@ public class ModBlocks { GameRegistry.registerBlock(sellafield_4, sellafield_4.getUnlocalizedName()); GameRegistry.registerBlock(sellafield_core, sellafield_core.getUnlocalizedName()); + //Geysirs + GameRegistry.registerBlock(geysir_water, geysir_water.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_chlorine, geysir_chlorine.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_vapor, geysir_vapor.getUnlocalizedName()); + //Nukes GameRegistry.registerBlock(nuke_gadget, nuke_gadget.getUnlocalizedName()); GameRegistry.registerBlock(nuke_boy, nuke_boy.getUnlocalizedName()); @@ -1419,6 +1434,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName()); GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName()); GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName()); + GameRegistry.registerBlock(machine_geo, machine_geo.getUnlocalizedName()); GameRegistry.registerBlock(machine_amgen, machine_amgen.getUnlocalizedName()); GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName()); GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName()); diff --git a/com/hbm/blocks/generic/BlockGeysir.java b/com/hbm/blocks/generic/BlockGeysir.java new file mode 100644 index 000000000..ae833153c --- /dev/null +++ b/com/hbm/blocks/generic/BlockGeysir.java @@ -0,0 +1,63 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.deco.TileEntityGeysir; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockGeysir extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":geysir_stone"); + this.blockIcon = Blocks.stone.getIcon(0, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + return side == 1 ? this.iconTop : this.blockIcon; + } + + public BlockGeysir(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityGeysir(); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) { + + int l = p_149734_1_.getBlockMetadata(x, y, z); + + if(this == ModBlocks.geysir_vapor && l == 1) { + float f = x + 0.5F; + float f1 = y + 1.0F; + float f2 = z + 0.5F; + + p_149734_1_.spawnParticle("cloud", f, f1, f2, 0.0D, 0.1D, 0.0D); + } + } + +} diff --git a/com/hbm/blocks/machine/MachineAmgen.java b/com/hbm/blocks/machine/MachineAmgen.java index 2f06427b7..8768c2e52 100644 --- a/com/hbm/blocks/machine/MachineAmgen.java +++ b/com/hbm/blocks/machine/MachineAmgen.java @@ -30,9 +30,15 @@ public class MachineAmgen extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_side"); + + if(this == ModBlocks.machine_amgen) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_side"); + } + if(this == ModBlocks.machine_geo) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_side"); + } } @Override diff --git a/com/hbm/blocks/machine/MachineDiFurnace.java b/com/hbm/blocks/machine/MachineDiFurnace.java index 3744033f0..6696b38e3 100644 --- a/com/hbm/blocks/machine/MachineDiFurnace.java +++ b/com/hbm/blocks/machine/MachineDiFurnace.java @@ -46,9 +46,9 @@ public class MachineDiFurnace extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":test_difurnace_top_on" : ":test_difurnace_top_off")); - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":test_difurnace_front_on" : ":test_difurnace_front_off")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":test_difurnace_side"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":difurnace_top_on" : ":difurnace_top_off")); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":difurnace_front_on" : ":difurnace_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":difurnace_side"); } @Override @@ -233,36 +233,36 @@ public class MachineDiFurnace extends BlockContainer { { int l = p_149734_1_.getBlockMetadata(x, y, z); float f = x + 0.5F; - float f1 = y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f1 = y + 0.25F + rand.nextFloat() * 6.0F / 16.0F; float f2 = z + 0.5F; float f3 = 0.52F; - float f4 = rand.nextFloat() * 0.6F - 0.3F; - float f5 = rand.nextFloat(); - float f6 = rand.nextFloat(); + float f4 = rand.nextFloat() * 0.5F - 0.25F; + float f5 = rand.nextFloat() * 0.75F + 0.125F; + float f6 = rand.nextFloat() * 0.75F + 0.125F; if (l == 4) { - p_149734_1_.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); //p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("reddust", x + f5, (double)f1 + 1, z + f6, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("smoke", x + f5, (double)y + 1, z + f6, 0.0D, 0.0D, 0.0D); } else if (l == 5) { - p_149734_1_.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); //p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("reddust", x + f5, (double)f1 + 1, z + f6, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("smoke", x + f5, (double)y + 1, z + f6, 0.0D, 0.0D, 0.0D); } else if (l == 2) { - p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); //p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D) - p_149734_1_.spawnParticle("reddust", x + f5, (double)f1 + 1, z + f6, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("smoke", x + f5, (double)y + 1, z + f6, 0.0D, 0.0D, 0.0D); } else if (l == 3) { - p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); //p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("reddust", x + f5, (double)f1 + 1, z + f6, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("smoke", x + f5, (double)y + 1, z + f6, 0.0D, 0.0D, 0.0D); } } } diff --git a/com/hbm/entity/projectile/EntityWaterSplash.java b/com/hbm/entity/projectile/EntityWaterSplash.java new file mode 100644 index 000000000..87f6de1e3 --- /dev/null +++ b/com/hbm/entity/projectile/EntityWaterSplash.java @@ -0,0 +1,53 @@ +package com.hbm.entity.projectile; + +import com.hbm.entity.particle.EntityOilSpillFX; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityWaterSplash extends EntityThrowable { + + public EntityWaterSplash(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityWaterSplash(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + @Override + public void entityInit() { + } + + public EntityWaterSplash(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + for(int i = 0; i < 10; i++) + worldObj.spawnParticle("cloud", posX + rand.nextGaussian(), posY + rand.nextGaussian(), posZ + rand.nextGaussian(), 0.0D, 0.0D, 0.0D); + + if(!worldObj.isRemote) { + + if(this.ticksExisted > 100) { + this.setDead(); + } + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) + { + if(this.ticksExisted > 5) { + worldObj.spawnParticle("splash", posX, posY, posZ, 0.0D, 0.0D, 0.0D); + this.setDead(); + } + } +} diff --git a/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java b/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java index c1b896503..5376ab201 100644 --- a/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java +++ b/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java @@ -60,7 +60,7 @@ public class AlloyFurnaceRecipeHandler extends TemplateRecipeHandler { @Override public String getRecipeName() { - return "Alloy Furnace"; + return "Blast Furnace"; } @Override diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index f97bc8bf8..d93fe5a0a 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -2886,7 +2886,7 @@ public class ModItems { cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask"); cape_schrabidium = new ArmorModel(MainRegistry.enumArmorMaterialSchrabidium, 9, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium"); - cape_hbm = new ArmorModel(MainRegistry.enumArmorMaterialEuphemium, 9, 1).setUnlocalizedName("cape_hbm").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); + cape_hbm = new ArmorModel(MainRegistry.enumArmorMaterialSchrabidium, 9, 1).setUnlocalizedName("cape_hbm").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); cape_dafnik = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_dafnik").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); cape_lpkukin = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_lpkukin").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); cape_vertice = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_vertice").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 221db1440..77051dbfd 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -393,6 +393,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 480be845c..229b4c9f8 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -573,7 +573,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_sas3, ModItems.circuit_targeting_tier4 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb, ModItems.circuit_targeting_tier3 }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "AHA", "TCT", "TPT", 'T', "plateIron", 'A', "plateAluminum", 'S', "plateSteel", 'C', "ingotCopper", 'P', Item.getItemFromBlock(Blocks.piston), 'H', Item.getItemFromBlock(Blocks.hopper) })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "T T", "PHP", "TFT", 'T', "ingotTungsten", 'P', ModItems.board_copper, 'H', Blocks.hopper, 'F', Blocks.furnace })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1), new Object[] { " T ", "RDR", "RSR", 'S', "plateSteel", 'T', ModItems.centrifuge_tower, 'W', ModItems.coil_tungsten, 'R', ModItems.coil_copper, 'D', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateIron", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 22c7403ee..1efc3e019 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -44,167 +44,19 @@ import java.util.Random; import org.apache.logging.log4j.Logger; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.machine.TileEntityGeiger; -import com.hbm.creativetabs.BlockTab; -import com.hbm.creativetabs.ConsumableTab; -import com.hbm.creativetabs.ControlTab; -import com.hbm.creativetabs.MachineTab; -import com.hbm.creativetabs.MissileTab; -import com.hbm.creativetabs.NukeTab; -import com.hbm.creativetabs.PartsTab; -import com.hbm.creativetabs.TemplateTab; -import com.hbm.creativetabs.WeaponTab; -import com.hbm.entity.effect.EntityBlackHole; -import com.hbm.entity.effect.EntityCloudFleija; -import com.hbm.entity.effect.EntityCloudFleijaRainbow; -import com.hbm.entity.effect.EntityCloudSolinium; -import com.hbm.entity.effect.EntityEMPBlast; -import com.hbm.entity.effect.EntityFalloutRain; -import com.hbm.entity.effect.EntityNukeCloudBig; -import com.hbm.entity.effect.EntityNukeCloudNoShroom; -import com.hbm.entity.effect.EntityNukeCloudSmall; -import com.hbm.entity.effect.EntityRagingVortex; -import com.hbm.entity.effect.EntityVortex; -import com.hbm.entity.grenade.EntityGrenadeASchrab; -import com.hbm.entity.grenade.EntityGrenadeBlackHole; -import com.hbm.entity.grenade.EntityGrenadeBreach; -import com.hbm.entity.grenade.EntityGrenadeBurst; -import com.hbm.entity.grenade.EntityGrenadeCloud; -import com.hbm.entity.grenade.EntityGrenadeCluster; -import com.hbm.entity.grenade.EntityGrenadeElectric; -import com.hbm.entity.grenade.EntityGrenadeFire; -import com.hbm.entity.grenade.EntityGrenadeFlare; -import com.hbm.entity.grenade.EntityGrenadeFrag; -import com.hbm.entity.grenade.EntityGrenadeGas; -import com.hbm.entity.grenade.EntityGrenadeGascan; -import com.hbm.entity.grenade.EntityGrenadeGeneric; -import com.hbm.entity.grenade.EntityGrenadeIFBouncy; -import com.hbm.entity.grenade.EntityGrenadeIFBrimstone; -import com.hbm.entity.grenade.EntityGrenadeIFConcussion; -import com.hbm.entity.grenade.EntityGrenadeIFGeneric; -import com.hbm.entity.grenade.EntityGrenadeIFHE; -import com.hbm.entity.grenade.EntityGrenadeIFHopwire; -import com.hbm.entity.grenade.EntityGrenadeIFImpact; -import com.hbm.entity.grenade.EntityGrenadeIFIncendiary; -import com.hbm.entity.grenade.EntityGrenadeIFMystery; -import com.hbm.entity.grenade.EntityGrenadeIFNull; -import com.hbm.entity.grenade.EntityGrenadeIFSpark; -import com.hbm.entity.grenade.EntityGrenadeIFSticky; -import com.hbm.entity.grenade.EntityGrenadeIFToxic; -import com.hbm.entity.grenade.EntityGrenadeLemon; -import com.hbm.entity.grenade.EntityGrenadeMIRV; -import com.hbm.entity.grenade.EntityGrenadeMk2; -import com.hbm.entity.grenade.EntityGrenadeNuclear; -import com.hbm.entity.grenade.EntityGrenadeNuke; -import com.hbm.entity.grenade.EntityGrenadePC; -import com.hbm.entity.grenade.EntityGrenadePlasma; -import com.hbm.entity.grenade.EntityGrenadePoison; -import com.hbm.entity.grenade.EntityGrenadePulse; -import com.hbm.entity.grenade.EntityGrenadeSchrabidium; -import com.hbm.entity.grenade.EntityGrenadeShrapnel; -import com.hbm.entity.grenade.EntityGrenadeSmart; -import com.hbm.entity.grenade.EntityGrenadeStrong; -import com.hbm.entity.grenade.EntityGrenadeTau; -import com.hbm.entity.grenade.EntityGrenadeZOMG; +import com.hbm.blocks.machine.*; +import com.hbm.creativetabs.*; +import com.hbm.entity.effect.*; +import com.hbm.entity.grenade.*; import com.hbm.entity.item.EntityMinecartTest; -import com.hbm.entity.logic.EntityBomber; -import com.hbm.entity.logic.EntityDeathBlast; -import com.hbm.entity.logic.EntityEMP; -import com.hbm.entity.logic.EntityMissileTest; -import com.hbm.entity.logic.EntityNukeExplosion; -import com.hbm.entity.logic.EntityNukeExplosionAdvanced; -import com.hbm.entity.logic.EntityNukeExplosionMK3; -import com.hbm.entity.logic.EntityNukeExplosionMK4; -import com.hbm.entity.logic.EntityNukeExplosionPlus; -import com.hbm.entity.logic.IChunkLoader; -import com.hbm.entity.missile.EntityBombletSelena; -import com.hbm.entity.missile.EntityBombletTheta; -import com.hbm.entity.missile.EntityBooster; -import com.hbm.entity.missile.EntityCarrier; -import com.hbm.entity.missile.EntityMIRV; -import com.hbm.entity.missile.EntityMinerRocket; -import com.hbm.entity.missile.EntityMissileAntiBallistic; -import com.hbm.entity.missile.EntityMissileBHole; -import com.hbm.entity.missile.EntityMissileBunkerBuster; -import com.hbm.entity.missile.EntityMissileBurst; -import com.hbm.entity.missile.EntityMissileBusterStrong; -import com.hbm.entity.missile.EntityMissileCluster; -import com.hbm.entity.missile.EntityMissileClusterStrong; -import com.hbm.entity.missile.EntityMissileDoomsday; -import com.hbm.entity.missile.EntityMissileDrill; -import com.hbm.entity.missile.EntityMissileEMP; -import com.hbm.entity.missile.EntityMissileEMPStrong; -import com.hbm.entity.missile.EntityMissileEndo; -import com.hbm.entity.missile.EntityMissileExo; -import com.hbm.entity.missile.EntityMissileGeneric; -import com.hbm.entity.missile.EntityMissileIncendiary; -import com.hbm.entity.missile.EntityMissileIncendiaryStrong; -import com.hbm.entity.missile.EntityMissileInferno; -import com.hbm.entity.missile.EntityMissileMicro; -import com.hbm.entity.missile.EntityMissileMirv; -import com.hbm.entity.missile.EntityMissileNuclear; -import com.hbm.entity.missile.EntityMissileRain; -import com.hbm.entity.missile.EntityMissileSchrabidium; -import com.hbm.entity.missile.EntityMissileStrong; -import com.hbm.entity.missile.EntityMissileTaint; -import com.hbm.entity.missile.EntityTestMissile; -import com.hbm.entity.mob.EntityCyberCrab; -import com.hbm.entity.mob.EntityHunterChopper; -import com.hbm.entity.mob.EntityNuclearCreeper; -import com.hbm.entity.mob.EntityTaintedCreeper; -import com.hbm.entity.particle.EntityBSmokeFX; -import com.hbm.entity.particle.EntityChlorineFX; -import com.hbm.entity.particle.EntityCloudFX; -import com.hbm.entity.particle.EntityDSmokeFX; -import com.hbm.entity.particle.EntityFogFX; -import com.hbm.entity.particle.EntityGasFX; -import com.hbm.entity.particle.EntityGasFlameFX; -import com.hbm.entity.particle.EntityOilSpillFX; -import com.hbm.entity.particle.EntityOrangeFX; -import com.hbm.entity.particle.EntityPinkCloudFX; -import com.hbm.entity.particle.EntitySSmokeFX; -import com.hbm.entity.particle.EntitySmokeFX; -import com.hbm.entity.particle.EntityTSmokeFX; -import com.hbm.entity.projectile.EntityAAShell; -import com.hbm.entity.projectile.EntityBaleflare; -import com.hbm.entity.projectile.EntityBombletZeta; -import com.hbm.entity.projectile.EntityBoxcar; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.entity.projectile.EntityBulletBase; -import com.hbm.entity.projectile.EntityBurningFOEQ; -import com.hbm.entity.projectile.EntityChopperMine; -import com.hbm.entity.projectile.EntityCombineBall; -import com.hbm.entity.projectile.EntityDischarge; -import com.hbm.entity.projectile.EntityDuchessGambit; -import com.hbm.entity.projectile.EntityExplosiveBeam; -import com.hbm.entity.projectile.EntityFallingNuke; -import com.hbm.entity.projectile.EntityFire; -import com.hbm.entity.projectile.EntityLN2; -import com.hbm.entity.projectile.EntityLaser; -import com.hbm.entity.projectile.EntityLaserBeam; -import com.hbm.entity.projectile.EntityMeteor; -import com.hbm.entity.projectile.EntityMinerBeam; -import com.hbm.entity.projectile.EntityMiniMIRV; -import com.hbm.entity.projectile.EntityMiniNuke; -import com.hbm.entity.projectile.EntityModBeam; -import com.hbm.entity.projectile.EntityNightmareBlast; -import com.hbm.entity.projectile.EntityOilSpill; -import com.hbm.entity.projectile.EntityPlasmaBeam; -import com.hbm.entity.projectile.EntityRainbow; -import com.hbm.entity.projectile.EntityRocket; -import com.hbm.entity.projectile.EntityRocketHoming; -import com.hbm.entity.projectile.EntityRubble; -import com.hbm.entity.projectile.EntitySchrab; -import com.hbm.entity.projectile.EntityShrapnel; -import com.hbm.entity.projectile.EntitySparkBeam; -import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.entity.logic.*; +import com.hbm.entity.missile.*; +import com.hbm.entity.mob.*; +import com.hbm.entity.particle.*; +import com.hbm.entity.projectile.*; +import com.hbm.handler.*; import com.hbm.handler.FluidTypeHandler.FluidType; -import com.hbm.handler.FuelHandler; -import com.hbm.handler.GUIHandler; -import com.hbm.handler.HazmatRegistry; -import com.hbm.inventory.FluidContainer; -import com.hbm.inventory.FluidContainerRegistry; -import com.hbm.inventory.MachineRecipes; +import com.hbm.inventory.*; import com.hbm.inventory.MachineRecipes.ShredderRecipe; import com.hbm.items.ModItems; import com.hbm.lib.HbmWorld; @@ -213,142 +65,11 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.render.util.HmfModelLoader; -import com.hbm.tileentity.bomb.TileEntityBombMulti; -import com.hbm.tileentity.bomb.TileEntityCelPrime; -import com.hbm.tileentity.bomb.TileEntityCelPrimeBattery; -import com.hbm.tileentity.bomb.TileEntityCelPrimePort; -import com.hbm.tileentity.bomb.TileEntityCelPrimeTanks; -import com.hbm.tileentity.bomb.TileEntityCelPrimeTerminal; -import com.hbm.tileentity.bomb.TileEntityCrashedBomb; -import com.hbm.tileentity.bomb.TileEntityLandmine; -import com.hbm.tileentity.bomb.TileEntityLaunchPad; -import com.hbm.tileentity.bomb.TileEntityNukeBoy; -import com.hbm.tileentity.bomb.TileEntityNukeCustom; -import com.hbm.tileentity.bomb.TileEntityNukeFleija; -import com.hbm.tileentity.bomb.TileEntityNukeGadget; -import com.hbm.tileentity.bomb.TileEntityNukeMan; -import com.hbm.tileentity.bomb.TileEntityNukeMike; -import com.hbm.tileentity.bomb.TileEntityNukeN2; -import com.hbm.tileentity.bomb.TileEntityNukeN45; -import com.hbm.tileentity.bomb.TileEntityNukePrototype; -import com.hbm.tileentity.bomb.TileEntityNukeSolinium; -import com.hbm.tileentity.bomb.TileEntityNukeTsar; -import com.hbm.tileentity.bomb.TileEntityRedBarrel; -import com.hbm.tileentity.bomb.TileEntitySellafield; -import com.hbm.tileentity.bomb.TileEntityTestBombAdvanced; -import com.hbm.tileentity.bomb.TileEntityTestNuke; -import com.hbm.tileentity.bomb.TileEntityTurretCIWS; -import com.hbm.tileentity.bomb.TileEntityTurretCheapo; -import com.hbm.tileentity.bomb.TileEntityTurretFlamer; -import com.hbm.tileentity.bomb.TileEntityTurretHeavy; -import com.hbm.tileentity.bomb.TileEntityTurretLight; -import com.hbm.tileentity.bomb.TileEntityTurretRocket; -import com.hbm.tileentity.bomb.TileEntityTurretSpitfire; -import com.hbm.tileentity.bomb.TileEntityTurretTau; -import com.hbm.tileentity.conductor.TileEntityCable; -import com.hbm.tileentity.conductor.TileEntityFluidDuct; -import com.hbm.tileentity.conductor.TileEntityGasDuct; -import com.hbm.tileentity.conductor.TileEntityGasDuctSolid; -import com.hbm.tileentity.conductor.TileEntityOilDuct; -import com.hbm.tileentity.conductor.TileEntityOilDuctSolid; -import com.hbm.tileentity.conductor.TileEntityPylonRedWire; -import com.hbm.tileentity.conductor.TileEntityRFDuct; -import com.hbm.tileentity.conductor.TileEntityWireCoated; -import com.hbm.tileentity.deco.TileEntityBomber; -import com.hbm.tileentity.deco.TileEntityDecoBlock; -import com.hbm.tileentity.deco.TileEntityDecoPoleSatelliteReceiver; -import com.hbm.tileentity.deco.TileEntityDecoPoleTop; -import com.hbm.tileentity.deco.TileEntityDecoSteelPoles; -import com.hbm.tileentity.deco.TileEntityDecoTapeRecorder; -import com.hbm.tileentity.deco.TileEntityObjTester; -import com.hbm.tileentity.deco.TileEntityRotationTester; -import com.hbm.tileentity.deco.TileEntityTaint; -import com.hbm.tileentity.deco.TileEntityTestContainer; -import com.hbm.tileentity.deco.TileEntityTestRender; -import com.hbm.tileentity.deco.TileEntityVent; -import com.hbm.tileentity.deco.TileEntityYellowBarrel; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; -import com.hbm.tileentity.machine.TileEntityBlastDoor; -import com.hbm.tileentity.machine.TileEntityBroadcaster; -import com.hbm.tileentity.machine.TileEntityConverterHeRf; -import com.hbm.tileentity.machine.TileEntityConverterRfHe; -import com.hbm.tileentity.machine.TileEntityCoreAdvanced; -import com.hbm.tileentity.machine.TileEntityCoreEmitter; -import com.hbm.tileentity.machine.TileEntityCoreInjector; -import com.hbm.tileentity.machine.TileEntityCoreReceiver; -import com.hbm.tileentity.machine.TileEntityCoreTitanium; -import com.hbm.tileentity.machine.TileEntityCrateIron; -import com.hbm.tileentity.machine.TileEntityCrateSteel; -import com.hbm.tileentity.machine.TileEntityDecon; -import com.hbm.tileentity.machine.TileEntityDiFurnace; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityFF; -import com.hbm.tileentity.machine.TileEntityFWatzCore; -import com.hbm.tileentity.machine.TileEntityForceField; -import com.hbm.tileentity.machine.TileEntityFusionMultiblock; -import com.hbm.tileentity.machine.TileEntityHatch; -import com.hbm.tileentity.machine.TileEntityMachineAmgen; -import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; -import com.hbm.tileentity.machine.TileEntityMachineAssembler; -import com.hbm.tileentity.machine.TileEntityMachineBattery; -import com.hbm.tileentity.machine.TileEntityMachineBoiler; -import com.hbm.tileentity.machine.TileEntityMachineBoilerElectric; -import com.hbm.tileentity.machine.TileEntityMachineCMBFactory; -import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; -import com.hbm.tileentity.machine.TileEntityMachineChemplant; -import com.hbm.tileentity.machine.TileEntityMachineCoal; -import com.hbm.tileentity.machine.TileEntityMachineCyclotron; -import com.hbm.tileentity.machine.TileEntityMachineDeuterium; -import com.hbm.tileentity.machine.TileEntityMachineDiesel; -import com.hbm.tileentity.machine.TileEntityMachineEPress; -import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; -import com.hbm.tileentity.machine.TileEntityMachineFluidTank; -import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; -import com.hbm.tileentity.machine.TileEntityMachineGenerator; -import com.hbm.tileentity.machine.TileEntityMachineIGenerator; -import com.hbm.tileentity.machine.TileEntityMachineInserter; -import com.hbm.tileentity.machine.TileEntityMachineKeyForge; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; -import com.hbm.tileentity.machine.TileEntityMachinePress; -import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; -import com.hbm.tileentity.machine.TileEntityMachineRTG; -import com.hbm.tileentity.machine.TileEntityMachineRadGen; -import com.hbm.tileentity.machine.TileEntityMachineRadar; -import com.hbm.tileentity.machine.TileEntityMachineReactor; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; +import com.hbm.tileentity.bomb.*; +import com.hbm.tileentity.conductor.*; +import com.hbm.tileentity.deco.*; +import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.TileEntityMachineReactorLarge.ReactorFuelType; -import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; -import com.hbm.tileentity.machine.TileEntityMachineSPP; -import com.hbm.tileentity.machine.TileEntityMachineSatDock; -import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; -import com.hbm.tileentity.machine.TileEntityMachineShredder; -import com.hbm.tileentity.machine.TileEntityMachineShredderLarge; -import com.hbm.tileentity.machine.TileEntityMachineSiren; -import com.hbm.tileentity.machine.TileEntityMachineTeleLinker; -import com.hbm.tileentity.machine.TileEntityMachineTeleporter; -import com.hbm.tileentity.machine.TileEntityMachineTransformer; -import com.hbm.tileentity.machine.TileEntityMachineTurbine; -import com.hbm.tileentity.machine.TileEntityMachineTurbofan; -import com.hbm.tileentity.machine.TileEntityMachineUF6Tank; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; -import com.hbm.tileentity.machine.TileEntityRadioRec; -import com.hbm.tileentity.machine.TileEntityRadiobox; -import com.hbm.tileentity.machine.TileEntityReactorControl; -import com.hbm.tileentity.machine.TileEntityReactorMultiblock; -import com.hbm.tileentity.machine.TileEntityRtgFurnace; -import com.hbm.tileentity.machine.TileEntitySafe; -import com.hbm.tileentity.machine.TileEntityMachineSatLinker; -import com.hbm.tileentity.machine.TileEntityStructureMarker; -import com.hbm.tileentity.machine.TileEntityVaultDoor; -import com.hbm.tileentity.machine.TileEntityWasteDrum; -import com.hbm.tileentity.machine.TileEntityWatzCore; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; @@ -398,7 +119,7 @@ public class MainRegistry //Armor Materials public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30); public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50); - public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 2100000000, new int[] {3, 8, 6, 3}, 100); + public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 150000000, new int[] {3, 8, 6, 3}, 100); public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialHazmat2 = EnumHelper.addArmorMaterial("HAZMAT2", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialHazmat3 = EnumHelper.addArmorMaterial("HAZMAT3", 60, new int[] {2, 5, 4, 1}, 5); @@ -789,6 +510,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityCoreInjector.class, "tileentity_v0_injector"); GameRegistry.registerTileEntity(TileEntityMachineArcFurnace.class, "tileentity_arc_furnace"); GameRegistry.registerTileEntity(TileEntityMachineAmgen.class, "tileentity_amgen"); + GameRegistry.registerTileEntity(TileEntityGeysir.class, "tileentity_geysir"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); @@ -927,6 +649,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityDuchessGambit.class, "entity_duchessgambit", 134, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileEMPStrong.class, "entity_missile_emp_strong", 135, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityEMP.class, "entity_emp_logic", 136, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityWaterSplash.class, "entity_water_splash", 137, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); diff --git a/com/hbm/tileentity/deco/TileEntityGeysir.java b/com/hbm/tileentity/deco/TileEntityGeysir.java new file mode 100644 index 000000000..24333c8e0 --- /dev/null +++ b/com/hbm/tileentity/deco/TileEntityGeysir.java @@ -0,0 +1,129 @@ +package com.hbm.tileentity.deco; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.particle.EntityChlorineFX; +import com.hbm.entity.particle.EntityOrangeFX; +import com.hbm.entity.projectile.EntityWaterSplash; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityGeysir extends TileEntity { + + int timer; + + @Override + public void updateEntity() { + + if (!this.worldObj.isRemote) { + + timer--; + + int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); + + if(timer <= 0) { + timer = getDelay(); + + if(meta == 0) + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); + else + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 2); + } + + if(meta == 1) { + perform(); + } + } + } + + private void water() { + + EntityWaterSplash fx = new EntityWaterSplash(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5); + + fx.motionX = worldObj.rand.nextGaussian() * 0.35; + fx.motionZ = worldObj.rand.nextGaussian() * 0.35; + fx.motionY = 2; + + worldObj.spawnEntityInWorld(fx); + } + + private void chlorine() { + + for(int i = 0; i < 3; i++) { + EntityOrangeFX fx = new EntityOrangeFX(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 0.0, 0.0, 0.0); + + fx.motionX = worldObj.rand.nextGaussian() * 0.45; + fx.motionZ = worldObj.rand.nextGaussian() * 0.45; + fx.motionY = timer * 0.3; + + worldObj.spawnEntityInWorld(fx); + } + + } + + private void vapor() { + + List entities = this.worldObj.getEntitiesWithinAABB(Entity.class, + AxisAlignedBB.getBoundingBox(this.xCoord - 0.5, this.yCoord, this.zCoord - 0.5, this.xCoord + 1.5, + this.yCoord + 2, this.zCoord + 1.5)); + + if (!entities.isEmpty()) { + for (Entity e : entities) { + + if(e instanceof EntityLivingBase) + ((EntityLivingBase)e).addPotionEffect(new PotionEffect(Potion.regeneration.id, 20, 0)); + } + } + } + + private int getDelay() { + + Block b = worldObj.getBlock(xCoord, yCoord, zCoord); + int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); + Random rand = worldObj.rand; + + if(b == ModBlocks.geysir_water) { + + return (meta == 0 ? 30 : 100 + rand.nextInt(40)); + + } else if(b == ModBlocks.geysir_chlorine) { + + return (meta == 0 ? 20 : 400 + rand.nextInt(100)); + + } else if(b == ModBlocks.geysir_vapor) { + + return (meta == 0 ? 20 : 30 + rand.nextInt(20)); + + } + + return 0; + } + + private void perform() { + + Block b = worldObj.getBlock(xCoord, yCoord, zCoord); + + if(b == ModBlocks.geysir_water) { + + water(); + + } else if(b == ModBlocks.geysir_chlorine) { + + chlorine(); + + } else if(b == ModBlocks.geysir_vapor) { + + vapor(); + + } + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityBlastDoor.java b/com/hbm/tileentity/machine/TileEntityBlastDoor.java index d73004ee9..70d38988d 100644 --- a/com/hbm/tileentity/machine/TileEntityBlastDoor.java +++ b/com/hbm/tileentity/machine/TileEntityBlastDoor.java @@ -19,6 +19,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { public int state = 0; public long sysTime; private int timer = 0; + public boolean redstoned = false; @Override public AxisAlignedBB getRenderBoundingBox() { @@ -36,6 +37,17 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { public void updateEntity() { if(!worldObj.isRemote) { + + if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) || worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord + 6, zCoord)) { + + if(!redstoned) { + this.tryToggle(); + } + redstoned = true; + + } else { + redstoned = false; + } if(state != 1) { timer = 0; @@ -309,6 +321,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { state = nbt.getInteger("state"); sysTime = nbt.getLong("sysTime"); timer = nbt.getInteger("timer"); + redstoned = nbt.getBoolean("redstoned"); } public void writeToNBT(NBTTagCompound nbt) { @@ -318,6 +331,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { nbt.setInteger("state", state); nbt.setLong("sysTime", sysTime); nbt.setInteger("timer", timer); + nbt.setBoolean("redstoned", redstoned); } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index 5387dd45b..bc4af6c0d 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -3,12 +3,15 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.lib.Library; import com.hbm.saveddata.RadiationSavedData; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.chunk.Chunk; @@ -16,7 +19,7 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { public List list = new ArrayList(); public long power; - public long maxPower = 50; + public long maxPower = 100; boolean tact = false; @Override @@ -24,13 +27,58 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { if(!worldObj.isRemote) { - RadiationSavedData data = RadiationSavedData.getData(worldObj); - Chunk c = worldObj.getChunkFromBlockCoords(xCoord, zCoord); - float rad = data.getRadNumFromCoord(c.xPosition, c.zPosition); + if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_amgen) { + RadiationSavedData data = RadiationSavedData.getData(worldObj); + Chunk c = worldObj.getChunkFromBlockCoords(xCoord, zCoord); + float rad = data.getRadNumFromCoord(c.xPosition, c.zPosition); + + power += rad; + + data.decrementRad(worldObj, xCoord, zCoord, 5F); + + } else if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_geo) { + + Block b = worldObj.getBlock(xCoord, yCoord - 1, zCoord); + + if(b == ModBlocks.geysir_water) { + power += 75; + } else if(b == ModBlocks.geysir_chlorine) { + power += 100; + } else if(b == ModBlocks.geysir_vapor) { + power += 50; + } else if(b == Blocks.lava) { + power += 100; + + if(worldObj.rand.nextInt(1200) == 0) { + worldObj.setBlock(xCoord, yCoord - 1, zCoord, Blocks.obsidian); + } + } else if(b == Blocks.flowing_lava) { + power += 25; + + if(worldObj.rand.nextInt(600) == 0) { + worldObj.setBlock(xCoord, yCoord - 1, zCoord, Blocks.cobblestone); + } + } + + b = worldObj.getBlock(xCoord, yCoord + 1, zCoord); + + if(b == Blocks.lava) { + power += 100; + + if(worldObj.rand.nextInt(1200) == 0) { + worldObj.setBlock(xCoord, yCoord + 1, zCoord, Blocks.obsidian); + } + } else if(b == Blocks.flowing_lava) { + power += 25; + + if(worldObj.rand.nextInt(600) == 0) { + worldObj.setBlock(xCoord, yCoord + 1, zCoord, Blocks.cobblestone); + } + } + } - power += rad; - - data.decrementRad(worldObj, xCoord, zCoord, 5F); + if(power > maxPower) + power = maxPower; tact = false; ffgeuaInit(); diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index cbdf4fb50..5a71c8d8d 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -22,6 +22,7 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { private int timer = 0; public int type; public static final int maxTypes = 7; + public boolean redstoned = false; @Override public AxisAlignedBB getRenderBoundingBox() { @@ -41,6 +42,51 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { if(!worldObj.isRemote) { if(isOpening && state == 1) { + + boolean flagX = false; + boolean flagZ = false; + + for(int x = xCoord - 2; x <= xCoord + 2; x++) + for(int y = yCoord; y <= yCoord + 5; y++) + if(worldObj.isBlockIndirectlyGettingPowered(x, y, zCoord)) { + flagX = true; + break; + } + + for(int z = zCoord - 2; z <= zCoord + 2; z++) + for(int y = yCoord; y <= yCoord + 5; y++) + if(worldObj.isBlockIndirectlyGettingPowered(xCoord, y, z)) { + flagZ = true; + break; + } + + if(worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 2 || worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 3) { + if(flagX) { + + if(!redstoned) { + this.tryToggle(); + } + + redstoned = true; + } else { + + redstoned = false; + } + } + if(worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 4 || worldObj.getBlockMetadata(xCoord, yCoord, zCoord) == 5) { + if(flagZ) { + + if(!redstoned) { + this.tryToggle(); + } + + redstoned = true; + } else { + + redstoned = false; + } + } + if(timer == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrapeNew", 1.0F, 1.0F); if(timer == 45) @@ -283,6 +329,7 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { sysTime = nbt.getLong("sysTime"); timer = nbt.getInteger("timer"); type = nbt.getInteger("type"); + redstoned = nbt.getBoolean("redstoned"); } public void writeToNBT(NBTTagCompound nbt) { @@ -293,5 +340,6 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { nbt.setLong("sysTime", sysTime); nbt.setInteger("timer", timer); nbt.setInteger("type", type); + nbt.setBoolean("redstoned", redstoned); } }