diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 0112c90bf..fc0cf3d9b 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -445,9 +445,9 @@ container.factoryAdvanced=Fortgeschrittene Fabrik tile.reactor_element.name=Reaktorkammer tile.reactor_control.name=Steuerstäbe tile.reactor_hatch.name=Kraftwerkszugriffsluke -tile.reactor_conductor.name=Reaktorstromanschluss +tile.reactor_conductor.name=Reaktorboiler tile.reactor_computer.name=Reaktorsteuerung -container.reactorMultiblock=Großer Atomreaktor +container.reactorLarge=Großer Atomreaktor tile.fusion_conductor.name=Supraleiter-Magnet tile.fusion_center.name=Zentralmagnetstück diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 0cdbde8dd..134fe3e85 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -445,9 +445,9 @@ 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_conductor.name=Reactor Electricity Port +tile.reactor_conductor.name=Reactor Boiler tile.reactor_computer.name=Reactor Control -container.reactorMultiblock=Big Nuclear Reactor +container.reactorLarge=Big Nuclear Reactor tile.fusion_conductor.name=Superconducting Magnet tile.fusion_center.name=Central Magnet Piece diff --git a/assets/hbm/textures/blocks/reactor_computer.png b/assets/hbm/textures/blocks/reactor_computer.png index 7cb3c39e2..b0bf0b1fa 100644 Binary files a/assets/hbm/textures/blocks/reactor_computer.png and b/assets/hbm/textures/blocks/reactor_computer.png differ diff --git a/assets/hbm/textures/blocks/reactor_computer_alt.png b/assets/hbm/textures/blocks/reactor_computer_alt.png new file mode 100644 index 000000000..c78fc8be6 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_computer_alt.png differ diff --git a/assets/hbm/textures/blocks/reactor_conductor_side.png b/assets/hbm/textures/blocks/reactor_conductor_side.png index ca6bda23e..f593dd4e5 100644 Binary files a/assets/hbm/textures/blocks/reactor_conductor_side.png and b/assets/hbm/textures/blocks/reactor_conductor_side.png differ diff --git a/assets/hbm/textures/blocks/reactor_conductor_side_alt.png b/assets/hbm/textures/blocks/reactor_conductor_side_alt.png new file mode 100644 index 000000000..cbd8c0906 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_conductor_side_alt.png differ diff --git a/assets/hbm/textures/blocks/reactor_conductor_top.png b/assets/hbm/textures/blocks/reactor_conductor_top.png index 89ad6807e..8ca00f7ab 100644 Binary files a/assets/hbm/textures/blocks/reactor_conductor_top.png and b/assets/hbm/textures/blocks/reactor_conductor_top.png differ diff --git a/assets/hbm/textures/blocks/reactor_conductor_top_alt.png b/assets/hbm/textures/blocks/reactor_conductor_top_alt.png new file mode 100644 index 000000000..e0bf9f0b9 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_conductor_top_alt.png differ diff --git a/assets/hbm/textures/blocks/reactor_hatch.png b/assets/hbm/textures/blocks/reactor_hatch.png index 92f0bafd0..4f9ab082b 100644 Binary files a/assets/hbm/textures/blocks/reactor_hatch.png and b/assets/hbm/textures/blocks/reactor_hatch.png differ diff --git a/assets/hbm/textures/blocks/reactor_hatch_alt.png b/assets/hbm/textures/blocks/reactor_hatch_alt.png new file mode 100644 index 000000000..d5fc8d5af Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_hatch_alt.png differ diff --git a/assets/hbm/textures/models/stable_label_99.png b/assets/hbm/textures/models/stable_label_99.png new file mode 100644 index 000000000..f58facf95 Binary files /dev/null and b/assets/hbm/textures/models/stable_label_99.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 22eb39b10..8519b0f5c 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -880,11 +880,11 @@ public class ModBlocks { factory_advanced_conductor = new BlockReactor(Material.iron).setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_conductor"); factory_advanced_core = new FactoryCoreAdvanced(Material.iron).setBlockName("factory_advanced_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_core"); - reactor_element = new BlockReactor(Material.iron).setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); - reactor_control = new BlockReactor(Material.iron).setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); - reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - reactor_conductor = new BlockReactor(Material.iron).setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); - reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":reactor_computer"); + 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_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"); fusion_conductor = new BlockReactor(Material.iron).setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side"); fusion_center = new BlockReactor(Material.iron).setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side"); diff --git a/com/hbm/blocks/fluid/ToxicBlock.java b/com/hbm/blocks/fluid/ToxicBlock.java index 438c59038..da4dc3c50 100644 --- a/com/hbm/blocks/fluid/ToxicBlock.java +++ b/com/hbm/blocks/fluid/ToxicBlock.java @@ -120,17 +120,17 @@ public class ToxicBlock extends BlockFluidClassic { super.onNeighborBlockChange(world, x, y, z, block); if(reactToBlocks(world, x + 1, y, z)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); if(reactToBlocks(world, x - 1, y, z)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); if(reactToBlocks(world, x, y + 1, z)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); if(reactToBlocks(world, x, y - 1, z)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); if(reactToBlocks(world, x, y, z + 1)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); if(reactToBlocks(world, x, y, z - 1)) - world.setBlock(x, y, z, ModBlocks.block_waste); + world.setBlock(x, y, z, ModBlocks.sellafield_0); } public boolean reactToBlocks(World world, int x, int y, int z) { diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 6e48c60a4..837b7fbdd 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -3134,15 +3134,16 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.wire_advanced_alloy, 4)); list.add(new ItemStack(ModItems.fuse, 6)); break; - /*case LR_ELEMENT: - list.add(new ItemStack(ModItems.ingot_steel, 4)); - list.add(new ItemStack(ModItems.neutron_reflector, 2)); + case LR_ELEMENT: + list.add(new ItemStack(ModItems.ingot_steel, 2)); + list.add(new ItemStack(ModItems.neutron_reflector, 4)); list.add(new ItemStack(ModItems.plate_lead, 2)); - list.add(new ItemStack(ModItems.rod_empty, 3)); + list.add(new ItemStack(ModItems.rod_empty, 8)); break; case LR_CONTROL: - list.add(new ItemStack(ModItems.ingot_steel, 6)); - list.add(new ItemStack(ModItems.ingot_lead, 4)); + list.add(new ItemStack(ModItems.ingot_steel, 4)); + list.add(new ItemStack(ModItems.ingot_lead, 6)); + list.add(new ItemStack(ModItems.bolt_tungsten, 6)); list.add(new ItemStack(ModItems.motor, 1)); break; case LR_HATCH: @@ -3150,16 +3151,15 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_steel, 6)); break; case LR_PORT: - list.add(new ItemStack(ModItems.ingot_steel, 8)); - list.add(new ItemStack(ModItems.ingot_red_copper, 2)); - list.add(new ItemStack(ModItems.wire_red_copper, 4)); - list.add(new ItemStack(ModItems.fuse, 6)); + list.add(new ItemStack(ModItems.ingot_steel, 4)); + list.add(new ItemStack(ModItems.plate_copper, 12)); + list.add(new ItemStack(ModItems.wire_tungsten, 4)); break; case LR_CORE: list.add(new ItemStack(ModBlocks.reactor_conductor, 2)); - list.add(new ItemStack(ModItems.circuit_red_copper, 12)); - list.add(new ItemStack(ModItems.circuit_gold, 4)); - break;*/ + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 4)); + list.add(new ItemStack(ModItems.circuit_gold, 1)); + break; case LF_MAGNET: list.add(new ItemStack(ModItems.plate_steel, 10)); list.add(new ItemStack(ModItems.coil_advanced_alloy, 5)); @@ -4357,7 +4357,7 @@ public class MachineRecipes { case FA_PORT: output = new ItemStack(ModBlocks.factory_advanced_conductor, 1); break; - /*case LR_ELEMENT: + case LR_ELEMENT: output = new ItemStack(ModBlocks.reactor_element, 1); break; case LR_CONTROL: @@ -4371,7 +4371,7 @@ public class MachineRecipes { break; case LR_CORE: output = new ItemStack(ModBlocks.reactor_computer, 1); - break;*/ + break; case LF_MAGNET: output = new ItemStack(ModBlocks.fusion_conductor, 1); break; diff --git a/com/hbm/inventory/gui/GUIReactorMultiblock.java b/com/hbm/inventory/gui/GUIReactorMultiblock.java index 0d9878b4e..5a997d9b8 100644 --- a/com/hbm/inventory/gui/GUIReactorMultiblock.java +++ b/com/hbm/inventory/gui/GUIReactorMultiblock.java @@ -30,6 +30,7 @@ public class GUIReactorMultiblock extends GuiInfoContainer { this.ySize = 222; } + @SuppressWarnings("incomplete-switch") @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index d5f166d86..0f485f0a3 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -187,11 +187,11 @@ public class ItemAssemblyTemplate extends Item { FA_HATCH, FA_CORE, FA_PORT, - //LR_ELEMENT, - //LR_CONTROL, - //LR_HATCH, - //LR_PORT, - //LR_CORE, + LR_ELEMENT, + LR_CONTROL, + LR_HATCH, + LR_PORT, + LR_CORE, LF_MAGNET, LF_CENTER, LF_MOTOR, diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index d2ef3353c..503ab7c93 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -393,7 +393,6 @@ public class Library { tileentity instanceof IConsumer || tileentity instanceof ISource)) || world.getBlock(x, y, z) == ModBlocks.fusion_center || - world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.factory_titanium_conductor || world.getBlock(x, y, z) == ModBlocks.factory_advanced_conductor || world.getBlock(x, y, z) == ModBlocks.watz_conductor || @@ -434,6 +433,7 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.dummy_port_pumpjack || world.getBlock(x, y, z) == ModBlocks.dummy_port_turbofan || world.getBlock(x, y, z) == ModBlocks.reactor_hatch || + world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.fusion_hatch || world.getBlock(x, y, z) == ModBlocks.watz_hatch || world.getBlock(x, y, z) == ModBlocks.fwatz_hatch || diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index fb1007f8b..4643083e5 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -241,6 +241,7 @@ public class ResourceManager { public static final ResourceLocation vault_label_106_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_label_106.png"); public static final ResourceLocation stable_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/stable_cog.png"); public static final ResourceLocation stable_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/stable_label.png"); + public static final ResourceLocation stable_label_99_tex = new ResourceLocation(RefStrings.MODID, "textures/models/stable_label_99.png"); public static final ResourceLocation vault4_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_cog.png"); public static final ResourceLocation vault4_label_111_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_111.png"); public static final ResourceLocation vault4_label_81_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_81.png"); diff --git a/com/hbm/render/tileentity/RenderVaultDoor.java b/com/hbm/render/tileentity/RenderVaultDoor.java index 44e4089de..174feedec 100644 --- a/com/hbm/render/tileentity/RenderVaultDoor.java +++ b/com/hbm/render/tileentity/RenderVaultDoor.java @@ -69,9 +69,10 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer { switch(tileEntity.type) { case 1: case 2: bindTexture(ResourceManager.vault_cog_tex); break; - case 3: bindTexture(ResourceManager.stable_cog_tex); break; - case 4: - case 5: bindTexture(ResourceManager.vault4_cog_tex); break; + case 3: + case 4: bindTexture(ResourceManager.stable_cog_tex); break; + case 5: + case 6: bindTexture(ResourceManager.vault4_cog_tex); break; default: bindTexture(ResourceManager.vault_cog_tex); break; } ResourceManager.vault_cog.renderAll(); @@ -80,8 +81,9 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer { case 1: bindTexture(ResourceManager.vault_label_87_tex); break; case 2: bindTexture(ResourceManager.vault_label_106_tex); break; case 3: bindTexture(ResourceManager.stable_label_tex); break; - case 4: bindTexture(ResourceManager.vault4_label_111_tex); break; - case 5: bindTexture(ResourceManager.vault4_label_81_tex); break; + case 4: bindTexture(ResourceManager.stable_label_99_tex); break; + case 5: bindTexture(ResourceManager.vault4_label_111_tex); break; + case 6: bindTexture(ResourceManager.vault4_label_81_tex); break; default: bindTexture(ResourceManager.vault_label_101_tex); break; } ResourceManager.vault_label.renderAll(); diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 69aa52d2d..32939b962 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -172,6 +172,8 @@ public class TileEntityMachineReactorLarge extends TileEntity coreHeat = nbt.getInteger("heat"); hullHeat = nbt.getInteger("hullHeat"); rods = nbt.getInteger("rods"); + fuel = nbt.getInteger("fuel"); + waste = nbt.getInteger("waste"); slots = new ItemStack[getSizeInventory()]; tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "coolant"); @@ -192,6 +194,8 @@ public class TileEntityMachineReactorLarge extends TileEntity nbt.setInteger("heat", coreHeat); nbt.setInteger("hullHeat", hullHeat); nbt.setInteger("rods", rods); + nbt.setInteger("fuel", fuel); + nbt.setInteger("waste", waste); NBTTagList list = new NBTTagList(); tanks[0].writeToNBT(nbt, "water"); tanks[1].writeToNBT(nbt, "coolant"); @@ -277,6 +281,63 @@ public class TileEntityMachineReactorLarge extends TileEntity worldObj.getBlock(xCoord, yCoord + offset, zCoord) == ModBlocks.reactor_conductor; } + private float checkHull() { + + float max = getSize() * 12; + float count = 0; + + for(int y = yCoord - depth; y <= yCoord + height; y++) { + + if(blocksRad(xCoord - 1, y, zCoord + 2)) + count++; + if(blocksRad(xCoord, y, zCoord + 2)) + count++; + if(blocksRad(xCoord + 1, y, zCoord + 2)) + count++; + + if(blocksRad(xCoord - 1, y, zCoord - 2)) + count++; + if(blocksRad(xCoord, y, zCoord - 2)) + count++; + if(blocksRad(xCoord + 1, y, zCoord - 2)) + count++; + + if(blocksRad(xCoord + 2, y, zCoord - 1)) + count++; + if(blocksRad(xCoord + 2, y, zCoord)) + count++; + if(blocksRad(xCoord + 2, y, zCoord + 1)) + count++; + + if(blocksRad(xCoord - 2, y, zCoord - 1)) + count++; + if(blocksRad(xCoord - 2, y, zCoord)) + count++; + if(blocksRad(xCoord - 2, y, zCoord + 1)) + count++; + } + + if(count == 0) + return 1; + + //System.out.println(count + "/" + max); + + return 1 - (count / max); + } + + private boolean blocksRad(int x, int y, int z) { + + Block b = worldObj.getBlock(x, y, z); + + if(b == ModBlocks.block_lead || b == ModBlocks.block_desh || b == ModBlocks.brick_concrete) + return true; + + if(b.getExplosionResistance(null) >= 100) + return true; + + return false; + } + int height; int depth; public int size; @@ -342,11 +403,12 @@ public class TileEntityMachineReactorLarge extends TileEntity fillFluidInit(tanks[2].getTankType()); caluclateSize(); - - tanks[0].changeTankSize(waterBase * getSize()); - tanks[1].changeTankSize(coolantBase * getSize()); - tanks[2].changeTankSize(steamBase * getSize()); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, size, 3)); } + + tanks[0].changeTankSize(waterBase * getSize()); + tanks[1].changeTankSize(coolantBase * getSize()); + tanks[2].changeTankSize(steamBase * getSize()); maxWaste = maxFuel = fuelBase * getSize(); @@ -367,6 +429,7 @@ public class TileEntityMachineReactorLarge extends TileEntity if(slots[4] != null && !getFuelType(slots[4].getItem()).toString().equals(ReactorFuelType.UNKNOWN.toString())) { this.type = getFuelType(slots[4].getItem()); + this.waste = 0; } } @@ -376,8 +439,6 @@ public class TileEntityMachineReactorLarge extends TileEntity int cont = getFuelContent(slots[4].getItem(), type) * fuelMult; - System.out.println(type.toString()); - if(fuel + cont <= maxFuel) { if(!slots[4].getItem().hasContainerItem()) { @@ -456,11 +517,15 @@ public class TileEntityMachineReactorLarge extends TileEntity this.explode(); } - if (rods > 0 && coreHeat > 0 /*rad block*/) { + if (rods > 0 && coreHeat > 0 && age == 5) { float rad = (float)coreHeat / (float)maxCoreHeat * 50F; RadiationSavedData data = RadiationSavedData.getData(worldObj); - data.incrementRad(worldObj, xCoord, zCoord, rad, rad * 4); + //System.out.println(rad); + rad *= checkHull(); + //System.out.println(rad); + + data.incrementRad(worldObj, xCoord, zCoord, rad, 50 * 4); } for (int i = 0; i < 3; i++) @@ -469,7 +534,6 @@ public class TileEntityMachineReactorLarge extends TileEntity 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)); - PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, size, 3)); PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, fuel, 4)); PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, waste, 5)); PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, type.getID(), 6)); @@ -515,32 +579,54 @@ public class TileEntityMachineReactorLarge extends TileEntity this.slots[i] = null; } + RadiationSavedData data = RadiationSavedData.getData(worldObj); + + int rad = (int)(((long)fuel) * 25000L / (fuelBase * 15L)); + + data.incrementRad(worldObj, xCoord, zCoord, rad, 75000); + worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 7.5F, true); ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); - worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.toxic_block); for(int i = yCoord - depth; i <= yCoord + height; i++) { - if(worldObj.rand.nextInt(4) == 0) { - worldObj.setBlock(this.xCoord + 1, i, this.zCoord + 1, ModBlocks.toxic_block); + if(worldObj.rand.nextInt(2) == 0) { + randomizeRadBlock(this.xCoord + 1, i, this.zCoord + 1); } - if(worldObj.rand.nextInt(4) == 0) { - worldObj.setBlock(this.xCoord + 1, i, this.zCoord - 1, ModBlocks.toxic_block); + if(worldObj.rand.nextInt(2) == 0) { + randomizeRadBlock(this.xCoord + 1, i, this.zCoord - 1); } - if(worldObj.rand.nextInt(4) == 0) { - worldObj.setBlock(this.xCoord - 1, i, this.zCoord - 1, ModBlocks.toxic_block); + if(worldObj.rand.nextInt(2) == 0) { + randomizeRadBlock(this.xCoord - 1, i, this.zCoord - 1); } - if(worldObj.rand.nextInt(4) == 0) { - worldObj.setBlock(this.xCoord - 1, i, this.zCoord + 1, ModBlocks.toxic_block); + if(worldObj.rand.nextInt(2) == 0) { + randomizeRadBlock(this.xCoord - 1, i, this.zCoord + 1); } - if(worldObj.rand.nextInt(10) == 0) { + if(worldObj.rand.nextInt(5) == 0) { worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 5.0F, true); } } - - RadiationSavedData data = RadiationSavedData.getData(worldObj); - data.incrementRad(worldObj, xCoord, zCoord, 1000F, 2000F); + + worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.sellafield_core); + } + + private void randomizeRadBlock(int x, int y, int z) { + + int rand = worldObj.rand.nextInt(20); + + if(rand < 7) + worldObj.setBlock(x, y, z, ModBlocks.toxic_block); + else if(rand < 10) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_0); + else if(rand < 14) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_1); + else if(rand < 17) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_2); + else if(rand < 19) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_3); + else + worldObj.setBlock(x, y, z, ModBlocks.sellafield_4); } @Override @@ -550,10 +636,22 @@ public class TileEntityMachineReactorLarge extends TileEntity @Override public void fillFluidInit(FluidType type) { - fillFluid(this.xCoord - 3, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord + 3, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord - 3, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord + 3, getTact(), type); + + if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_hatch) + fillFluid(this.xCoord - 3, this.yCoord, this.zCoord, getTact(), type); + + if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_hatch) + fillFluid(this.xCoord + 3, this.yCoord, this.zCoord, getTact(), type); + + if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_hatch) + fillFluid(this.xCoord, this.yCoord, this.zCoord - 3, getTact(), type); + + if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_hatch) + fillFluid(this.xCoord, this.yCoord, this.zCoord + 3, getTact(), type); + + fillFluid(this.xCoord, this.yCoord + height + 1, this.zCoord, getTact(), type); + + fillFluid(this.xCoord, this.yCoord - depth - 1, this.zCoord + 3, getTact(), type); } @Override diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index 1213ecca6..cbdf4fb50 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -21,7 +21,7 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { public long sysTime; private int timer = 0; public int type; - public static final int maxTypes = 6; + public static final int maxTypes = 7; @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/com/hbm/world/NuclearReactor.java b/com/hbm/world/NuclearReactor.java index 8e2843134..1f9443d51 100644 --- a/com/hbm/world/NuclearReactor.java +++ b/com/hbm/world/NuclearReactor.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -88,7 +89,7 @@ public class NuclearReactor extends WorldGenerator world.setBlock(x + 4, y + 0, z + 1, Block1, 0, 3); world.setBlock(x + 0, y + 0, z + 2, Block1, 0, 3); world.setBlock(x + 1, y + 0, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 2, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 2, y + 0, z + 2, ModBlocks.fluid_duct, 0, 3); world.setBlock(x + 3, y + 0, z + 2, Block1, 0, 3); world.setBlock(x + 4, y + 0, z + 2, Block1, 0, 3); world.setBlock(x + 0, y + 0, z + 3, Block1, 0, 3); @@ -188,7 +189,7 @@ public class NuclearReactor extends WorldGenerator world.setBlock(x + 4, y + 4, z + 1, Block1, 0, 3); world.setBlock(x + 0, y + 4, z + 2, Block1, 0, 3); world.setBlock(x + 1, y + 4, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 2, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 2, y + 4, z + 2, ModBlocks.fluid_duct, 0, 3); world.setBlock(x + 3, y + 4, z + 2, Block1, 0, 3); world.setBlock(x + 4, y + 4, z + 2, Block1, 0, 3); world.setBlock(x + 0, y + 4, z + 3, Block1, 0, 3);