diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index d9ebc9495..af27107bf 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -48,6 +48,7 @@ achievement.tasteofblood.desc=ist nicht Teil des Testprotokolls. achievement.tasteofblood=Der Geschmack von Blut chem.ASPHALT=Asphaltherstellung +chem.BALEFIRE=BF-Raketentreibstoffherstellung chem.BP_BIOFUEL=Biodieselumesterung chem.BP_BIOGAS=Biogasherstellung chem.CC_HEATING=Fortgeschrittene Kohleverflüssigung diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 42cc63259..dbb78e968 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -14,7 +14,7 @@ achievement.fiend2=Delinquent 2: Delinquent Harder achievement.fiend=Delinquent achievement.freytag.desc=Herold's life guards achievement.freytag=Freytag -achievement.hidden.desc=Kill an enderman with a falling boxcar while being on fire and having more than 250 RADs. +achievement.hidden.desc=Kill a tainted creeper with a falling boxcar. achievement.hidden=Hidden Catalog achievement.horizonsBonus.desc=honest to god what the hell is wrong with you achievement.horizonsBonus=Slam Dunk Diarrhea @@ -48,6 +48,7 @@ achievement.tasteofblood.desc=is not part of any testing protocol. achievement.tasteofblood=The Taste of Blood chem.ASPHALT=Asphalt Production +chem.BALEFIRE=BF Rocket Fuel Mixing chem.BP_BIOFUEL=Biofuel Transesterification chem.BP_BIOGAS=Biogas Production chem.CC_HEATING=Advanced Coal Liquefaction diff --git a/src/main/java/assets/hbm/textures/blocks/machine_large_turbine.png b/src/main/java/assets/hbm/textures/blocks/machine_large_turbine.png new file mode 100644 index 000000000..afd5da604 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/machine_large_turbine.png differ diff --git a/src/main/java/assets/hbm/textures/entity/maskman.png b/src/main/java/assets/hbm/textures/entity/maskman.png index 4dd3b5281..f66ca0e43 100644 Binary files a/src/main/java/assets/hbm/textures/entity/maskman.png and b/src/main/java/assets/hbm/textures/entity/maskman.png differ diff --git a/src/main/java/assets/hbm/textures/items/chem_icon_BALEFIRE.png b/src/main/java/assets/hbm/textures/items/chem_icon_BALEFIRE.png new file mode 100644 index 000000000..a8fba2928 Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/chem_icon_BALEFIRE.png differ diff --git a/src/main/java/assets/hbm/textures/items/entanglement_kit.png b/src/main/java/assets/hbm/textures/items/entanglement_kit.png index f55ea8809..1f0658a6f 100644 Binary files a/src/main/java/assets/hbm/textures/items/entanglement_kit.png and b/src/main/java/assets/hbm/textures/items/entanglement_kit.png differ diff --git a/src/main/java/assets/hbm/textures/items/telepad.png b/src/main/java/assets/hbm/textures/items/telepad.png index e22fa3a4b..50c0bbbdb 100644 Binary files a/src/main/java/assets/hbm/textures/items/telepad.png and b/src/main/java/assets/hbm/textures/items/telepad.png differ diff --git a/src/main/java/com/hbm/blocks/machine/MachineITER.java b/src/main/java/com/hbm/blocks/machine/MachineITER.java index 5226d7503..f8fb1cd6a 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineITER.java +++ b/src/main/java/com/hbm/blocks/machine/MachineITER.java @@ -8,9 +8,12 @@ import com.hbm.tileentity.machine.TileEntityITER; import com.hbm.tileentity.machine.TileEntityITERStruct; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -227,5 +230,23 @@ public class MachineITER extends BlockDummyable { public int getOffset() { return 7; } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) { + + if(i >= 12) { + + for(int l = 0; l < 4; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 64))); + + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 36))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_center, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_motor, 4))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.reinforced_glass, 8))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_iter_core, 1))); + } + + super.breakBlock(world, x, y, z, block, i); + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java index 72a495122..aa52d6311 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java @@ -8,8 +8,11 @@ import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachinePlasmaHeater; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -123,5 +126,19 @@ public class MachinePlasmaHeater extends BlockDummyable { public int getOffset() { return 1; } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) { + + if(i >= 12) { + + for(int l = 0; l < 2; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_heater, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_heater, 7))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_plasma_core, 1))); + } + + super.breakBlock(world, x, y, z, block, i); + } } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 6d0d11f91..dcb8ac3a5 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -471,6 +471,16 @@ public class AssemblerRecipes { new ComparableStack(ModItems.circuit_red_copper, 24), new ComparableStack(ModItems.circuit_gold, 12) }, 600); + makeRecipe(new ComparableStack(ModBlocks.machine_large_turbine, 1), new AStack[] { + new ComparableStack(ModItems.hull_big_steel, 1), + new OreDictStack("plateSteel", 12), + new ComparableStack(ModItems.turbine_titanium, 3), + new ComparableStack(ModItems.rotor_steel, 2), + new ComparableStack(ModItems.generator_steel, 2), + new ComparableStack(ModItems.bolt_compound, 3), + new ComparableStack(ModItems.pipes_steel, 1), + new ComparableStack(ModItems.circuit_aluminium, 1), + }, 20); } private static void makeRecipe(ComparableStack out, AStack[] in, int duration) { diff --git a/src/main/java/com/hbm/inventory/FluidTank.java b/src/main/java/com/hbm/inventory/FluidTank.java index 41252b50c..f7eb6331d 100644 --- a/src/main/java/com/hbm/inventory/FluidTank.java +++ b/src/main/java/com/hbm/inventory/FluidTank.java @@ -11,7 +11,6 @@ import com.hbm.items.machine.ItemFluidIdentifier; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFluidPacket; -import com.hbm.tileentity.machine.TileEntityITER; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.client.gui.inventory.GuiContainer; diff --git a/src/main/java/com/hbm/inventory/FusionRecipes.java b/src/main/java/com/hbm/inventory/FusionRecipes.java index 5a6cd9332..ea5052cde 100644 --- a/src/main/java/com/hbm/inventory/FusionRecipes.java +++ b/src/main/java/com/hbm/inventory/FusionRecipes.java @@ -42,12 +42,12 @@ public class FusionRecipes { public static int getSteamProduction(FluidType plasma) { switch(plasma) { - case PLASMA_DT: return 120; - case PLASMA_HD: return 80; - case PLASMA_HT: return 100; - case PLASMA_XM: return 240; - case PLASMA_BF: return 640; - default: return 9; + case PLASMA_DT: return 30; + case PLASMA_HD: return 20; + case PLASMA_HT: return 25; + case PLASMA_XM: return 60; + case PLASMA_BF: return 160; + default: return 0; } } diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index eeb9b1571..0d6dd54f8 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -1694,6 +1694,9 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.powder_dura_steel, 1)); list.add(new ItemStack(ModItems.powder_fire, 1)); break; + case BALEFIRE: + list.add(new ItemStack(ModItems.egg_balefire_shard, 1)); + break; default: break; } @@ -1893,6 +1896,9 @@ public class MachineRecipes { input[0] = new FluidStack(100, FluidType.ACID); input[1] = new FluidStack(200, FluidType.MERCURY); break; + case BALEFIRE: + input[0] = new FluidStack(6000, FluidType.KEROSENE); + break; default: break; } @@ -2022,6 +2028,9 @@ public class MachineRecipes { case SATURN: output[0] = new ItemStack(ModItems.ingot_saturnite, 1); break; + case BALEFIRE: + output[0] = new ItemStack(ModItems.powder_balefire, 1); + break; default: break; } @@ -2142,6 +2151,9 @@ public class MachineRecipes { case XENON: output[0] = new FluidStack(50, FluidType.XENON); break; + case BALEFIRE: + output[0] = new FluidStack(8000, FluidType.BALEFIRE); + break; default: break; } diff --git a/src/main/java/com/hbm/inventory/MagicRecipes.java b/src/main/java/com/hbm/inventory/MagicRecipes.java index f027f3c39..5cf3afd70 100644 --- a/src/main/java/com/hbm/inventory/MagicRecipes.java +++ b/src/main/java/com/hbm/inventory/MagicRecipes.java @@ -59,6 +59,12 @@ public class MagicRecipes { new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.ingot_starmetal))); + + recipes.add(new MagicRecipe(new ItemStack(ModItems.gun_bf), + new ComparableStack(ModItems.gun_fatman), + new ComparableStack(ModItems.egg_balefire_shard), + new ComparableStack(ModItems.powder_magic), + new ComparableStack(ModItems.powder_magic))); } public static List getRecipes() { diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index a4e0b3e99..4d2a7a466 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -82,7 +82,8 @@ public class ItemChemistryTemplate extends Item { SOLID_FUEL, ELECTROLYSIS, XENON, - SATURN; + SATURN, + BALEFIRE; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) @@ -252,6 +253,8 @@ public class ItemChemistryTemplate extends Item { return 600; case SATURN: return 600; + case BALEFIRE: + return 100; default: return 100; } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 9a679128b..2ed5a1035 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (3605)"; + public static final String VERSION = "1.0.27 BETA (3612)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 152bb6e07..2cf7ab2e9 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -745,7 +745,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', "plateSteel", 'I', "ingotSteel", 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', "plateSteel", 'L', "plateLead", 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bf, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_paa, 'L', "plateDenseLead", 'W', ModItems.wire_advanced_alloy, 'F', ModItems.gun_mirv })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'M', ModItems.mechanism_rifle_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', "ingotSteel", 'S', ModItems.ingot_polymer, 'G', ModItems.mechanism_launcher_1 })); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 9f6531b16..d8a5e5ae3 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -18,7 +18,6 @@ import net.minecraftforge.common.ForgeChunkManager.LoadingCallback; import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; @@ -49,9 +48,6 @@ import com.hbm.entity.item.EntityMovingItem; import com.hbm.entity.logic.*; import com.hbm.entity.missile.*; import com.hbm.entity.mob.*; -import com.hbm.entity.mob.botprime.EntityBOTPrimeBody; -import com.hbm.entity.mob.botprime.EntityBOTPrimeHead; -import com.hbm.entity.mob.sodtekhnologiyah.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; import com.hbm.handler.*; diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index d913ef42c..173707e13 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -13,7 +13,9 @@ import com.hbm.config.GeneralConfig; import com.hbm.config.RadiationConfig; import com.hbm.config.WorldConfig; import com.hbm.entity.missile.EntityMissileBaseAdvanced; +import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityTaintedCreeper; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.projectile.EntityMeteor; import com.hbm.handler.ArmorUtil; @@ -40,7 +42,6 @@ import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.passive.EntityCow; @@ -52,12 +53,14 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntitySign; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.ServerChatEvent; @@ -104,14 +107,11 @@ public class ModEventHandler event.entity.dropItem(ModItems.book_of_, 1); } - if(event.entity instanceof EntityEnderman && event.source == ModDamageSource.boxcar) { + if(event.entity instanceof EntityTaintedCreeper && event.source == ModDamageSource.boxcar) { for(Object o : event.entity.worldObj.playerEntities) { EntityPlayer player = (EntityPlayer)o; - - if(player.getEntityData().getFloat("hfr_radiation") > 250 && player.isBurning()) { - player.triggerAchievement(MainRegistry.bobHidden); - } + player.triggerAchievement(MainRegistry.bobHidden); } } } @@ -500,6 +500,55 @@ public class ModEventHandler } } } + + //TODO: rewrite this so it doesn't look like shit + if(player.worldObj.isRemote && event.phase == event.phase.START && !player.isInvisible() && !player.isSneaking()) { + + if(player.getUniqueID().toString().equals(Library.HbMinecraft)) { + + int i = player.ticksExisted * 3; + + Vec3 vec = Vec3.createVectorHelper(3, 0, 0); + vec.rotateAroundY((float) (i * Math.PI / 180D)); + + NBTTagCompound p1 = new NBTTagCompound(); + p1.setString("type", "vanillaExt"); + p1.setString("mode", "reddust"); + p1.setDouble("posX", player.posX + vec.xCoord); + p1.setDouble("posY", player.posY + 1.5); + p1.setDouble("posZ", player.posZ + vec.zCoord); + p1.setDouble("mX", 51F/256F); + p1.setDouble("mY", 64F/256F); + p1.setDouble("mZ", 119F/256F); + MainRegistry.proxy.effectNT(p1); + + vec.rotateAroundY((float) (Math.PI * 2D / 3D)); + + NBTTagCompound p2 = new NBTTagCompound(); + p2.setString("type", "vanillaExt"); + p2.setString("mode", "reddust"); + p2.setDouble("posX", player.posX + vec.xCoord); + p2.setDouble("posY", player.posY + 1.5); + p2.setDouble("posZ", player.posZ + vec.zCoord); + p2.setDouble("mX", 106F/256F); + p2.setDouble("mY", 41F/256F); + p2.setDouble("mZ", 143F/256F); + MainRegistry.proxy.effectNT(p2); + + vec.rotateAroundY((float) (Math.PI * 2D / 3D)); + + NBTTagCompound p3 = new NBTTagCompound(); + p3.setString("type", "vanillaExt"); + p3.setString("mode", "reddust"); + p3.setDouble("posX", player.posX + vec.xCoord); + p3.setDouble("posY", player.posY + 1.5); + p3.setDouble("posZ", player.posZ + vec.zCoord); + p3.setDouble("mX", 223F/256F); + p3.setDouble("mY", 55F/256F); + p3.setDouble("mZ", 149F/256F); + MainRegistry.proxy.effectNT(p3); + } + } } @SubscribeEvent @@ -509,6 +558,11 @@ public class ModEventHandler { ((EntityMissileBaseAdvanced)evt.entity).loadNeighboringChunks(evt.newChunkX, evt.newChunkZ); } + + if(evt.entity instanceof EntityMissileCustom) + { + ((EntityMissileCustom)evt.entity).loadNeighboringChunks(evt.newChunkX, evt.newChunkZ); + } } /*@SubscribeEvent diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 0d0efa0bf..508c9c04f 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -36,8 +36,6 @@ import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 901884b7e..11513ed83 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -27,8 +27,8 @@ import net.minecraft.util.Vec3; public class TileEntityITER extends TileEntityMachineBase implements IConsumer, IFluidAcceptor, IFluidSource { public long power; - public static final long maxPower = 100000000; - public static final int powerReq = 1000000; + public static final long maxPower = 10000000; + public static final int powerReq = 100000; public int age = 0; public List list = new ArrayList(); public FluidTank[] tanks; @@ -47,7 +47,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, public TileEntityITER() { super(5); tanks = new FluidTank[2]; - tanks[0] = new FluidTank(FluidType.WATER, 128000, 0); + tanks[0] = new FluidTank(FluidType.WATER, 1280000, 0); tanks[1] = new FluidTank(FluidType.ULTRAHOTSTEAM, 128000, 1); plasma = new FluidTank(FluidType.PLASMA_DT, 16000, 2); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 267f34069..90350c0ce 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -33,6 +33,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public List list2 = new ArrayList(); public FluidTank[] tanks; + private boolean shouldTurn; public float rotor; public float lastRotor; @@ -67,6 +68,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme tanks[0].loadTank(2, 3, slots); power = Library.chargeItemsFromTE(slots, 4, power, maxPower); + boolean operational = false; + Object[] outs = MachineRecipes.getTurbineOutput(tanks[0].getTankType()); if(outs == null) { @@ -79,6 +82,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme //TODO: handle this dynamically instead of a 16k iteration for loop for(int i = 0; i < processMax; i++) { if(tanks[0].getFill() >= (Integer)outs[2] && tanks[1].getFill() + (Integer)outs[1] <= tanks[1].getMaxFill()) { + + operational = true; + tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2]); tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1]); @@ -99,12 +105,13 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); + data.setBoolean("operational", operational); this.networkPack(data, 50); } else { this.lastRotor = this.rotor; - if(tanks[0].getFill() > 0) { + if(shouldTurn) { this.rotor += 15F; @@ -118,6 +125,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public void networkUnpack(NBTTagCompound data) { this.power = data.getLong("power"); + this.shouldTurn = data.getBoolean("operational"); } public long getPowerScaled(int i) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java index 3bccb09a5..49b87715a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityPlasmaStruct.java @@ -53,7 +53,7 @@ public class TileEntityPlasmaStruct extends TileEntity { } } - rot = MultiblockHandlerXR.rotate(new int[] {4, -3, 1, 1, 1, 1}, dir); + rot = MultiblockHandlerXR.rotate(new int[] {4, -3, 2, 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++) {