diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index e6985fe08..78fe5d49c 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -174,7 +174,7 @@ container.nukePrototype=Der Prototyp container.nukeSolinium=Die Blauspülung container.nukeTsar=Tsar Bombe container.oilWell=Ölbohrturm -container.plasmaHeater=Plasmaheizer +container.plasmaHeater=Plasmaerhitzer container.press=Befeuerte Presse container.puf6_tank=PuF6 Tank container.pumpjack=Pferdekopfpumpe @@ -2106,7 +2106,7 @@ tile.fusion_center.name=Zentralmagnetstück tile.fusion_conductor.name=Supraleiter-Magnet tile.fusion_core.name=Fusionsreaktorsteuerung tile.fusion_hatch.name=Fusionsreaktorzugriffsluke -tile.fusion_heater.name=Plasmaerhitzer +tile.fusion_heater.name=Plasmaerhitzer-Komponente tile.fusion_motor.name=Magnetmotorstück tile.fwatz_computer.name=Watzwerkrechenmatrix tile.fwatz_conductor.name=4000K Supraleiter-Magnet @@ -2292,7 +2292,7 @@ tile.pink_planks.name=Pinke Holzbretter tile.pink_slab.name=Pinke Holzstufe tile.pink_stairs.name=Pinke Holztreppen tile.plasma.name=Plasma -tile.plasma_heater.name=Plasmaheizer +tile.plasma_heater.name=Plasmaerhitzer tile.pole_satellite_receiver.name=Satellitenschüssel tile.pole_top.name=Antennenspitze tile.radiobox.name=Rosenberg Ungeziefervernichter @@ -2351,6 +2351,7 @@ tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente tile.struct_launcher.name=Startrampe-Komponentenblock tile.struct_launcher_core.name=Kompaktrampe-Kernkomponente tile.struct_launcher_core_large.name=Startrampe-Kernkomponente +tile.struct_plasma_core.name=Plasmaerhitzer-Kernkomponente tile.struct_scaffold.name=Startrampe-Gerüstblock tile.struct_soyuz_core.name=Soyuz-Startrampe-Kernkomponente tile.taint.name=Korrupter Schmutz diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 29dc01b80..84ec675a1 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -2106,7 +2106,7 @@ tile.fusion_center.name=Central Magnet Piece tile.fusion_conductor.name=Superconducting Magnet tile.fusion_core.name=Fusion Reactor Control tile.fusion_hatch.name=Fusion Reactor Access Hatch -tile.fusion_heater.name=Plasma Heater +tile.fusion_heater.name=Plasma Heater Component tile.fusion_motor.name=Magnet Motor Piece tile.fwatz_computer.name=Fusionary Watz Reactor Calculation Matrix tile.fwatz_conductor.name=4000K Superconducting Magnet @@ -2351,6 +2351,7 @@ tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block tile.struct_launcher_core.name=Compact Launcher Core Component tile.struct_launcher_core_large.name=Launch Table Core Component +tile.struct_plasma_core.name=Plasma Heater Core Component tile.struct_scaffold.name=Launch Pad Scaffold Block tile.struct_soyuz_core.name=Soyuz Launcher Core Component tile.taint.name=Taint diff --git a/src/main/java/assets/hbm/textures/blocks/plasma_heater.png b/src/main/java/assets/hbm/textures/blocks/plasma_heater.png new file mode 100644 index 000000000..4be1bf764 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/plasma_heater.png differ diff --git a/src/main/java/assets/hbm/textures/models/iter/microwave.png b/src/main/java/assets/hbm/textures/models/iter/microwave.png index dedb4bf14..6352a909c 100644 Binary files a/src/main/java/assets/hbm/textures/models/iter/microwave.png and b/src/main/java/assets/hbm/textures/models/iter/microwave.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7663be96a..3eddd5d85 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1182,8 +1182,8 @@ public class ModBlocks { struct_launcher_core = new BlockStruct(Material.iron).setBlockName("struct_launcher_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core"); struct_launcher_core_large = new BlockStruct(Material.iron).setBlockName("struct_launcher_core_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core_large"); struct_soyuz_core = new BlockSoyuzStruct(Material.iron).setBlockName("struct_soyuz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_soyuz_core"); - struct_iter_core = new BlockITERStruct(Material.iron).setBlockName("struct_iter_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_iter_core"); - struct_plasma_core = new BlockPlasmaStruct(Material.iron).setBlockName("struct_plasma_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_plasma_core"); + struct_iter_core = new BlockITERStruct(Material.iron).setBlockName("struct_iter_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_iter_core"); + struct_plasma_core = new BlockPlasmaStruct(Material.iron).setBlockName("struct_plasma_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_plasma_core"); factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace"); diff --git a/src/main/java/com/hbm/blocks/machine/BlockPlasmaStruct.java b/src/main/java/com/hbm/blocks/machine/BlockPlasmaStruct.java index 7b86c8da1..dd796e51e 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPlasmaStruct.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPlasmaStruct.java @@ -2,15 +2,18 @@ package com.hbm.blocks.machine; import com.hbm.tileentity.machine.TileEntityPlasmaStruct; +import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockPlasmaStruct extends BlockMachineBase { +public class BlockPlasmaStruct extends BlockContainer { public BlockPlasmaStruct(Material mat) { - super(mat, 0); - this.rotatable = true; + super(mat); } @Override @@ -22,5 +25,28 @@ public class BlockPlasmaStruct extends BlockMachineBase { return false; } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 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/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java index a0f2c5b87..72a495122 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java @@ -5,7 +5,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; -import com.hbm.tileentity.machine.TileEntityITER; import com.hbm.tileentity.machine.TileEntityMachinePlasmaHeater; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -61,8 +60,9 @@ public class MachinePlasmaHeater extends BlockDummyable { @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, -3, 2, 1, 1, 1}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 2, z + dir.offsetZ * o, new int[] {0, 1, 10, -8, 0, 0}, this, dir); ForgeDirection side = dir.getRotation(ForgeDirection.UP); @@ -78,8 +78,10 @@ public class MachinePlasmaHeater extends BlockDummyable { float f = 0.0625F; - if(world.getBlockMetadata(x, y, z) == ForgeDirection.UP.ordinal() && world.getBlock(x, y + 1, z) != this) { + if(world.getBlockMetadata(x, y, z) == ForgeDirection.UP.ordinal() && world.getBlock(x, y + 1, z) != this) { return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + f * 8F, z + 1); + } else if(world.getBlockMetadata(x, y, z) == ForgeDirection.DOWN.ordinal() && world.getBlock(x, y - 1, z) != this) { + return AxisAlignedBB.getBoundingBox(x, y + f * 8F, z, x + 1, y + 1, z + 1); } else { return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); } @@ -91,7 +93,9 @@ public class MachinePlasmaHeater extends BlockDummyable { if(world.getBlockMetadata(x, y, z) == ForgeDirection.UP.ordinal() && world.getBlock(x, y + 1, z) != this) { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f * 8F, 1.0F); - } else { + } else if(world.getBlockMetadata(x, y, z) == ForgeDirection.DOWN.ordinal() && world.getBlock(x, y - 1, z) != this) { + this.setBlockBounds(0.0F, f * 8F, 0.0F, 1, 1.0F, 1.0F); + } else { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } } @@ -104,6 +108,9 @@ public class MachinePlasmaHeater extends BlockDummyable { if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, -3, 1, 1, 1, 1}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 2, z + dir.offsetZ * o, new int[] {0, 1, 10, -8, 0, 0}, x, y, z, dir)) + return false; + return true; } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 5e46b7b00..73edd22cb 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -145,14 +145,14 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.wire_magnetized_tungsten, 6), new AStack[] {new ComparableStack(ModItems.ingot_magnetized_tungsten, 1), },20); makeRecipe(new ComparableStack(ModItems.hazmat_cloth, 4), new AStack[] {new OreDictStack("dustLead", 4), new ComparableStack(Items.string, 8), },50); makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new ComparableStack(ModItems.ingot_asbestos, 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50); - makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new ComparableStack(ModItems.powder_coal, 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50); + makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack("dustCoal", 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50); makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.motor, 1), },200); - makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.powder_lapis, 2), new ComparableStack(ModItems.ingot_polymer, 2), },150); + makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack("dustLapis", 2), new ComparableStack(ModItems.ingot_polymer, 2), },150); makeRecipe(new ComparableStack(ModItems.magnet_dee, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 6), new OreDictStack("ingotSteel", 3), new ComparableStack(ModItems.coil_advanced_torus, 1), },100); makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.plate_advanced_alloy, 6), },150); makeRecipe(new ComparableStack(ModItems.cyclotron_tower, 1), new AStack[] {new ComparableStack(ModItems.magnet_circular, 6), new ComparableStack(ModItems.magnet_dee, 3), new OreDictStack("plateSteel", 12), new ComparableStack(ModItems.wire_advanced_alloy, 8), new ComparableStack(ModItems.plate_polymer, 24), },300); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack("ingotLead", 4), new OreDictStack("plateSteel", 4), new OreDictStack("plateDenseLead", 4), },100); - makeRecipe(new ComparableStack(ModItems.rtg_unit, 2), new AStack[] {new ComparableStack(ModItems.thermo_element, 6), new ComparableStack(ModItems.board_copper, 2), new OreDictStack("ingotLead", 4), new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.circuit_copper, 2), },100); + makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 3), new ComparableStack(ModItems.board_copper, 1), new OreDictStack("ingotLead", 2), new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.circuit_copper, 1), },100); makeRecipe(new ComparableStack(ModItems.thermo_unit_empty, 1), new AStack[] {new ComparableStack(ModItems.coil_copper_torus, 3), new OreDictStack("ingotSteel", 3), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.plate_polymer, 12), },100); makeRecipe(new ComparableStack(ModItems.levitation_unit, 1), new AStack[] {new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.coil_tungsten, 2), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.nugget_schrabidium, 2), },100); makeRecipe(new ComparableStack(ModItems.drill_titanium, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.ingot_dura_steel, 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new OreDictStack("plateTitanium", 6), },100); @@ -201,8 +201,8 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.chopper_wing, 1), new AStack[] {new ComparableStack(ModItems.plate_combine_steel, 6), new ComparableStack(ModItems.ingot_combine_steel, 3), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), },150); makeRecipe(new ComparableStack(ModItems.chopper_blades, 1), new AStack[] {new ComparableStack(ModItems.plate_combine_steel, 8), new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.ingot_combine_steel, 2), },200); makeRecipe(new ComparableStack(ModItems.circuit_aluminium, 1), new AStack[] {new ComparableStack(ModItems.circuit_raw, 1), },50); - makeRecipe(new ComparableStack(ModItems.circuit_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_aluminium, 1), new ComparableStack(ModItems.wire_copper, 6), new ComparableStack(ModItems.powder_quartz, 4), new OreDictStack("plateCopper", 1), },100); - makeRecipe(new ComparableStack(ModItems.circuit_red_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.powder_gold, 4), new ComparableStack(ModItems.plate_polymer, 1), },150); + makeRecipe(new ComparableStack(ModItems.circuit_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_aluminium, 1), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dustNetherQuartz", 4), new OreDictStack("plateCopper", 1), },100); + makeRecipe(new ComparableStack(ModItems.circuit_red_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack("dustGold", 4), new ComparableStack(ModItems.plate_polymer, 1), },150); makeRecipe(new ComparableStack(ModItems.pellet_rtg, 1), new AStack[] {new ComparableStack(ModItems.nugget_pu238, 5), new OreDictStack("plateIron", 2), },50); makeRecipe(new ComparableStack(ModItems.pellet_rtg_weak, 1), new AStack[] {new ComparableStack(ModItems.nugget_u238, 4), new ComparableStack(ModItems.nugget_pu238, 1), new OreDictStack("plateIron", 2), },50); makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new ComparableStack(ModItems.lithium, 4), },150); @@ -225,16 +225,16 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.upgrade_effect_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(ModItems.powder_dura_steel, 4), new ComparableStack(ModItems.powder_steel, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModItems.upgrade_effect_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_effect_1, 1), new ComparableStack(ModItems.powder_dura_steel, 2), new ComparableStack(ModItems.powder_steel, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); makeRecipe(new ComparableStack(ModItems.upgrade_effect_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_effect_2, 1), new ComparableStack(ModItems.powder_dura_steel, 2), new ComparableStack(ModItems.powder_steel, 6), new OreDictStack("ingotDesh", 4), },500); - makeRecipe(new ComparableStack(ModItems.upgrade_power_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(ModItems.powder_lapis, 4), new ComparableStack(Items.glowstone_dust, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); - makeRecipe(new ComparableStack(ModItems.upgrade_power_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_power_1, 1), new ComparableStack(ModItems.powder_lapis, 2), new ComparableStack(Items.glowstone_dust, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); - makeRecipe(new ComparableStack(ModItems.upgrade_power_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_power_2, 1), new ComparableStack(ModItems.powder_lapis, 2), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack("ingotDesh", 4), },500); - makeRecipe(new ComparableStack(ModItems.upgrade_fortune_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(ModItems.powder_diamond, 4), new ComparableStack(ModItems.powder_iron, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); - makeRecipe(new ComparableStack(ModItems.upgrade_fortune_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_1, 1), new ComparableStack(ModItems.powder_diamond, 2), new ComparableStack(ModItems.powder_iron, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); - makeRecipe(new ComparableStack(ModItems.upgrade_fortune_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_2, 1), new ComparableStack(ModItems.powder_diamond, 2), new ComparableStack(ModItems.powder_iron, 6), new OreDictStack("ingotDesh", 4), },500); + makeRecipe(new ComparableStack(ModItems.upgrade_power_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack("dustLapis", 4), new ComparableStack(Items.glowstone_dust, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); + makeRecipe(new ComparableStack(ModItems.upgrade_power_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_power_1, 1), new OreDictStack("dustLapis", 2), new ComparableStack(Items.glowstone_dust, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); + makeRecipe(new ComparableStack(ModItems.upgrade_power_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_power_2, 1), new OreDictStack("dustLapis", 2), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack("ingotDesh", 4), },500); + makeRecipe(new ComparableStack(ModItems.upgrade_fortune_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack("dustDiamond", 4), new ComparableStack(ModItems.powder_iron, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); + makeRecipe(new ComparableStack(ModItems.upgrade_fortune_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_1, 1), new OreDictStack("dustDiamond", 2), new ComparableStack(ModItems.powder_iron, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); + makeRecipe(new ComparableStack(ModItems.upgrade_fortune_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_2, 1), new OreDictStack("dustDiamond", 2), new ComparableStack(ModItems.powder_iron, 6), new OreDictStack("ingotDesh", 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(ModItems.powder_polymer, 4), new ComparableStack(ModItems.powder_tungsten, 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.powder_polymer, 2), new ComparableStack(ModItems.powder_tungsten, 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 2), },300); makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_2, 1), new ComparableStack(ModItems.powder_polymer, 2), new ComparableStack(ModItems.powder_tungsten, 6), new OreDictStack("ingotDesh", 4), },500); - makeRecipe(new ComparableStack(ModItems.upgrade_radius, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new ComparableStack(ModItems.powder_diamond, 4), },500); + makeRecipe(new ComparableStack(ModItems.upgrade_radius, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack("dustDiamond", 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_health, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new ComparableStack(ModItems.powder_titanium, 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_speed_3, 4), new ComparableStack(ModItems.upgrade_effect_3, 2), new OreDictStack("ingotDesh", 8), new ComparableStack(ModItems.powder_power, 16), new ComparableStack(ModItems.crystal_lithium, 4), new ComparableStack(ModItems.circuit_schrabidium, 4), },200); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_1, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 2), new ComparableStack(ModItems.upgrade_effect_3, 2), new ComparableStack(ModItems.ingot_saturnite, 12), new ComparableStack(ModItems.powder_nitan_mix, 16), new ComparableStack(ModItems.crystal_starmetal, 6), new ComparableStack(ModItems.circuit_schrabidium, 6), },300); @@ -244,10 +244,10 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.titanium_filter, 1), new AStack[] {new OreDictStack("plateLead", 3), new ComparableStack(ModItems.fuse, 1), new ComparableStack(ModItems.wire_tungsten, 4), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.ingot_u238, 2), },200); makeRecipe(new ComparableStack(ModItems.part_lithium, 1), new AStack[] {new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.powder_lithium, 2), },50); makeRecipe(new ComparableStack(ModItems.part_beryllium, 1), new AStack[] {new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.powder_beryllium, 2), },50); - makeRecipe(new ComparableStack(ModItems.part_carbon, 1), new AStack[] {new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.powder_coal, 2), },50); - makeRecipe(new ComparableStack(ModItems.part_copper, 1), new AStack[] {new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.powder_copper, 2), },50); + makeRecipe(new ComparableStack(ModItems.part_carbon, 1), new AStack[] {new OreDictStack("plateSteel", 2), new OreDictStack("dustCoal", 2), },50); + makeRecipe(new ComparableStack(ModItems.part_copper, 1), new AStack[] {new OreDictStack("plateSteel", 2), new OreDictStack("dustCopper", 2), },50); makeRecipe(new ComparableStack(ModItems.part_plutonium, 1), new AStack[] {new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.powder_plutonium, 2), },50); - makeRecipe(new ComparableStack(ModItems.thermo_element, 1), new AStack[] {new OreDictStack("plateSteel", 3), new OreDictStack("plateIron", 1), new OreDictStack("plateCopper", 2), new ComparableStack(ModItems.wire_red_copper, 2), new ComparableStack(ModItems.wire_aluminium, 2), new ComparableStack(ModItems.powder_quartz, 4), },150); + makeRecipe(new ComparableStack(ModItems.thermo_element, 1), new AStack[] {new OreDictStack("plateSteel", 3), new OreDictStack("plateIron", 1), new OreDictStack("plateCopper", 2), new ComparableStack(ModItems.wire_red_copper, 2), new ComparableStack(ModItems.wire_aluminium, 2), new OreDictStack("dustNetherQuartz", 4), },150); makeRecipe(new ComparableStack(ModItems.limiter, 1), new AStack[] {new OreDictStack("plateSteel", 3), new OreDictStack("plateIron", 1), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.wire_copper, 4), },150); makeRecipe(new ComparableStack(ModItems.plate_dalekanium, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), },50); makeRecipe(new ComparableStack(ModBlocks.block_meteor, 1), new AStack[] {new ComparableStack(ModItems.fragment_meteorite, 100), },500); @@ -268,8 +268,8 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_industrial_generator, 1), new AStack[] {new ComparableStack(ModItems.generator_front, 1), new ComparableStack(ModItems.generator_steel, 3), new ComparableStack(ModItems.rotor_steel, 3), new OreDictStack("ingotSteel", 6), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.wire_gold, 8), new ComparableStack(ModBlocks.red_wire_coated, 2), new ComparableStack(ModItems.pedestal_steel, 2), new ComparableStack(ModItems.circuit_copper, 4), },500); makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] {new ComparableStack(ModItems.cyclotron_tower, 1), new ComparableStack(ModItems.board_copper, 4), new OreDictStack("ingotSteel", 16), new ComparableStack(ModItems.ingot_polymer, 24), new OreDictStack("plateSteel", 6), new ComparableStack(ModBlocks.machine_battery, 4), new ComparableStack(ModItems.wire_red_copper, 20), new ComparableStack(ModItems.circuit_red_copper, 12), new ComparableStack(ModItems.circuit_gold, 3), },600); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 5), new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.ingot_polymer, 6), },200); - makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.sulfur, 12), new OreDictStack("dustLead", 12), new OreDictStack("ingotRedCopperAlloy", 2), new ComparableStack(ModItems.wire_red_copper, 4), },200); - makeRecipe(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new AStack[] {new ComparableStack(ModItems.ingot_polymer, 4), new ComparableStack(ModItems.powder_cobalt, 12), new ComparableStack(ModItems.powder_lithium, 12), new ComparableStack(ModItems.ingot_advanced_alloy, 2), new ComparableStack(ModItems.wire_red_copper, 4), },400); + makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("dustSulfur", 12), new OreDictStack("dustLead", 12), new OreDictStack("ingotRedCopperAlloy", 2), new ComparableStack(ModItems.wire_red_copper, 4), },200); + makeRecipe(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new AStack[] {new ComparableStack(ModItems.ingot_polymer, 4), new OreDictStack("dustCobalt", 12), new ComparableStack(ModItems.powder_lithium, 12), new ComparableStack(ModItems.ingot_advanced_alloy, 2), new ComparableStack(ModItems.wire_red_copper, 4), },400); makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_battery, 1), new AStack[] {new OreDictStack("ingotDesh", 4), new ComparableStack(ModItems.powder_neptunium, 12), new ComparableStack(ModItems.powder_schrabidium, 12), new ComparableStack(ModItems.ingot_schrabidium, 2), new ComparableStack(ModItems.wire_schrabidium, 4), },800); makeRecipe(new ComparableStack(ModBlocks.machine_dineutronium_battery, 1), new AStack[] {new ComparableStack(ModItems.ingot_dineutronium, 24), new ComparableStack(ModItems.powder_spark_mix, 12), new ComparableStack(ModItems.battery_spark_cell_1000, 1), new ComparableStack(ModItems.ingot_combine_steel, 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 8), },1600); makeRecipe(new ComparableStack(ModBlocks.machine_shredder, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 2), new ComparableStack(ModBlocks.steel_beam, 2), new ComparableStack(Blocks.iron_bars, 2), new ComparableStack(ModBlocks.red_wire_coated, 1), },200); @@ -304,15 +304,15 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.fusion_core, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_center, 3), new ComparableStack(ModItems.circuit_red_copper, 48), new ComparableStack(ModItems.circuit_gold, 12), },350); makeRecipe(new ComparableStack(ModBlocks.watz_element, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new ComparableStack(ModItems.plate_advanced_alloy, 4), new ComparableStack(ModItems.rod_empty, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.wire_advanced_alloy, 4), },200); makeRecipe(new ComparableStack(ModBlocks.watz_control, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new ComparableStack(ModItems.ingot_advanced_alloy, 4), new OreDictStack("ingotLead", 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.wire_advanced_alloy, 2), },250); - makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 1), new AStack[] {new OreDictStack("ingotTungsten", 2), new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.niter, 4), },300); + makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 1), new AStack[] {new OreDictStack("ingotTungsten", 2), new OreDictStack("ingotSteel", 2), new OreDictStack("dustSaltpeter", 4), },300); makeRecipe(new ComparableStack(ModBlocks.watz_end, 1), new AStack[] {new OreDictStack("ingotTungsten", 2), new OreDictStack("ingotLead", 2), new OreDictStack("ingotSteel", 3), },150); makeRecipe(new ComparableStack(ModBlocks.watz_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_brick, 1), new OreDictStack("plateTitanium", 6), },200); makeRecipe(new ComparableStack(ModBlocks.watz_conductor, 1), new AStack[] {new OreDictStack("ingotTungsten", 2), new OreDictStack("ingotLead", 2), new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.fuse, 4), },250); makeRecipe(new ComparableStack(ModBlocks.watz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(ModItems.circuit_schrabidium, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), },350); makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack("ingotTungsten", 6), new ComparableStack(ModItems.plate_combine_steel, 4), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new ComparableStack(ModItems.plate_combine_steel, 10), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250); - makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new ComparableStack(ModItems.powder_diamond, 6), new ComparableStack(ModItems.powder_magnetized_tungsten, 6), new OreDictStack("dustDesh", 4), },300); - makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.powder_diamond, 8), new ComparableStack(ModItems.powder_magnetized_tungsten, 12), new OreDictStack("dustDesh", 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), },450); + makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack("dustDiamond", 6), new ComparableStack(ModItems.powder_magnetized_tungsten, 6), new OreDictStack("dustDesh", 4), },300); + makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new OreDictStack("dustDiamond", 8), new ComparableStack(ModItems.powder_magnetized_tungsten, 12), new OreDictStack("dustDesh", 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), },450); makeRecipe(new ComparableStack(ModBlocks.nuke_gadget, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.fins_flat, 2), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier3, 1), new ComparableStack(ModItems.wire_gold, 6), new OreDictStack("dyeGray", 6), },300); makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 1), new ComparableStack(ModItems.wire_aluminium, 6), new OreDictStack("dyeBlue", 4), },300); makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 2), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dyeYellow", 6), },300); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 6a8f2704d..152bb6e07 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1597,6 +1597,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_rubber, 1), new Object[] { "RCR", "CDC", "RCR", 'R', ModItems.plate_polymer, 'C', "dustCoal", 'D', ModItems.ducttape })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_lead, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_rubber, 'P', "plateLead", 'D', ModItems.ducttape })); GameRegistry.addRecipe(new ItemStack(ModItems.cladding_desh, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_lead, 'P', ModItems.plate_desh, 'D', ModItems.ducttape }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', "plateSteel", 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', "plateCopper", 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer })); diff --git a/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java b/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java index fc7e9f663..f16e7205a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java @@ -18,6 +18,7 @@ public class RenderPlasmaHeater extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); switch(te.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; @@ -31,6 +32,8 @@ public class RenderPlasmaHeater extends TileEntitySpecialRenderer { bindTexture(ResourceManager.iter_microwave); ResourceManager.iter.renderPart("Microwave"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPlasmaMultiblock.java b/src/main/java/com/hbm/render/tileentity/RenderPlasmaMultiblock.java index 2c24e88ab..2e0ef8a76 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPlasmaMultiblock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPlasmaMultiblock.java @@ -39,17 +39,24 @@ public class RenderPlasmaMultiblock extends TileEntitySpecialRenderer { ResourceLocation heater = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_heater, 2); bindTexture(heater); - for(int iy = 1; iy < 5; iy ++) { + for(int iy = 1; iy < 6; iy ++) { for(int ix = 0; ix < 10; ix++) { - for(int iz = -2; iz < 3; iz++) { + for(int iz = -1; iz < 2; iz++) { + + if(iy == 5 && ix > 3) + break; SmallBlockPronter.renderSmolBlockAt(ix, iy, iz); } } } + for(int i = 10; i <= 11; i++) + for(int j = 2; j <= 3; j++) + SmallBlockPronter.renderSmolBlockAt(i, j, 0); + GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glDepthMask(true); diff --git a/src/main/java/com/hbm/render/util/SmallBlockPronter.java b/src/main/java/com/hbm/render/util/SmallBlockPronter.java index 21aac836f..7c19b3441 100644 --- a/src/main/java/com/hbm/render/util/SmallBlockPronter.java +++ b/src/main/java/com/hbm/render/util/SmallBlockPronter.java @@ -17,8 +17,7 @@ public class SmallBlockPronter { */ public static void renderSmolBlockAt(float x, float y, float z) { GL11.glPushMatrix(); - GL11.glTranslatef(x, y, z); - GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(x - 1, y - 1, z); Tessellator tesseract = Tessellator.instance; tesseract.startDrawingQuads(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 000f97e5d..7112c6310 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -95,16 +95,18 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, for(int i = 0; i < 20; i++) { - if(tanks[0].getFill() >= 10) { - tanks[0].setFill(tanks[0].getFill() - 10); - tanks[1].setFill(tanks[1].getFill() + 1); + if(plasma.getFill() > 0) { + + if(tanks[0].getFill() >= 10) { + tanks[0].setFill(tanks[0].getFill() - 10); + tanks[1].setFill(tanks[1].getFill() + 1); + + if(tanks[1].getFill() > tanks[1].getMaxFill()) + tanks[1].setFill(tanks[1].getMaxFill()); + } - if(tanks[1].getFill() > tanks[1].getMaxFill()) - tanks[1].setFill(tanks[1].getMaxFill()); - } - - if(plasma.getFill() > 0) plasma.setFill(plasma.getFill() - 1); + } } } @@ -114,7 +116,6 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, for(int i = 0; i < tanks.length; i++) tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); plasma.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - /// END Notif packets /// NBTTagCompound data = new NBTTagCompound(); data.setBoolean("isOn", isOn); @@ -133,6 +134,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, } this.networkPack(data, 250); + /// END Notif packets /// + } else { this.lastRotor = this.rotor; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java index 3190a4fdc..3bccb09a5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java @@ -1,12 +1,85 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.MachinePlasmaHeater; +import com.hbm.handler.MultiblockHandlerXR; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityPlasmaStruct extends TileEntity { + int age; + + @Override + public void updateEntity() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + + if(worldObj.isRemote) { + worldObj.spawnParticle("reddust", + xCoord + 0.5 + dir.offsetX * -11 + worldObj.rand.nextGaussian() * 0.1, + yCoord + 2.5 + worldObj.rand.nextGaussian() * 0.1, + zCoord + 0.5 + dir.offsetZ * -11 + worldObj.rand.nextGaussian() * 0.1, + 0.9, 0.3, 0.7); + return; + } + + age++; + + if(age < 20) + return; + + age = 0; + + MachinePlasmaHeater plas = (MachinePlasmaHeater)ModBlocks.plasma_heater; + + int[] rot = MultiblockHandlerXR.rotate(plas.getDimensions(), dir); + + for(int a = xCoord - rot[4]; a <= xCoord + rot[5]; a++) { + for(int b = yCoord - rot[1]; b <= yCoord + rot[0]; b++) { + for(int c = zCoord - rot[2]; c <= zCoord + rot[3]; c++) { + + if(a == xCoord && b == yCoord && c == zCoord) + continue; + + if(worldObj.getBlock(a, b, c) != ModBlocks.fusion_heater) + return; + } + } + } + + rot = MultiblockHandlerXR.rotate(new int[] {4, -3, 1, 1, 1, 1}, dir); + + for(int a = xCoord - rot[4]; a <= xCoord + rot[5]; a++) { + for(int b = yCoord - rot[1]; b <= yCoord + rot[0]; b++) { + for(int c = zCoord - rot[2]; c <= zCoord + rot[3]; c++) { + + if(a == xCoord && b == yCoord && c == zCoord) + continue; + + if(worldObj.getBlock(a, b, c) != ModBlocks.fusion_heater) + return; + } + } + } + + + for(int i = 9; i <= 10; i++) + for(int j = 1; j <= 2; j++) + if(worldObj.getBlock(xCoord - dir.offsetX * i, yCoord + j, zCoord - dir.offsetZ * i) != ModBlocks.fusion_heater) + return; + + BlockDummyable.safeRem = true; + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.plasma_heater, this.getBlockMetadata() + BlockDummyable.offset, 3); + plas.fillSpace(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir, -plas.getOffset()); + BlockDummyable.safeRem = false; + } + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB;