diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index fc0cf3d9b..eecea0cf7 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -445,6 +445,8 @@ container.factoryAdvanced=Fortgeschrittene Fabrik tile.reactor_element.name=Reaktorkammer tile.reactor_control.name=Steuerstäbe tile.reactor_hatch.name=Kraftwerkszugriffsluke +tile.reactor_ejector.name=Reaktor-Brennstoffauswurf +tile.reactor_inserter.name=Reaktor-Brennstoffeinlass tile.reactor_conductor.name=Reaktorboiler tile.reactor_computer.name=Reaktorsteuerung container.reactorLarge=Großer Atomreaktor @@ -742,6 +744,11 @@ tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel tile.gravel_obsidian.name=Gebrochener Obsidian tile.barbed_wire.name=Stacheldraht +tile.barbed_wire_fire.name=Flammender Stacheldraht +tile.barbed_wire_poison.name=Vergifteter Stacheldraht +tile.barbed_wire_acid.name=Ätzender Stacheldraht +tile.barbed_wire_wither.name=Withernder Stacheldraht +tile.barbed_wire_ultradeath.name=Wolken-Stacheldraht tile.seal_frame.name=Siloluke (Rahmen) tile.seal_controller.name=Silolukenöffner @@ -1095,6 +1102,10 @@ tile.waste_planks.name=Verkohlte Holzbretter item.trinitite.name=Trinitit item.nuclear_waste.name=Atommüll +item.waste_uranium.name=Erschöpfter Urankernbrennstoff +item.waste_plutonium.name=Erschöpfter Plutoniumkernbrennstoff +item.waste_mox.name=Erschöpfter MOX-Kernbrennstoff +item.waste_schrabidium.name=Erschöpfter Schrabidiumkernbrennstoff item.scrap.name=Schrott item.ingot_uranium_fuel.name=Urankernbrennstoffbarren diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 134fe3e85..3d91f1198 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -445,6 +445,8 @@ container.factoryAdvanced=Advanced Factory tile.reactor_element.name=Reactor Chamber tile.reactor_control.name=Control Rods tile.reactor_hatch.name=Reactor Access Hatch +tile.reactor_ejector.name=Reactor Waste Ejector +tile.reactor_inserter.name=Reactor Fuel Inserter tile.reactor_conductor.name=Reactor Boiler tile.reactor_computer.name=Reactor Control container.reactorLarge=Big Nuclear Reactor @@ -742,6 +744,11 @@ tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.gravel_obsidian.name=Crushed Obsidian tile.barbed_wire.name=Barbed Wire +tile.barbed_wire_fire.name=Flaming Barbed Wire +tile.barbed_wire_poison.name=Poisoned Barbed Wire +tile.barbed_wire_acid.name=Caustic Barbed Wire +tile.barbed_wire_wither.name=Withered Barbed Wire +tile.barbed_wire_ultradeath.name=Cloud Barbed Wire tile.seal_frame.name=Silo Hatch Frame tile.seal_controller.name=Silo Hatch Opener @@ -1095,6 +1102,10 @@ tile.waste_planks.name=Charred Wooden Planks item.trinitite.name=Trinitite item.nuclear_waste.name=Nuclear Waste +item.waste_uranium.name=Depleted Uranium Fuel +item.waste_plutonium.name=Depleted Plutonium Fuel +item.waste_mox.name=Depleted MOX Fuel +item.waste_schrabidium.name=Depleted Schrabidium Fuel item.scrap.name=Scrap item.ingot_uranium_fuel.name=Ingot of Uranium Fuel diff --git a/assets/hbm/textures/blocks/reactor_ejector.png b/assets/hbm/textures/blocks/reactor_ejector.png new file mode 100644 index 000000000..7a4873389 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_ejector.png differ diff --git a/assets/hbm/textures/blocks/reactor_inserter.png b/assets/hbm/textures/blocks/reactor_inserter.png new file mode 100644 index 000000000..9bf758d19 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_inserter.png differ diff --git a/assets/hbm/textures/items/waste_mox.png b/assets/hbm/textures/items/waste_mox.png new file mode 100644 index 000000000..dabeaa2b6 Binary files /dev/null and b/assets/hbm/textures/items/waste_mox.png differ diff --git a/assets/hbm/textures/items/waste_plutonium.png b/assets/hbm/textures/items/waste_plutonium.png new file mode 100644 index 000000000..91b082b45 Binary files /dev/null and b/assets/hbm/textures/items/waste_plutonium.png differ diff --git a/assets/hbm/textures/items/waste_schrabidium.png b/assets/hbm/textures/items/waste_schrabidium.png new file mode 100644 index 000000000..8e485534a Binary files /dev/null and b/assets/hbm/textures/items/waste_schrabidium.png differ diff --git a/assets/hbm/textures/items/waste_uranium.png b/assets/hbm/textures/items/waste_uranium.png new file mode 100644 index 000000000..66994b70b Binary files /dev/null and b/assets/hbm/textures/items/waste_uranium.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 8519b0f5c..847c492c8 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -212,8 +212,13 @@ public class ModBlocks { public static Block vault_door; public static Block blast_door; - + public static Block barbed_wire; + public static Block barbed_wire_fire; + public static Block barbed_wire_poison; + public static Block barbed_wire_acid; + public static Block barbed_wire_wither; + public static Block barbed_wire_ultradeath; public static Block marker_structure; @@ -363,6 +368,8 @@ public class ModBlocks { public static Block reactor_element; public static Block reactor_control; public static Block reactor_hatch; + public static Block reactor_ejector; + public static Block reactor_inserter; public static Block reactor_conductor; public static Block reactor_computer; public static final int guiID_reactor_multiblock = 26; @@ -883,6 +890,8 @@ public class ModBlocks { reactor_element = new BlockReactor(Material.iron).setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_control = new BlockReactor(Material.iron).setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + reactor_ejector = new BlockRotatable(Material.iron).setBlockName("reactor_ejector").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + reactor_inserter = new BlockRotatable(Material.iron).setBlockName("reactor_inserter").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); reactor_conductor = new BlockReactor(Material.iron).setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer"); @@ -926,6 +935,11 @@ public class ModBlocks { blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); barbed_wire = new BarbedWire(Material.iron).setBlockName("barbed_wire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire"); + barbed_wire_fire = new BarbedWire(Material.iron).setBlockName("barbed_wire_fire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_fire"); + barbed_wire_poison = new BarbedWire(Material.iron).setBlockName("barbed_wire_poison").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_poison"); + barbed_wire_acid = new BarbedWire(Material.iron).setBlockName("barbed_wire_acid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_acid"); + barbed_wire_wither = new BarbedWire(Material.iron).setBlockName("barbed_wire_wither").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_wither"); + barbed_wire_ultradeath = new BarbedWire(Material.iron).setBlockName("barbed_wire_ultradeath").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_ultradeath"); marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.0F).setResistance(0.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure"); @@ -1190,6 +1204,11 @@ public class ModBlocks { //Other defensive stuff GameRegistry.registerBlock(barbed_wire, barbed_wire.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_fire, barbed_wire_fire.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_poison, barbed_wire_poison.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_acid, barbed_wire_acid.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_wither, barbed_wire_wither.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_ultradeath, barbed_wire_ultradeath.getUnlocalizedName()); //Decoration Blocks GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); @@ -1417,6 +1436,8 @@ public class ModBlocks { GameRegistry.registerBlock(reactor_element, reactor_element.getUnlocalizedName()); GameRegistry.registerBlock(reactor_control, reactor_control.getUnlocalizedName()); GameRegistry.registerBlock(reactor_hatch, reactor_hatch.getUnlocalizedName()); + GameRegistry.registerBlock(reactor_ejector, reactor_ejector.getUnlocalizedName()); + GameRegistry.registerBlock(reactor_inserter, reactor_inserter.getUnlocalizedName()); GameRegistry.registerBlock(reactor_conductor, reactor_conductor.getUnlocalizedName()); GameRegistry.registerBlock(reactor_computer, reactor_computer.getUnlocalizedName()); diff --git a/com/hbm/blocks/generic/BarbedWire.java b/com/hbm/blocks/generic/BarbedWire.java index 36907f956..8a7572e3b 100644 --- a/com/hbm/blocks/generic/BarbedWire.java +++ b/com/hbm/blocks/generic/BarbedWire.java @@ -1,9 +1,18 @@ package com.hbm.blocks.generic; +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; +import com.hbm.potion.HbmPotion; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.world.World; @@ -15,10 +24,51 @@ public class BarbedWire extends Block { super(mat); } - public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_) + public void onEntityCollidedWithBlock(World p_149670_1_, int x, int y, int z, Entity ent) { - p_149670_5_.setInWeb(); - p_149670_5_.attackEntityFrom(DamageSource.cactus, 2.0F); + ent.setInWeb(); + + if(this == ModBlocks.barbed_wire) { + ent.attackEntityFrom(DamageSource.cactus, 2.0F); + } + + if(this == ModBlocks.barbed_wire_fire) { + ent.attackEntityFrom(DamageSource.cactus, 2.0F); + ent.setFire(1); + } + + if(this == ModBlocks.barbed_wire_poison) { + ent.attackEntityFrom(DamageSource.cactus, 2.0F); + + if(ent instanceof EntityLivingBase) + ((EntityLivingBase)ent).addPotionEffect(new PotionEffect(Potion.poison.id, 5 * 20, 2)); + + } + + if(this == ModBlocks.barbed_wire_acid) { + ent.attackEntityFrom(DamageSource.cactus, 2.0F); + + if(ent instanceof EntityPlayer) { + Library.damageSuit((EntityPlayer)ent, 0, 1); + Library.damageSuit((EntityPlayer)ent, 1, 1); + Library.damageSuit((EntityPlayer)ent, 2, 1); + Library.damageSuit((EntityPlayer)ent, 3, 1); + } + } + + if(this == ModBlocks.barbed_wire_wither) { + ent.attackEntityFrom(DamageSource.cactus, 2.0F); + + if(ent instanceof EntityLivingBase) + ((EntityLivingBase)ent).addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 4)); + } + + if(this == ModBlocks.barbed_wire_ultradeath) { + ent.attackEntityFrom(ModDamageSource.pc, 5.0F); + + if(ent instanceof EntityLivingBase) + ((EntityLivingBase)ent).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 5 * 20, 9)); + } } public boolean isOpaqueCube() diff --git a/com/hbm/blocks/machine/BlockRotatable.java b/com/hbm/blocks/machine/BlockRotatable.java new file mode 100644 index 000000000..d72913ef2 --- /dev/null +++ b/com/hbm/blocks/machine/BlockRotatable.java @@ -0,0 +1,114 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlockRotatable extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public BlockRotatable(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + + if(this == ModBlocks.reactor_ejector) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_ejector"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete"); + } + if(this == ModBlocks.reactor_inserter) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_inserter"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(this); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + //this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + @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, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + +} diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 837b7fbdd..bd5552d72 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -131,7 +131,7 @@ public class MachineRecipes { ItemStack[] uran1 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2), - new ItemStack(ModItems.rod_waste, 1) }; + new ItemStack(ModItems.nuclear_waste, 1) }; ItemStack[] uran2 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 2), new ItemStack(ModItems.nugget_u238, 6), new ItemStack(ModItems.nugget_pu239, 4), new ItemStack(ModItems.rod_dual_waste, 1) }; @@ -140,7 +140,7 @@ public class MachineRecipes { new ItemStack(ModItems.rod_quad_waste, 1) }; ItemStack[] plutonium1 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 3), new ItemStack(ModItems.nugget_lead, 2), - new ItemStack(ModItems.rod_waste, 1) }; + new ItemStack(ModItems.nuclear_waste, 1) }; ItemStack[] plutonium2 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 2), new ItemStack(ModItems.nugget_pu240, 6), new ItemStack(ModItems.nugget_lead, 4), new ItemStack(ModItems.rod_dual_waste, 1) }; @@ -149,7 +149,7 @@ public class MachineRecipes { new ItemStack(ModItems.rod_quad_waste, 1) }; ItemStack[] mox1 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 1), new ItemStack(ModItems.nugget_neptunium, 3), new ItemStack(ModItems.nugget_u238, 2), - new ItemStack(ModItems.rod_waste, 1) }; + new ItemStack(ModItems.nuclear_waste, 1) }; ItemStack[] mox2 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 2), new ItemStack(ModItems.nugget_neptunium, 6), new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.rod_dual_waste, 1) }; @@ -158,7 +158,7 @@ public class MachineRecipes { new ItemStack(ModItems.rod_quad_waste, 1) }; ItemStack[] schrabidium1 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 1), new ItemStack(ModItems.nugget_lead, 3), new ItemStack(ModItems.nugget_schrabidium, 2), - new ItemStack(ModItems.rod_waste, 1) }; + new ItemStack(ModItems.nuclear_waste, 1) }; ItemStack[] schrabidium2 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 2), new ItemStack(ModItems.nugget_lead, 6), new ItemStack(ModItems.nugget_schrabidium, 4), new ItemStack(ModItems.rod_dual_waste, 1) }; @@ -233,53 +233,53 @@ public class MachineRecipes { } } - if (item.getItem() == ModItems.rod_uranium_fuel_depleted) { + if (item.getItem() == ModItems.waste_uranium) { return uran1; } - if (item.getItem() == ModItems.rod_dual_uranium_fuel_depleted) { + /*if (item.getItem() == ModItems.rod_dual_uranium_fuel_depleted) { return uran2; } if (item.getItem() == ModItems.rod_quad_uranium_fuel_depleted) { return uran3; - } + }*/ - if (item.getItem() == ModItems.rod_plutonium_fuel_depleted) { + if (item.getItem() == ModItems.waste_plutonium) { return plutonium1; } - if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) { + /*if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) { return plutonium2; } if (item.getItem() == ModItems.rod_quad_plutonium_fuel_depleted) { return plutonium3; - } + }*/ - if (item.getItem() == ModItems.rod_mox_fuel_depleted) { + if (item.getItem() == ModItems.waste_mox) { return mox1; } - if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) { + /*if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) { return mox2; } if (item.getItem() == ModItems.rod_quad_mox_fuel_depleted) { return mox3; - } + }*/ - if (item.getItem() == ModItems.rod_schrabidium_fuel_depleted) { + if (item.getItem() == ModItems.waste_schrabidium) { return schrabidium1; } - if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) { + /*if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) { return schrabidium2; } if (item.getItem() == ModItems.rod_quad_schrabidium_fuel_depleted) { return schrabidium3; - } + }*/ if (item.getItem() == ModItems.powder_cloud) { return cloud; @@ -1189,30 +1189,30 @@ public class MachineRecipes { recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)), getCentrifugeOutput(new ItemStack(ModBlocks.test_render))); } - recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_uranium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_plutonium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_mox_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_mox_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_dual_mox_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_quad_mox_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_schrabidium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted))); - recipes.put(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted), - getCentrifugeOutput(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_uranium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_plutonium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_mox_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_mox_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_dual_mox_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_quad_mox_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_schrabidium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted))); + //recipes.put(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted), + // getCentrifugeOutput(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted))); recipes.put(new ItemStack(ModItems.powder_cloud), getCentrifugeOutput(new ItemStack(ModItems.powder_cloud))); recipes.put(new ItemStack(Blocks.coal_ore), @@ -1251,6 +1251,14 @@ public class MachineRecipes { getCentrifugeOutput(new ItemStack(Blocks.lapis_ore))); recipes.put(new ItemStack(ModBlocks.ore_nether_plutonium), getCentrifugeOutput(new ItemStack(ModBlocks.ore_nether_plutonium))); + recipes.put(new ItemStack(ModItems.waste_uranium), + getCentrifugeOutput(new ItemStack(ModItems.waste_uranium))); + recipes.put(new ItemStack(ModItems.waste_plutonium), + getCentrifugeOutput(new ItemStack(ModItems.waste_plutonium))); + recipes.put(new ItemStack(ModItems.waste_mox), + getCentrifugeOutput(new ItemStack(ModItems.waste_mox))); + recipes.put(new ItemStack(ModItems.waste_schrabidium), + getCentrifugeOutput(new ItemStack(ModItems.waste_schrabidium))); return recipes; } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index db269c781..9497c4c9c 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -676,6 +676,10 @@ public class ModItems { public static Item rod_waste; public static Item rod_dual_waste; public static Item rod_quad_waste; + public static Item waste_uranium; + public static Item waste_plutonium; + public static Item waste_mox; + public static Item waste_schrabidium; public static Item rod_lithium; public static Item rod_dual_lithium; @@ -2026,6 +2030,10 @@ public class ModItems { trinitite = new ItemCustomLore().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new"); nuclear_waste = new ItemCustomLore().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste"); + waste_uranium = new ItemCustomLore().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); + waste_plutonium = new ItemCustomLore().setUnlocalizedName("waste_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plutonium"); + waste_mox = new ItemCustomLore().setUnlocalizedName("waste_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox"); + waste_schrabidium = new ItemCustomLore().setUnlocalizedName("waste_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium"); scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap"); rod_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel_depleted"); rod_dual_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel_depleted"); @@ -2039,9 +2047,9 @@ public class ModItems { rod_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium_fuel_depleted"); rod_dual_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium_fuel_depleted"); rod_quad_schrabidium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_schrabidium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium_fuel_depleted"); - rod_waste = new ItemCustomLore().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste"); - rod_dual_waste = new ItemCustomLore().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste"); - rod_quad_waste = new ItemCustomLore().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); + rod_waste = new ItemCustomLore().setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste"); + rod_dual_waste = new ItemCustomLore().setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste"); + rod_quad_waste = new ItemCustomLore().setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_cluster"); powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fire"); @@ -3560,6 +3568,10 @@ public class ModItems { GameRegistry.registerItem(rod_quad_waste, rod_quad_waste.getUnlocalizedName()); GameRegistry.registerItem(scrap, scrap.getUnlocalizedName()); + GameRegistry.registerItem(waste_uranium, waste_uranium.getUnlocalizedName()); + GameRegistry.registerItem(waste_plutonium, waste_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(waste_mox, waste_mox.getUnlocalizedName()); + GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemRadioactive.java b/com/hbm/items/special/ItemRadioactive.java index 96fbd81ba..fb5a9c3e6 100644 --- a/com/hbm/items/special/ItemRadioactive.java +++ b/com/hbm/items/special/ItemRadioactive.java @@ -77,7 +77,11 @@ public class ItemRadioactive extends Item { this == ModItems.boy_target || this == ModItems.gadget_core || this == ModItems.man_core || - this == ModItems.nuclear_waste) { + this == ModItems.nuclear_waste || + this == ModItems.waste_uranium || + this == ModItems.waste_plutonium || + this == ModItems.waste_mox || + this == ModItems.waste_schrabidium) { //Library.applyRadiation(living, 60, 19, 40, 14); Library.applyRadData(living, 25F/20F * mod); } @@ -176,13 +180,17 @@ public class ItemRadioactive extends Item { this == ModItems.powder_plutonium) { //Library.applyRadiation(living, 60, 19, 45, 14); Library.applyRadData(living, 10F/20F * mod); - living.setFire(5); + + if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living)) + living.setFire(5); } if (this == ModItems.powder_uranium) { //Library.applyRadiation(living, 20, 4, 0, 0); Library.applyRadData(living, 5F/20F * mod); - living.setFire(5); + + if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living)) + living.setFire(5); } //Schrabidic @@ -204,7 +212,10 @@ public class ItemRadioactive extends Item { this == ModItems.rod_schrabidium_fuel || this == ModItems.rod_dual_schrabidium_fuel || this == ModItems.rod_quad_schrabidium_fuel) { - living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); + + if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living)) + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); + //Library.applyRadiation(living, 100, 29, 75, 24); Library.applyRadData(living, 35F/20F * mod); } @@ -227,10 +238,13 @@ public class ItemRadioactive extends Item { } if (this == ModItems.powder_schrabidium) { - living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); //Library.applyRadiation(living, 100, 29, 75, 24); Library.applyRadData(living, 35F/20F * mod); - living.setFire(5); + + if(living instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)living)) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); + living.setFire(5); + } } } } diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 119530e25..27e3e3129 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -366,22 +366,22 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 24), new Object[] { ModItems.rod_quad_mox_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 24), new Object[] { ModItems.rod_quad_schrabidium_fuel }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste }); + //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste }); + //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste }); + //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_schrabidium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 1), new Object[] { ModItems.rod_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 2), new Object[] { ModItems.rod_dual_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 4), new Object[] { ModItems.rod_quad_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 1), new Object[] { ModItems.rod_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 2), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 4), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 1), new Object[] { ModItems.rod_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 2), new Object[] { ModItems.rod_dual_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 4), new Object[] { ModItems.rod_quad_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 1), new Object[] { ModItems.rod_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 2), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 4), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple }); @@ -651,6 +651,8 @@ public class CraftingManager { //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', "ingotSteel", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse })); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_computer), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_red_copper, 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'R', Item.getItemFromBlock(ModBlocks.reactor_conductor) }); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_hatch), 1), new Object[] { "BBB", "BFB", "BBB", 'B', Item.getItemFromBlock(ModBlocks.brick_concrete), 'F', Item.getItemFromBlock(Blocks.furnace) }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_conductor), 1), new Object[] { "SSS", "CCC", "SSS", 'S', "plateSteel", 'C', ModItems.coil_advanced_alloy })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_center), 1), new Object[] { "TMT", "TWT", "TMT", 'T', "ingotTungsten", 'M', Item.getItemFromBlock(ModBlocks.fusion_conductor), 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated) })); @@ -689,8 +691,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_light), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.glowstone }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_sand), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.sandstone }); - + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barbed_wire, 16), new Object[] { "AIA", "I I", "AIA", 'A', ModItems.wire_aluminium, 'I', "ingotIron" })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_fire, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_fire }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_poison, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_poison }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_acid, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(ModItems.fluid_tank_full, 1, FluidType.ACID.getID()) }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_wither, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(Items.skull, 1, 1) }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barbed_wire_ultradeath, 4), new Object[] { "BCB", "CIC", "BCB", 'B', ModBlocks.barbed_wire, 'C', ModItems.powder_cloud, 'I', ModItems.nuclear_waste }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', "ingotTungsten", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', "ingotSteel" })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index bcb9fdcd2..fc1ba806d 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -1627,14 +1627,14 @@ public class MainRegistry TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.MOX, ModItems.rod_dual_empty, ModItems.rod_dual_mox_fuel_depleted); TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.MOX, ModItems.rod_quad_empty, ModItems.rod_quad_mox_fuel_depleted); - TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.SCHRABIDIUM, ModItems.nugget_schrabidium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.SCHRABIDIUM, ModItems.ingot_schrabidium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(6, ReactorFuelType.SCHRABIDIUM, ModItems.rod_schrabidium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(12, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_schrabidium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(24, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_schrabidium_fuel); - TileEntityMachineReactorLarge.registerWasteEntry(6, ReactorFuelType.SCHRABIDIUM, ModItems.rod_empty, ModItems.rod_schrabidium_fuel_depleted); - TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_empty, ModItems.rod_dual_schrabidium_fuel_depleted); - TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_empty, ModItems.rod_quad_schrabidium_fuel_depleted); + TileEntityMachineReactorLarge.registerFuelEntry(10, ReactorFuelType.SCHRABIDIUM, ModItems.nugget_schrabidium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(90, ReactorFuelType.SCHRABIDIUM, ModItems.ingot_schrabidium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(60, ReactorFuelType.SCHRABIDIUM, ModItems.rod_schrabidium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(120, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_schrabidium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(240, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_schrabidium_fuel); + TileEntityMachineReactorLarge.registerWasteEntry(60, ReactorFuelType.SCHRABIDIUM, ModItems.rod_empty, ModItems.rod_schrabidium_fuel_depleted); + TileEntityMachineReactorLarge.registerWasteEntry(120, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_empty, ModItems.rod_dual_schrabidium_fuel_depleted); + TileEntityMachineReactorLarge.registerWasteEntry(240, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_empty, ModItems.rod_quad_schrabidium_fuel_depleted); } @EventHandler diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 7c078301a..7ee3eec18 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -340,6 +340,10 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento if(item == ModItems.rod_quad_schrabidium) return 2880; if(item == ModItems.nuclear_waste) return 100; + if(item == ModItems.waste_uranium) return 150; + if(item == ModItems.waste_plutonium) return 150; + if(item == ModItems.waste_mox) return 150; + if(item == ModItems.waste_schrabidium) return 150; if(item == Item.getItemFromBlock(ModBlocks.block_waste)) return 1000; if(item == Item.getItemFromBlock(ModBlocks.yellow_barrel)) return 900; if(item == ModItems.trinitite) return 80; diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 32939b962..f8fe17ac7 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -24,6 +24,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -177,6 +178,7 @@ public class TileEntityMachineReactorLarge extends TileEntity slots = new ItemStack[getSizeInventory()]; tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "coolant"); + tanks[2].readFromNBT(nbt, "steam"); type = ReactorFuelType.getEnum(nbt.getInteger("type")); for (int i = 0; i < list.tagCount(); i++) { @@ -531,6 +533,24 @@ public class TileEntityMachineReactorLarge extends TileEntity for (int i = 0; i < 3; i++) tanks[i].updateTank(xCoord, yCoord, zCoord); + if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2) + tryEjectInto(xCoord, yCoord, zCoord - 3); + if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3) + tryEjectInto(xCoord, yCoord, zCoord + 3); + if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4) + tryEjectInto(xCoord - 3, yCoord, zCoord); + if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5) + tryEjectInto(xCoord + 3, yCoord, zCoord); + + if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2) + tryInsertFrom(xCoord, yCoord, zCoord - 3); + if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3) + tryInsertFrom(xCoord, yCoord, zCoord + 3); + if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4) + tryInsertFrom(xCoord - 3, yCoord, zCoord); + if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5) + tryInsertFrom(xCoord + 3, yCoord, zCoord); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, rods, 0)); PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, coreHeat, 1)); PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, hullHeat, 2)); @@ -540,6 +560,95 @@ public class TileEntityMachineReactorLarge extends TileEntity } } + private void tryEjectInto(int x, int y, int z) { + + int wSize = type.toString().equals(ReactorFuelType.SCHRABIDIUM.toString()) ? 60 * fuelMult : 6 * fuelMult; + + if(waste < wSize) + return; + + TileEntity te = worldObj.getTileEntity(x, y, z); + + if(te instanceof IInventory) { + + IInventory chest = (IInventory)te; + + Item waste = ModItems.waste_uranium; + + switch(type) { + case PLUTONIUM: + waste = ModItems.waste_plutonium; + break; + case MOX: + waste = ModItems.waste_mox; + break; + case SCHRABIDIUM: + waste = ModItems.waste_schrabidium; + break; + default: + waste = ModItems.waste_uranium; + break; + } + + for(int i = 0; i < chest.getSizeInventory(); i++) { + + if(chest.isItemValidForSlot(i, new ItemStack(waste)) && chest.getStackInSlot(i) != null && chest.getStackInSlot(i).getItem() == waste && chest.getStackInSlot(i).stackSize < chest.getStackInSlot(i).getMaxStackSize()) { + chest.setInventorySlotContents(i, new ItemStack(waste, chest.getStackInSlot(i).stackSize + 1)); + this.waste -= wSize; + return; + } + } + + for(int i = 0; i < chest.getSizeInventory(); i++) { + + if(chest.isItemValidForSlot(i, new ItemStack(waste)) && chest.getStackInSlot(i) == null) { + chest.setInventorySlotContents(i, new ItemStack(waste)); + this.waste -= wSize; + return; + } + } + } + } + + private void tryInsertFrom(int x, int y, int z) { + + TileEntity te = worldObj.getTileEntity(x, y, z); + + if(te instanceof IInventory) { + + IInventory chest = (IInventory)te; + + if(fuel > 0) { + for(int i = 0; i < chest.getSizeInventory(); i++) { + + if(chest.getStackInSlot(i) != null) { + int cont = getFuelContent(chest.getStackInSlot(i).getItem(), type) * fuelMult; + + if(cont > 0 && fuel + cont <= maxFuel && !chest.getStackInSlot(i).getItem().hasContainerItem()) { + + chest.decrStackSize(i, 1); + fuel += cont; + } + } + } + } else { + for(int i = 0; i < chest.getSizeInventory(); i++) { + + if(chest.getStackInSlot(i) != null) { + int cont = getFuelContent(chest.getStackInSlot(i).getItem(), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult; + + if(cont > 0 && fuel + cont <= maxFuel && !chest.getStackInSlot(i).getItem().hasContainerItem()) { + + type = getFuelType(chest.getStackInSlot(i).getItem()); + chest.decrStackSize(i, 1); + fuel += cont; + } + } + } + } + } + } + @SuppressWarnings("incomplete-switch") private void generateSteam() { @@ -732,7 +841,7 @@ public class TileEntityMachineReactorLarge extends TileEntity URANIUM(250000), PLUTONIUM(312500), MOX(250000), - SCHRABIDIUM(20850000), + SCHRABIDIUM(2085000), UNKNOWN(1); private ReactorFuelType(int i) { diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 2438210fa..bd2ed9198 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -186,6 +186,7 @@ public class TileEntityMachineReactorSmall extends TileEntity slots = new ItemStack[getSizeInventory()]; tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "coolant"); + tanks[2].readFromNBT(nbt, "steam"); for (int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -206,6 +207,7 @@ public class TileEntityMachineReactorSmall extends TileEntity NBTTagList list = new NBTTagList(); tanks[0].writeToNBT(nbt, "water"); tanks[1].writeToNBT(nbt, "coolant"); + tanks[2].writeToNBT(nbt, "steam"); for (int i = 0; i < slots.length; i++) { if (slots[i] != null) {