diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 588495fad..7b7c3b9d3 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2176,8 +2176,8 @@ public class ModBlocks { dummy_port_drill = new DummyBlockDrill(Material.iron, true).setBlockName("dummy_port_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); dummy_block_assembler = new DummyBlockAssembler(Material.iron, false).setBlockName("dummy_block_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_assembler = new DummyBlockAssembler(Material.iron, true).setBlockName("dummy_port_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_block_chemplant = new DummyBlockChemplant(Material.iron, false).setBlockName("dummy_block_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_chemplant = new DummyBlockChemplant(Material.iron, true).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_block_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_fluidtank = new DummyBlockFluidTank(Material.iron, false).setBlockName("dummy_block_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_fluidtank = new DummyBlockFluidTank(Material.iron, true).setBlockName("dummy_port_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_refinery = new DummyBlockRefinery(Material.iron, false).setBlockName("dummy_block_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_titanium"); diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java b/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java index ee7406b29..f00824817 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockChemplant.java @@ -1,60 +1,11 @@ package com.hbm.blocks.machine; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IDummy; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachineChemplant; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -public class DummyBlockChemplant extends DummyOldBase { +public class DummyBlockChemplant extends Block { - public DummyBlockChemplant(Material p_i45386_1_, boolean port) { - super(p_i45386_1_, port); + public DummyBlockChemplant(Material p_i45394_1_) { + super(p_i45394_1_); } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World world, int x, int y, int z) - { - return Item.getItemFromBlock(ModBlocks.machine_chemplant); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - TileEntityMachineChemplant entity = (TileEntityMachineChemplant) world.getTileEntity(a, b, c); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_chemplant, world, a, b, c); - } - } - return true; - } else { - return false; - } - } - } diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 8ae71460c..aedfbdfd2 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -4,11 +4,14 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.gui.GUIScreenBobmazon.Offer; import com.hbm.inventory.gui.GUIScreenBobmazon.Requirement; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.items.special.ItemKitCustom; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class BobmazonOfferFactory { @@ -158,12 +161,14 @@ public class BobmazonOfferFactory { tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100 * inflation)); tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160 * inflation)); + special.add(new Offer(new ItemStack(Items.iron_ingot, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_cobalt, 64), Requirement.STEEL, 1)); + special.add(new Offer(new ItemStack(ModItems.ingot_desh, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_tantalium, 64), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.ingot_bismuth, 16), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.ingot_schrabidium, 16), Requirement.STEEL, 5)); @@ -176,6 +181,7 @@ public class BobmazonOfferFactory { special.add(new Offer(new ItemStack(ModItems.ammo_container, 16), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.nuke_commercially_kit), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.prototype_kit), Requirement.STEEL, 10)); special.add(new Offer(new ItemStack(ModItems.missile_kit), Requirement.STEEL, 5)); @@ -200,11 +206,38 @@ public class BobmazonOfferFactory { special.add(new Offer(new ItemStack(ModItems.sat_laser, 1), Requirement.HIDDEN, 8)); special.add(new Offer(new ItemStack(ModItems.sat_gerald, 1), Requirement.HIDDEN, 32)); special.add(new Offer(new ItemStack(ModItems.billet_yharonite, 4), Requirement.HIDDEN, 16)); + special.add(new Offer(new ItemStack(ModItems.ingot_chainsteel, 1), Requirement.HIDDEN, 16)); special.add(new Offer(new ItemStack(ModItems.ingot_electronium, 1), Requirement.HIDDEN, 16)); special.add(new Offer(new ItemStack(ModItems.book_of_, 1), Requirement.HIDDEN, 16)); + special.add(new Offer(new ItemStack(ModItems.mese_pickaxe, 1), Requirement.HIDDEN, 16)); special.add(new Offer(new ItemStack(ModItems.mysteryshovel, 1), Requirement.HIDDEN, 16)); special.add(new Offer(new ItemStack(ModBlocks.ntm_dirt, 1), Requirement.HIDDEN, 16)); special.add(new Offer(new ItemStack(ModItems.euphemium_kit, 1), Requirement.HIDDEN, 64)); + + special.add(new Offer(ItemKitCustom.create("Fusion Man", "For the nuclear physicist on the go", 0xff00ff, 0x800080, + new ItemStack(ModBlocks.iter), + new ItemStack(ModBlocks.plasma_heater), + new ItemStack(ModItems.fusion_shield_vaporwave), + ItemBattery.getFullBattery(ModItems.battery_spark), + new ItemStack(ModBlocks.machine_chemplant, 10), + new ItemStack(ModBlocks.machine_fluidtank, 8), + new ItemStack(ModBlocks.red_wire_coated, 64), + new ItemStack(ModBlocks.red_cable, 64), + new ItemStack(ModItems.fluid_barrel_full, 64, Fluids.DEUTERIUM.getID()), + new ItemStack(ModItems.fluid_barrel_full, 64, Fluids.TRITIUM.getID()), + new ItemStack(ModItems.fluid_barrel_full, 64, Fluids.XENON.getID()), + new ItemStack(ModItems.fluid_barrel_full, 64, Fluids.MERCURY.getID()), + new ItemStack(ModBlocks.red_pylon_large, 8), + new ItemStack(ModBlocks.substation, 4), + new ItemStack(ModBlocks.red_pylon, 16), + new ItemStack(ModBlocks.red_connector, 64), + new ItemStack(ModItems.wiring_red_copper, 1), + new ItemStack(ModBlocks.machine_chungus, 1), + new ItemStack(ModBlocks.machine_large_turbine, 3), + new ItemStack(ModItems.template_folder, 1), + new ItemStack(Items.paper, 64), + new ItemStack(Items.dye, 64) + ), Requirement.HIDDEN, 64)); } public static List getOffers(ItemStack stack) { diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index 18710eee4..e88ed6eb9 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -75,6 +75,9 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_empty), Fluids.HYDROGEN, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_amat), new ItemStack(ModItems.particle_empty), Fluids.AMAT, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_empty), Fluids.ASCHRAB, 1000)); + + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.iv_xp), new ItemStack(ModItems.iv_xp_empty), Fluids.XPJUICE, 100)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.experience_bottle), new ItemStack(Items.glass_bottle), Fluids.XPJUICE, 100)); FluidType[] fluids = Fluids.getAll(); for(int i = 1; i < fluids.length; i++) { diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index e60258b26..aa2fee227 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -80,6 +80,8 @@ public class Fluids { public static FluidType ETHANOL; public static FluidType HEAVYWATER; public static FluidType SALIENT; + public static FluidType XPJUICE; + public static FluidType ENDERJUICE; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -170,6 +172,8 @@ public class Fluids { AROMATICS = new FluidTypeFlammable( "AROMATICS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE); UNSATURATEDS = new FluidTypeFlammable( "UNSATURATEDS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE); SALIENT = new FluidType(69, "SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE); + XPJUICE = new FluidType( "XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE); + ENDERJUICE = new FluidType( "ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE); // ^ ^ ^ ^ ^ ^ ^ ^ @@ -251,6 +255,9 @@ public class Fluids { //nuclear waste metaOrder.add(WASTEFLUID); metaOrder.add(WASTEGAS); + //garbage + metaOrder.add(XPJUICE); + metaOrder.add(ENDERJUICE); //plasma metaOrder.add(PLASMA_DT); metaOrder.add(PLASMA_HD); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index c1a97ad3b..a88cb0c43 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -297,6 +297,10 @@ public class ChemplantRecipes { .outputFluids( new FluidStack(Fluids.DEUTERIUM, 400), new FluidStack(Fluids.OXYGEN, 400))); + recipes.add(new ChemRecipe(80, "EPEARL", 100) + .inputItems(new OreDictStack(DIAMOND.dust(), 1)) + .inputFluids(new FluidStack(Fluids.XPJUICE, 500)) + .outputFluids(new FluidStack(Fluids.ENDERJUICE, 100))); } diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index 3a06bf329..36a3fe87b 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -38,6 +38,7 @@ public class LiquefactionRecipes { recipes.put(new ComparableStack(Blocks.snow), new FluidStack(500, Fluids.WATER)); recipes.put(new ComparableStack(Blocks.ice), new FluidStack(1000, Fluids.WATER)); recipes.put(new ComparableStack(Blocks.packed_ice), new FluidStack(1000, Fluids.WATER)); + recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE)); recipes.put(new ComparableStack(Items.sugar), new FluidStack(150, Fluids.ETHANOL)); recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(250, Fluids.BIOGAS)); diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index 8755159b8..8f4616ed3 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -14,6 +14,7 @@ import com.hbm.util.Tuple.Pair; import net.minecraft.block.Block; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -54,6 +55,7 @@ public class SolidificationRecipes { registerRecipe(MERCURY, 125, ModItems.ingot_mercury); registerRecipe(BIOGAS, 250, ModItems.biomass_compressed); registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size) + registerRecipe(ENDERJUICE, 100, Items.ender_pearl); registerRecipe(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(CRACKOIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 25487dab4..3253f30a6 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4730,7 +4730,7 @@ public class ModItems { fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon"); fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); - fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); + fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); diff --git a/src/main/java/com/hbm/items/special/ItemStarterKit.java b/src/main/java/com/hbm/items/special/ItemStarterKit.java index 5bda69b31..4d00179e1 100644 --- a/src/main/java/com/hbm/items/special/ItemStarterKit.java +++ b/src/main/java/com/hbm/items/special/ItemStarterKit.java @@ -65,39 +65,6 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_starter_kit) { - /*player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_difurnace_off, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_centrifuge, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_uf6_tank, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.template_folder, 1)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 6)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_red_copper, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_tungsten, 4)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_steel, 12)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_lead, 8)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_iron, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_lead, 16)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_red_copper, 28)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_tungsten, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.tank_steel, 4)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_uf6, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 16));*/ player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 32)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_yellowcake, 32)); @@ -128,46 +95,6 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_advanced_kit) { - /*player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 4)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 3)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u235, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u238, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_plutonium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu238, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu239, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu240, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_neptunium, 16)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_red_copper, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_tungsten, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper_torus, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.tank_steel, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.motor, 8)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_iron, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.neutron_reflector, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_lead, 16)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 64)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 64)); - - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1));*/ player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_yellowcake, 64)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_plutonium, 64)); @@ -212,68 +139,33 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_commercially_kit) { - /*player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_generator), 4)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 4)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 64)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_pu238, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_pu238, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1));*/ - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu238, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium_fuel, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_plutonium_fuel, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_mox_fuel, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rtg_unit, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.motor, 3)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.reactor_core, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 64)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.fluid_barrel_full, 16, Fluids.WATER.getID())); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.fluid_barrel_full, 8, Fluids.COOLANT.getID())); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 3)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_gascent, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_nuke_furnace_off, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_rtg_furnace_off, 3)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_rtg_grey, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.reactor_research, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_turbine, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_lithium_battery, 4)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_cable, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_wire_coated, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg_weak, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg_weak, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg_weak, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.radaway_strong, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.radaway_flush, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.radx, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pill_iodine, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor_breeding, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_fluidtank, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.billet_pu238be, 40)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u233, 40)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium_fuel, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_plutonium_fuel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_mox_fuel, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.inf_water_mk2, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.inf_water_mk2, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.inf_water_mk2, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fluid_tank_lead_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fluid_barrel_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.barrel_steel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_iron, 64)); + player.inventory.addItemStackToInventory(new ItemStack(Items.dye, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.template_folder, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.radaway_flush, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.iv_blood, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pill_iodine, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gas_mask_filter_combo, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gas_mask_filter_combo, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gas_mask_filter_combo, 1)); giveHaz(world, player, 2); } diff --git a/src/main/java/com/hbm/packet/LoopedSoundPacket.java b/src/main/java/com/hbm/packet/LoopedSoundPacket.java index c7598f70a..4def5fb03 100644 --- a/src/main/java/com/hbm/packet/LoopedSoundPacket.java +++ b/src/main/java/com/hbm/packet/LoopedSoundPacket.java @@ -4,13 +4,11 @@ import com.hbm.interfaces.Spaghetti; import com.hbm.sound.SoundLoopAssembler; import com.hbm.sound.SoundLoopBroadcaster; import com.hbm.sound.SoundLoopCentrifuge; -import com.hbm.sound.SoundLoopChemplant; import com.hbm.sound.SoundLoopMiner; import com.hbm.sound.SoundLoopTurbofan; import com.hbm.tileentity.machine.TileEntityBroadcaster; import com.hbm.tileentity.machine.TileEntityMachineAssembler; import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; -import com.hbm.tileentity.machine.TileEntityMachineChemplant; import com.hbm.tileentity.machine.TileEntityMachineGasCent; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; @@ -78,18 +76,6 @@ public class LoopedSoundPacket implements IMessage { Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopMiner(new ResourceLocation("hbm:block.minerOperate"), te)); } - if (te != null && te instanceof TileEntityMachineChemplant) { - - boolean flag = true; - for(int i = 0; i < SoundLoopChemplant.list.size(); i++) { - if(SoundLoopChemplant.list.get(i).getTE() == te && !SoundLoopChemplant.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineChemplant)te).isProgressing) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopChemplant(new ResourceLocation("hbm:block.chemplantOperate"), te)); - } - if (te != null && te instanceof TileEntityMachineAssembler) { boolean flag = true; diff --git a/src/main/java/com/hbm/packet/PacketDispatcher.java b/src/main/java/com/hbm/packet/PacketDispatcher.java index 21b2acac7..a3023730b 100644 --- a/src/main/java/com/hbm/packet/PacketDispatcher.java +++ b/src/main/java/com/hbm/packet/PacketDispatcher.java @@ -33,8 +33,6 @@ public class PacketDispatcher { wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT); //Sound packet that keeps client and server separated wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT); - //Chemplant piston rotation for rendering - wrapper.registerMessage(TEChemplantPacket.Handler.class, TEChemplantPacket.class, i++, Side.CLIENT); //Turret rotation for rendering wrapper.registerMessage(TETurretPacket.Handler.class, TETurretPacket.class, i++, Side.CLIENT); //Signals server to consume items and create template diff --git a/src/main/java/com/hbm/packet/TEChemplantPacket.java b/src/main/java/com/hbm/packet/TEChemplantPacket.java deleted file mode 100644 index 155cb45a6..000000000 --- a/src/main/java/com/hbm/packet/TEChemplantPacket.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hbm.packet; - -import com.hbm.tileentity.machine.TileEntityMachineChemplant; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class TEChemplantPacket implements IMessage { - - int x; - int y; - int z; - boolean isProgressing; - - public TEChemplantPacket() - { - - } - - public TEChemplantPacket(int x, int y, int z, boolean isProgressing) - { - this.x = x; - this.y = y; - this.z = z; - this.isProgressing = isProgressing; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - isProgressing = buf.readBoolean(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeBoolean(isProgressing); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(TEChemplantPacket m, MessageContext ctx) { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te != null && te instanceof TileEntityMachineChemplant) { - - TileEntityMachineChemplant gen = (TileEntityMachineChemplant) te; - gen.isProgressing = m.isProgressing; - } - return null; - } - } -} diff --git a/src/main/java/com/hbm/sound/SoundLoopChemplant.java b/src/main/java/com/hbm/sound/SoundLoopChemplant.java deleted file mode 100644 index 813b7170b..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopChemplant.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityMachineChemplant; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopChemplant extends SoundLoopMachine { - - public static List list = new ArrayList(); - - public SoundLoopChemplant(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - } - - @Override - public void update() { - super.update(); - - if(te instanceof TileEntityMachineChemplant) { - TileEntityMachineChemplant plant = (TileEntityMachineChemplant)te; - - if(this.volume != 3) - volume = 3; - - if(!plant.isProgressing) - this.donePlaying = true; - } - } - - public TileEntity getTE() { - return te; - } - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java deleted file mode 100644 index 9ac07f796..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ /dev/null @@ -1,1020 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IFluidSource; -import com.hbm.interfaces.Spaghetti; -import com.hbm.inventory.FluidStack; -import com.hbm.inventory.FluidTank; -import com.hbm.inventory.UpgradeManager; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.recipes.MachineRecipes; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemChemistryTemplate; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxParticlePacket; -import com.hbm.packet.LoopedSoundPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEChemplantPacket; -import com.hbm.tileentity.machine.storage.TileEntityCrateIron; -import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; -import com.hbm.util.ItemStackUtil; - -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityHopper; -import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.oredict.OreDictionary; - -@Deprecated //shut up and die please -public class TileEntityMachineChemplant extends TileEntity implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidSource { - - private ItemStack slots[]; - - public long power; - public static final long maxPower = 100000; - public int progress; - public int maxProgress = 100; - public boolean isProgressing; - int age = 0; - int consumption = 100; - int speed = 100; - public FluidTank[] tanks; - public List list1 = new ArrayList(); - public List list2 = new ArrayList(); - - Random rand = new Random(); - - private String customName; - - public TileEntityMachineChemplant() { - slots = new ItemStack[21]; - tanks = new FluidTank[4]; - tanks[0] = new FluidTank(Fluids.NONE, 24000, 0); - tanks[1] = new FluidTank(Fluids.NONE, 24000, 1); - tanks[2] = new FluidTank(Fluids.NONE, 24000, 2); - tanks[3] = new FluidTank(Fluids.NONE, 24000, 3); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.chemplant"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; - } - } - - //You scrubs aren't needed for anything (right now) - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - if(i == 0) - if(itemStack.getItem() instanceof IBatteryItem) - return true; - - if(i == 1) - return true; - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - this.power = nbt.getLong("powerTime"); - slots = new ItemStack[getSizeInventory()]; - - tanks[0].readFromNBT(nbt, "input1"); - tanks[1].readFromNBT(nbt, "input2"); - tanks[2].readFromNBT(nbt, "output1"); - tanks[3].readFromNBT(nbt, "output2"); - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("powerTime", power); - NBTTagList list = new NBTTagList(); - - tanks[0].writeToNBT(nbt, "input1"); - tanks[1].writeToNBT(nbt, "input2"); - tanks[2].writeToNBT(nbt, "output1"); - tanks[3].writeToNBT(nbt, "output2"); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return new int[] { 0 }; - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getProgressScaled(int i) { - return (progress * i) / maxProgress; - } - - @Override - public void updateEntity() { - - if(!worldObj.isRemote) { - - this.updateConnections(); - - this.consumption = 100; - this.speed = 100; - - UpgradeManager.eval(slots, 1, 3); - - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - - speed -= speedLevel * 25; - consumption += speedLevel * 300; - speed += powerLevel * 5; - consumption -= powerLevel * 30; - speed /= (overLevel + 1); - consumption *= (overLevel + 1); - - isProgressing = false; - - age++; - if(age >= 20) - { - age = 0; - } - - if(age == 9 || age == 19) { - fillFluidInit(tanks[2].getTankType()); - fillFluidInit(tanks[3].getTankType()); - } - - setContainers(); - - power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - tanks[0].loadTank(17, 19, slots); - tanks[1].loadTank(18, 20, slots); - - if(slots[17] != null && !(slots[17].getItem() == ModItems.fluid_barrel_infinite || slots[17].getItem() == ModItems.inf_water || slots[17].getItem() == ModItems.inf_water_mk2)) - tanks[0].unloadTank(17, 19, slots); - if(slots[18] != null && !(slots[18].getItem() == ModItems.fluid_barrel_infinite || slots[18].getItem() == ModItems.inf_water || slots[18].getItem() == ModItems.inf_water_mk2)) - tanks[1].unloadTank(18, 20, slots); - - tanks[2].unloadTank(9, 11, slots); - tanks[3].unloadTank(10, 12, slots); - - for(int i = 0; i < 4; i++) { - tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - } - - /*FluidStack[] inputs = MachineRecipes.getFluidInputFromTempate(slots[4]); - FluidStack[] outputs = MachineRecipes.getFluidOutputFromTempate(slots[4]); - - if((MachineRecipes.getChemInputFromTempate(slots[4]) != null || !Library.isArrayEmpty(inputs)) && - (MachineRecipes.getChemOutputFromTempate(slots[4]) != null || !Library.isArrayEmpty(outputs))) { - this.maxProgress = (ItemChemistryTemplate.getProcessTime(slots[4]) * speed) / 100; - - if(power >= consumption && removeItems(MachineRecipes.getChemInputFromTempate(slots[4]), cloneItemStackProper(slots)) && hasFluidsStored(inputs)) { - - if(hasSpaceForItems(MachineRecipes.getChemOutputFromTempate(slots[4])) && hasSpaceForFluids(outputs)) { - progress++; - isProgressing = true; - - if(progress >= maxProgress) { - progress = 0; - - addItems(MachineRecipes.getChemOutputFromTempate(slots[4])); - addFluids(outputs); - - removeItems(MachineRecipes.getChemInputFromTempate(slots[4]), slots); - removeFluids(inputs); - - if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) - slots[0] = new ItemStack(ModItems.meteorite_sword_treated); - } - - power -= consumption; - } - } else - progress = 0; - } else - progress = 0; - - int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - TileEntity te1 = null; - TileEntity te2 = null; - - - if(meta == 2) { - te1 = worldObj.getTileEntity(xCoord - 2, yCoord, zCoord); - te2 = worldObj.getTileEntity(xCoord + 3, yCoord, zCoord - 1); - } - if(meta == 3) { - te1 = worldObj.getTileEntity(xCoord + 2, yCoord, zCoord); - te2 = worldObj.getTileEntity(xCoord - 3, yCoord, zCoord + 1); - } - if(meta == 4) { - te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 2); - te2 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord - 3); - } - if(meta == 5) { - te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 2); - te2 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord + 3); - } - - tryExchangeTemplates(te1, te2); - - //OUTPUT - if(te1 instanceof TileEntityChest) { - TileEntityChest chest = (TileEntityChest)te1; - - for(int i = 5; i < 9; i++) - tryFillContainer(chest, i); - } - - if(te1 instanceof TileEntityHopper) { - TileEntityHopper hopper = (TileEntityHopper)te1; - - for(int i = 5; i < 9; i++) - tryFillContainer(hopper, i); - } - - if(te1 instanceof TileEntityCrateIron) { - TileEntityCrateIron crate = (TileEntityCrateIron)te1; - - for(int i = 5; i < 9; i++) - tryFillContainer(crate, i); - } - - if(te1 instanceof TileEntityCrateSteel) { - TileEntityCrateSteel crate = (TileEntityCrateSteel)te1; - - for(int i = 5; i < 9; i++) - tryFillContainer(crate, i); - } - - //INPUT - if(te2 instanceof TileEntityChest) { - TileEntityChest chest = (TileEntityChest)te2; - - for(int i = 0; i < chest.getSizeInventory(); i++) - if(tryFillAssembler(chest, i)) - break; - } - - if(te2 instanceof TileEntityHopper) { - TileEntityHopper hopper = (TileEntityHopper)te2; - - for(int i = 0; i < hopper.getSizeInventory(); i++) - if(tryFillAssembler(hopper, i)) - break; - } - - if(te2 instanceof TileEntityCrateIron) { - TileEntityCrateIron hopper = (TileEntityCrateIron)te2; - - for(int i = 0; i < hopper.getSizeInventory(); i++) - if(tryFillAssembler(hopper, i)) - break; - } - - if(te2 instanceof TileEntityCrateSteel) { - TileEntityCrateSteel hopper = (TileEntityCrateSteel)te2; - - for(int i = 0; i < hopper.getSizeInventory(); i++) - if(tryFillAssembler(hopper, i)) - break; - } - - if(isProgressing) { - if(meta == 2) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(xCoord + 0.375, yCoord + 3, zCoord - 0.625, 1), - new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.375, yCoord + 3, zCoord - 0.625, 50)); - } - if(meta == 3) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(xCoord + 0.625, yCoord + 3, zCoord + 1.625, 1), - new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.625, yCoord + 3, zCoord + 1.625, 50)); - } - if(meta == 4) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(xCoord - 0.625, yCoord + 3, zCoord + 0.625, 1), - new TargetPoint(worldObj.provider.dimensionId, xCoord - 0.625, yCoord + 3, zCoord + 0.625, 50)); - } - if(meta == 5) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(xCoord + 1.625, yCoord + 3, zCoord + 0.375, 1), - new TargetPoint(worldObj.provider.dimensionId, xCoord + 1.625, yCoord + 3, zCoord + 0.375, 50)); - } - }*/ - - PacketDispatcher.wrapper.sendToAllAround(new TEChemplantPacket(xCoord, yCoord, zCoord, isProgressing), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new LoopedSoundPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - - } - - private void updateConnections() { - this.getBlockMetadata(); - - if(this.blockMetadata == 5) { - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1, Library.POS_X); - - } else if(this.blockMetadata == 3) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z); - - } else if(this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X); - - } else if(this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z); - } - } - - public boolean tryExchangeTemplates(TileEntity te1, TileEntity te2) { - //validateTe sees if it's a valid inventory tile entity - boolean te1Valid = validateTe(te1); - boolean te2Valid = validateTe(te2); - - if(te1Valid && te2Valid){ - IInventory iTe1 = (IInventory)te1; - IInventory iTe2 = (IInventory)te2; - boolean openSlot = false; - boolean existingTemplate = false; - boolean filledContainer = false; - //Check if there's an existing template and an open slot - for(int i = 0; i < iTe1.getSizeInventory(); i++){ - if(iTe1.getStackInSlot(i) == null){ - openSlot = true; - - } - - } - if(this.slots[4] != null){ - existingTemplate = true; - } - //Check if there's a template in input - for(int i = 0; i < iTe2.getSizeInventory(); i++){ - if(iTe2.getStackInSlot(i) != null && iTe2.getStackInSlot(i).getItem() instanceof ItemChemistryTemplate){ - if(openSlot && existingTemplate){ - filledContainer = tryFillContainer(iTe1, 4); - - } - if(filledContainer){ - ItemStack copy = iTe2.getStackInSlot(i).copy(); - iTe2.setInventorySlotContents(i, null); - this.slots[4] = copy; - } - } - - } - - - } - return false; - - } - - private boolean validateTe(TileEntity te) { - if(te != null && te instanceof TileEntityChest) { - return true; - - } - - if(te != null && te instanceof TileEntityHopper) { - return true; - } - - if(te != null && te instanceof TileEntityCrateIron) { - return true; - } - - if(te != null && te instanceof TileEntityCrateSteel) { - return true; - } - return false; - } - - private void setContainers() { - - /*if(slots[4] == null || (slots[4] != null && !(slots[4].getItem() instanceof ItemChemistryTemplate))) { - } else { - FluidStack[] inputs = MachineRecipes.getFluidInputFromTempate(slots[4]); - FluidStack[] outputs = MachineRecipes.getFluidOutputFromTempate(slots[4]); - - tanks[0].setTankType(inputs[0] == null ? Fluids.NONE : inputs[0].type); - tanks[1].setTankType(inputs[1] == null ? Fluids.NONE : inputs[1].type); - tanks[2].setTankType(outputs[0] == null ? Fluids.NONE : outputs[0].type); - tanks[3].setTankType(outputs[1] == null ? Fluids.NONE : outputs[1].type); - }*/ - } - - public boolean hasFluidsStored(FluidStack[] fluids) { - if(Library.isArrayEmpty(fluids)) - return true; - - if((fluids[0] == null || fluids[0] != null && fluids[0].fill <= tanks[0].getFill()) && - (fluids[1] == null || fluids[1] != null && fluids[1].fill <= tanks[1].getFill())) - return true; - - return false; - } - - public boolean hasSpaceForFluids(FluidStack[] fluids) { - if(Library.isArrayEmpty(fluids)) - return true; - - if((fluids[0] == null || fluids[0] != null && tanks[2].getFill() + fluids[0].fill <= tanks[2].getMaxFill()) && - (fluids[1] == null || fluids[1] != null && tanks[3].getFill() + fluids[1].fill <= tanks[3].getMaxFill())) - return true; - - return false; - } - - public void removeFluids(FluidStack[] fluids) { - if(Library.isArrayEmpty(fluids)) - return; - - if(fluids[0] != null) - tanks[0].setFill(tanks[0].getFill() - fluids[0].fill); - if(fluids[1] != null) - tanks[1].setFill(tanks[1].getFill() - fluids[1].fill); - } - - @Spaghetti("what the fuck am i looking at") - public boolean hasSpaceForItems(ItemStack[] stacks) { - if(stacks == null) - return true; - if(stacks != null && Library.isArrayEmpty(stacks)) - return true; - - ItemStack sta0 = ItemStackUtil.carefulCopy(slots[5]); - if(sta0 != null) - sta0.stackSize = 1; - ItemStack sta1 = ItemStackUtil.carefulCopy(stacks[0]); - if(sta1 != null) - sta1.stackSize = 1; - ItemStack sta2 = ItemStackUtil.carefulCopy(slots[6]); - if(sta2 != null) - sta2.stackSize = 1; - ItemStack sta3 = ItemStackUtil.carefulCopy(stacks[1]); - if(sta3 != null) - sta3.stackSize = 1; - ItemStack sta4 = ItemStackUtil.carefulCopy(slots[7]); - if(sta4 != null) - sta4.stackSize = 1; - ItemStack sta5 = ItemStackUtil.carefulCopy(stacks[2]); - if(sta5 != null) - sta5.stackSize = 1; - ItemStack sta6 = ItemStackUtil.carefulCopy(slots[8]); - if(sta6 != null) - sta6.stackSize = 1; - ItemStack sta7 = ItemStackUtil.carefulCopy(stacks[3]); - if(sta7 != null) - sta7.stackSize = 1; - - if((slots[5] == null || stacks[0] == null || (stacks[0] != null && isItemAcceptible(sta0, sta1) && slots[5].stackSize + stacks[0].stackSize <= slots[5].getMaxStackSize())) && - (slots[6] == null || stacks[1] == null || (stacks[1] != null && isItemAcceptible(sta2, sta3) && slots[6].stackSize + stacks[1].stackSize <= slots[6].getMaxStackSize())) && - (slots[7] == null || stacks[2] == null || (stacks[2] != null && isItemAcceptible(sta4, sta5) && slots[7].stackSize + stacks[2].stackSize <= slots[7].getMaxStackSize())) && - (slots[8] == null || stacks[3] == null || (stacks[3] != null && isItemAcceptible(sta6, sta7) && slots[8].stackSize + stacks[3].stackSize <= slots[8].getMaxStackSize()))) - return true; - - return false; - } - - public void addItems(ItemStack[] stacks) { - if(slots[5] == null && stacks[0] != null) - slots[5] = stacks[0].copy(); - else if (slots[5] != null && stacks[0] != null) - slots[5].stackSize += stacks[0].stackSize; - - if(slots[6] == null && stacks[1] != null) - slots[6] = stacks[1].copy(); - else if (slots[6] != null && stacks[1] != null) - slots[6].stackSize += stacks[1].stackSize; - - if(slots[7] == null && stacks[2] != null) - slots[7] = stacks[2].copy(); - else if (slots[7] != null && stacks[2] != null) - slots[7].stackSize += stacks[2].stackSize; - - if(slots[8] == null && stacks[3] != null) - slots[8] = stacks[3].copy(); - else if (slots[8] != null && stacks[3] != null) - slots[8].stackSize += stacks[3].stackSize; - } - - public void addFluids(FluidStack[] stacks) { - if(stacks[0] != null) - tanks[2].setFill(tanks[2].getFill() + stacks[0].fill); - if(stacks[1] != null) - tanks[3].setFill(tanks[3].getFill() + stacks[1].fill); - } - - //I can't believe that worked. - public ItemStack[] cloneItemStackProper(ItemStack[] array) { - ItemStack[] stack = new ItemStack[array.length]; - - for(int i = 0; i < array.length; i++) - if(array[i] != null) - stack[i] = array[i].copy(); - else - stack[i] = null; - - return stack; - } - - //Unloads output into chests - public boolean tryFillContainer(IInventory inventory, int slot) { - - int size = inventory.getSizeInventory(); - - for(int i = 0; i < size; i++) { - if(inventory.getStackInSlot(i) != null) { - - if(slots[slot] == null) - return false; - - ItemStack sta1 = inventory.getStackInSlot(i).copy(); - ItemStack sta2 = slots[slot].copy(); - if(sta1 != null && sta2 != null) { - sta1.stackSize = 1; - sta2.stackSize = 1; - - if(ItemStack.areItemStacksEqual(sta1, sta2) && ItemStack.areItemStackTagsEqual(sta1, sta2) && inventory.getStackInSlot(i).stackSize < inventory.getStackInSlot(i).getMaxStackSize()) { - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - ItemStack sta3 = inventory.getStackInSlot(i).copy(); - sta3.stackSize++; - inventory.setInventorySlotContents(i, sta3); - - return true; - } - } - } - } - for(int i = 0; i < size; i++) { - - if(slots[slot] == null) - return false; - - ItemStack sta2 = slots[slot].copy(); - if(inventory.getStackInSlot(i) == null && sta2 != null) { - sta2.stackSize = 1; - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - inventory.setInventorySlotContents(i, sta2); - - return true; - } - } - - return false; - } - - //Loads assembler's input queue from chests - public boolean tryFillAssembler(IInventory inventory, int slot) { - - /*FluidStack[] inputs = MachineRecipes.getFluidInputFromTempate(slots[4]); - FluidStack[] outputs = MachineRecipes.getFluidOutputFromTempate(slots[4]); - - if(!((MachineRecipes.getChemInputFromTempate(slots[4]) != null || !Library.isArrayEmpty(inputs)) && - (MachineRecipes.getChemOutputFromTempate(slots[4]) != null || !Library.isArrayEmpty(outputs)))) - return false; - else { - List list = copyItemStackList(MachineRecipes.getChemInputFromTempate(slots[4])); - if(list == null || list.isEmpty()) - return false; - - for(int i = 0; i < list.size(); i++) - list.get(i).stackSize = 1; - - - if(inventory.getStackInSlot(slot) == null) - return false; - - ItemStack stack = inventory.getStackInSlot(slot).copy(); - stack.stackSize = 1; - - boolean flag = false; - - for(int i = 0; i < list.size(); i++) - if(ItemStack.areItemStacksEqual(stack, list.get(i)) && ItemStack.areItemStackTagsEqual(stack, list.get(i))) - flag = true; - - if(!flag) - return false; - - }*/ - - for(int i = 13; i < 17; i++) { - - if(slots[i] != null) { - - ItemStack sta1 = inventory.getStackInSlot(slot).copy(); - ItemStack sta2 = slots[i].copy(); - if(sta1 != null && sta2 != null) { - sta1.stackSize = 1; - sta2.stackSize = 1; - - if(isItemAcceptible(sta1, sta2) && slots[i].stackSize < slots[i].getMaxStackSize()) { - ItemStack sta3 = inventory.getStackInSlot(slot).copy(); - sta3.stackSize--; - if(sta3.stackSize <= 0) - sta3 = null; - inventory.setInventorySlotContents(slot, sta3); - - slots[i].stackSize++; - return true; - } - } - } - } - - for(int i = 13; i < 17; i++) { - - ItemStack sta2 = inventory.getStackInSlot(slot).copy(); - if(slots[i] == null && sta2 != null) { - sta2.stackSize = 1; - slots[i] = sta2.copy(); - - ItemStack sta3 = inventory.getStackInSlot(slot).copy(); - sta3.stackSize--; - if(sta3.stackSize <= 0) - sta3 = null; - inventory.setInventorySlotContents(slot, sta3); - - return true; - } - } - - return false; - } - - //boolean true: remove items, boolean false: simulation mode - public boolean removeItems(List stack, ItemStack[] array) { - - if(stack == null || stack.isEmpty()) - return true; - - for(int i = 0; i < stack.size(); i++) { - for(int j = 0; j < stack.get(i).stackSize; j++) { - ItemStack sta = stack.get(i).copy(); - sta.stackSize = 1; - - if(!canRemoveItemFromArray(sta, array)) - return false; - } - } - - return true; - - } - - public boolean canRemoveItemFromArray(ItemStack stack, ItemStack[] array) { - - ItemStack st = stack.copy(); - - if(st == null) - return true; - - for(int i = 13; i < 17; i++) { - - if(array[i] != null) { - ItemStack sta = array[i].copy(); - sta.stackSize = 1; - - if(sta != null && isItemAcceptible(sta, st) && array[i].stackSize > 0) { - array[i].stackSize--; - - if(array[i].stackSize <= 0) - array[i] = null; - - return true; - } - } - } - - return false; - } - - public boolean isItemAcceptible(ItemStack stack1, ItemStack stack2) { - - if(stack1 != null && stack2 != null) { - if(ItemStack.areItemStacksEqual(stack1, stack2)) - return true; - - int[] ids1 = OreDictionary.getOreIDs(stack1); - int[] ids2 = OreDictionary.getOreIDs(stack2); - - if(ids1 != null && ids2 != null && ids1.length > 0 && ids2.length > 0) { - for(int i = 0; i < ids1.length; i++) - for(int j = 0; j < ids2.length; j++) - if(ids1[i] == ids2[j]) - return true; - } - } - - return false; - } - - public static List copyItemStackList(List list){ - List newList = new ArrayList(); - if(list == null || list.isEmpty()) - return newList; - for(ItemStack stack : list){ - newList.add(stack.copy()); - } - return newList; - } - - @Override - public void setPower(long i) { - power = i; - - } - - @Override - public long getPower() { - return power; - - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 4 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 4 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public void setFillForTransfer(int i, FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - tanks[0].setFill(i); - else if(type.name().equals(tanks[1].getTankType().name())) - tanks[1].setFill(i); - else if(type.name().equals(tanks[2].getTankType().name())) - tanks[2].setFill(i); - else if(type.name().equals(tanks[3].getTankType().name())) - tanks[3].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getFill(); - else if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getFill(); - else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getFill(); - else if(type.name().equals(tanks[3].getTankType().name())) - return tanks[3].getFill(); - - return 0; - } - - @Override - public int getMaxFillForReceive(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getMaxFill(); - else if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getMaxFill(); - else - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - if(meta == 5) { - fillFluid(this.xCoord - 2, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord - 2, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord + 3, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord + 3, this.yCoord, this.zCoord + 1, getTact(), type); - } - - if(meta == 3) { - fillFluid(this.xCoord, this.yCoord, this.zCoord - 2, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 2, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord + 3, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 3, getTact(), type); - } - - if(meta == 2) { - fillFluid(this.xCoord, this.yCoord, this.zCoord + 2, getTact(), type); - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 2, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord - 3, getTact(), type); - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 3, getTact(), type); - } - - if(meta == 4) { - fillFluid(this.xCoord + 2, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord + 2, this.yCoord, this.zCoord - 1, getTact(), type); - fillFluid(this.xCoord - 3, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord - 3, this.yCoord, this.zCoord - 1, getTact(), type); - } - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - if (age >= 0 && age < 10) { - return true; - } - - return false; - } - - @Override - public List getFluidList(FluidType type) { - if(type.name().equals(tanks[2].getTankType().name())) - return list1; - if(type.name().equals(tanks[3].getTankType().name())) - return list2; - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - if(type.name().equals(tanks[2].getTankType().name())) - list1.clear(); - if(type.name().equals(tanks[3].getTankType().name())) - list2.clear(); - } -} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java index 7d20f531b..4d267f71f 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java @@ -51,6 +51,18 @@ public class TileEntityConverterHeRf extends TileEntity implements IEnergyConnec return Integer.MAX_VALUE / 4; } + private long lastTransfer = 0; + + @Override + public long getTransferWeight() { + + if(lastTransfer > 0) { + return lastTransfer * 2; + } else { + return getMaxPower(); + } + } + @Override public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { return 0; @@ -88,6 +100,7 @@ public class TileEntityConverterHeRf extends TileEntity implements IEnergyConnec } recursionBrake = false; + lastTransfer = totalTransferred / 4; return power - (totalTransferred / 4); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index bdfdb065c..e840c4966 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -134,6 +134,7 @@ chem.DYN_DNT=Dineutronium-Dynosynthese chem.DYN_EUPH=Euphemium-Dynosynthese chem.DYN_SCHRAB=Schrabidium-Dynosynthese chem.ELECTROLYSIS=Kryo-Elektrolyse +chem.EPEARL=Enderperlen-Synthese chem.ETHANOL=Ethanolherstellung chem.FC_BITUMEN=Bitumen-Cracking chem.FC_DIESEL_KEROSENE=Diesel-Cracking @@ -470,6 +471,7 @@ hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Crackdiesel hbmfluid.ethanol=Ethanol +hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas hbmfluid.gasoline=Bleibenzin @@ -521,6 +523,7 @@ hbmfluid.wastegas=Gasförmiger Atommüll hbmfluid.water=Wasser hbmfluid.watz=Giftiger Schlamm hbmfluid.xenon=Xenongas +hbmfluid.xpjuice=Erfahrungssaft info.coil=Spulenstärke info.templatefolder=Hergestellt mit %s diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d3de62e25..d696458c9 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -303,6 +303,7 @@ chem.DYN_DNT=Dineutronium Dynosynthesis chem.DYN_EUPH=Euphemium Dynosynthesis chem.DYN_SCHRAB=Schrabidium Dynosynthesis chem.ELECTROLYSIS=Cryo-Electrolysis +chem.EPEARL=Ender Pearl Synthesis chem.ETHANOL=Ethanol Production chem.FC_BITUMEN=Bitumen Cracking chem.FC_DIESEL_KEROSENE=Diesel Cracking @@ -663,6 +664,7 @@ hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Cracked Diesel hbmfluid.ethanol=Ethanol +hbmfluid.enderjuice=Ender Juice hbmfluid.fracksol=Fracking Solution hbmfluid.gas=Natural Gas hbmfluid.gasoline=Leaded Gasoline @@ -714,6 +716,7 @@ hbmfluid.wastegas=Gaseous Nuclear Waste hbmfluid.water=Water hbmfluid.watz=Poisonous Mud hbmfluid.xenon=Xenon Gas +hbmfluid.xpjuice=Experience Juice info.coil=Coil Strength info.templatefolder=Created with %s diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/enderjuice.png b/src/main/resources/assets/hbm/textures/gui/fluids/enderjuice.png new file mode 100644 index 000000000..ab18b6953 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/enderjuice.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/xpjuice.png b/src/main/resources/assets/hbm/textures/gui/fluids/xpjuice.png new file mode 100644 index 000000000..7072a3a9b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/xpjuice.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_EPEARL.png b/src/main/resources/assets/hbm/textures/items/chem_icon_EPEARL.png new file mode 100644 index 000000000..0d8077cb5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_EPEARL.png differ