From 05892abbe74319f93c82d0b35e8ea71cbce46087 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 16 Feb 2022 16:53:06 +0100 Subject: [PATCH] removed dead code, started chemical plant rewrite, refactoring --- .../com/hbm/interfaces/IFluidAcceptor.java | 3 +- .../com/hbm/interfaces/IFluidContainer.java | 8 +- .../com/hbm/inventory/OreDictManager.java | 140 +++++++++++++----- .../inventory/recipes/ChemplantRecipes.java | 74 +++++++-- .../java/com/hbm/items/tool/ItemAnalyzer.java | 13 -- src/main/java/com/hbm/lib/Library.java | 16 +- src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/packet/TEFluidPacket.java | 4 +- .../hbm/tileentity/TileEntityProxyCombo.java | 29 +--- .../bomb/TileEntityCompactLauncher.java | 17 +-- .../bomb/TileEntityLaunchTable.java | 17 +-- .../tileentity/machine/TileEntityAMSBase.java | 19 +-- .../machine/TileEntityAMSEmitter.java | 16 +- .../machine/TileEntityAMSLimiter.java | 17 +-- .../tileentity/machine/TileEntityChungus.java | 17 +-- .../machine/TileEntityCondenser.java | 17 +-- .../machine/TileEntityCoreEmitter.java | 16 +- .../machine/TileEntityCoreInjector.java | 17 +-- .../machine/TileEntityCoreReceiver.java | 16 +- .../machine/TileEntityDeuteriumExtractor.java | 17 +-- .../machine/TileEntityFWatzCore.java | 18 +-- .../machine/TileEntityFusionMultiblock.java | 19 +-- .../tileentity/machine/TileEntityITER.java | 18 +-- .../machine/TileEntityMachineBoiler.java | 17 +-- .../TileEntityMachineBoilerElectric.java | 17 +-- .../machine/TileEntityMachineCMBFactory.java | 16 +- .../machine/TileEntityMachineChemplant.java | 19 +-- .../TileEntityMachineChemplantNew.java | 130 ++++++++++++++++ .../machine/TileEntityMachineCoal.java | 16 +- .../TileEntityMachineCrystallizer.java | 13 +- .../machine/TileEntityMachineCyclotron.java | 13 +- .../machine/TileEntityMachineDiesel.java | 16 +- .../machine/TileEntityMachineGasCent.java | 16 +- .../machine/TileEntityMachineGenerator.java | 17 +-- .../machine/TileEntityMachineIGenerator.java | 13 +- .../machine/TileEntityMachineInserter.java | 18 +-- .../TileEntityMachineLargeTurbine.java | 17 +-- .../machine/TileEntityMachineMiningLaser.java | 11 +- .../TileEntityMachinePlasmaHeater.java | 18 +-- .../machine/TileEntityMachineRadiolysis.java | 13 +- .../TileEntityMachineReactorLarge.java | 18 +-- .../TileEntityMachineSeleniumEngine.java | 16 +- .../machine/TileEntityMachineTurbine.java | 17 +-- .../machine/TileEntityMachineTurbofan.java | 16 +- .../machine/TileEntityReactorZirnox.java | 8 +- .../tileentity/machine/TileEntitySILEX.java | 17 +-- .../machine/TileEntitySolarBoiler.java | 13 +- .../machine/TileEntitySoyuzLauncher.java | 17 +-- .../machine/TileEntityStorageDrum.java | 15 +- .../machine/TileEntityWatzCore.java | 14 +- .../TileEntityMachineCatalyticCracker.java | 13 +- .../oil/TileEntityMachineFrackingTower.java | 2 +- .../oil/TileEntityMachineFractionTower.java | 13 +- .../oil/TileEntityMachineGasFlare.java | 16 +- .../oil/TileEntityMachineLiquefactor.java | 13 +- .../oil/TileEntityMachineRefinery.java | 20 +-- .../oil/TileEntityMachineSolidifier.java | 15 +- .../machine/oil/TileEntityOilDrillBase.java | 15 +- .../machine/rbmk/TileEntityRBMKBoiler.java | 17 +-- .../machine/rbmk/TileEntityRBMKCooler.java | 13 +- .../machine/rbmk/TileEntityRBMKInlet.java | 13 +- .../machine/rbmk/TileEntityRBMKOutgasser.java | 11 +- .../machine/rbmk/TileEntityRBMKOutlet.java | 11 +- .../machine/storage/TileEntityBarrel.java | 16 +- .../storage/TileEntityMachineFluidTank.java | 16 +- .../storage/TileEntityMachinePuF6Tank.java | 14 +- .../storage/TileEntityMachineUF6Tank.java | 14 +- .../turret/TileEntityTurretFritz.java | 16 +- src/main/java/com/hbm/util/InventoryUtil.java | 24 +++ src/main/java/com/hbm/util/ItemStackUtil.java | 50 +++++++ .../hbm/textures/items/parts_legendary.png | Bin 0 -> 500 bytes 71 files changed, 607 insertions(+), 775 deletions(-) create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java create mode 100644 src/main/resources/assets/hbm/textures/items/parts_legendary.png diff --git a/src/main/java/com/hbm/interfaces/IFluidAcceptor.java b/src/main/java/com/hbm/interfaces/IFluidAcceptor.java index e013ec71b..a4230ce76 100644 --- a/src/main/java/com/hbm/interfaces/IFluidAcceptor.java +++ b/src/main/java/com/hbm/interfaces/IFluidAcceptor.java @@ -4,6 +4,5 @@ import com.hbm.inventory.fluid.FluidType; public interface IFluidAcceptor extends IFluidContainer { - int getMaxFluidFill(FluidType type); - + int getMaxFillForReceive(FluidType type); } diff --git a/src/main/java/com/hbm/interfaces/IFluidContainer.java b/src/main/java/com/hbm/interfaces/IFluidContainer.java index 7143ca1bc..34e2ed77f 100644 --- a/src/main/java/com/hbm/interfaces/IFluidContainer.java +++ b/src/main/java/com/hbm/interfaces/IFluidContainer.java @@ -8,15 +8,13 @@ import com.hbm.inventory.fluid.FluidType; public interface IFluidContainer { //Args: fill, what the fill should be set to; index, index for array if there are multiple tanks - public void setFillstate(int fill, int index); + public void setFillForSync(int fill, int index); //Args: fill: what the fill should be set to; type, what type the tank in question has - void setFluidFill(int fill, FluidType type); + void setFillForTransfer(int fill, FluidType type); //Args: type, what the type should be set to; index, index for array if there are multiple tanks - public void setType(FluidType type, int index); - - public List getTanks(); + public void setTypeForSync(FluidType type, int index); //Args: type, what type the tank in question has int getFluidFill(FluidType type); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 9c8b97196..e86525244 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -1,6 +1,8 @@ package com.hbm.inventory; import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -16,15 +18,21 @@ import com.hbm.hazard.HazardRegistry; import com.hbm.hazard.HazardSystem; import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.ItemEnums.EnumTarType; +import com.hbm.main.MainRegistry; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent; //the more i optimize this, the more it starts looking like gregtech public class OreDictManager { + + /** Alternate, additional names for ore dict registration. Used mostly for DictGroups */ + private static final HashMap> reRegistration = new HashMap(); /* * Standard keys @@ -225,14 +233,14 @@ public class OreDictManager { /* * COLLECTIONS */ - public static final DictFrame ANY_PLASTIC = new DictFrame("AnyPlastic"); //using the Any prefix means that it's jsut the secondary prefix, and that shape prefixes are applicable + public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's jsut the secondary prefix, and that shape prefixes are applicable public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); public static final DictFrame ANY_SMOKELESS = new DictFrame("AnySmokeless"); public static final DictFrame ANY_PLASTICEXPLOSIVE = new DictFrame("AnyPlasticexplosive"); public static final DictFrame ANY_HIGHEXPLOSIVE = new DictFrame("AnyHighexplosive"); public static final DictFrame ANY_COKE = new DictFrame("AnyCoke", "Coke"); public static final DictFrame ANY_CONCRETE = new DictFrame("Concrete"); //no any prefix means that any has to be appended with the any() or anys() getters, registering works with the any (i.e. no shape) setter - public static final DictFrame ANY_TAR = new DictFrame("Tar"); + public static final DictGroup ANY_TAR = new DictGroup("Tar", KEY_OIL_TAR, KEY_COAL_TAR, KEY_CRACK_TAR); public static void registerOres() { @@ -377,14 +385,12 @@ public class OreDictManager { /* * COLLECTIONS */ - ANY_PLASTIC .ingot(ingot_polymer, ingot_bakelite).dust(powder_polymer, powder_bakelite); ANY_GUNPOWDER .dust(Items.gunpowder, ballistite, cordite); ANY_SMOKELESS .dust(ballistite, cordite); ANY_PLASTICEXPLOSIVE .ingot(ingot_semtex); ANY_HIGHEXPLOSIVE .ingot(ball_tnt); ANY_CONCRETE .any(concrete, concrete_smooth, concrete_colored, concrete_asbestos, ducrete, ducrete_smooth); ANY_COKE .gem(fromAll(coke, EnumCokeType.class)); - ANY_TAR .any(fromAll(oil_tar, EnumTarType.class)); OreDictionary.registerOre(KEY_OIL_TAR, fromOne(oil_tar, EnumTarType.CRUDE)); OreDictionary.registerOre(KEY_CRACK_TAR, fromOne(oil_tar, EnumTarType.CRACK)); @@ -448,8 +454,31 @@ public class OreDictManager { return GeneralConfig.enableReflectorCompat ? "plateDenseLead" : "plateTungCar"; //let's just mangle the name into "tungCar" so that it can't conflict with anything ever } - public void registerGroups() { + public static void registerGroups() { + ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true); + ANY_TAR.addPrefix(ANY, false); + } + + private static boolean recursionBrake = false; + + @SubscribeEvent + public void onRegisterOre(OreRegisterEvent event) { + if(recursionBrake) + return; + + recursionBrake = true; + + HashSet strings = reRegistration.get(event.Name); + + if(strings != null) { + for(String name : strings) { + OreDictionary.registerOre(name, event.Ore); + MainRegistry.logger.info("Re-registration for " + event.Name + " to " + name); + } + } + + recursionBrake = false; } public static class DictFrame { @@ -618,51 +647,84 @@ public class OreDictManager { } } - /*public static class DictGroup { + public static class DictGroup { - private String name; - private HashSet frames = new HashSet(); + private String groupName; + private HashSet names = new HashSet(); - public DictGroup(String name) { - this.name = name; + public DictGroup(String groupName) { + this.groupName = groupName; + } + public DictGroup(String groupName, String... names) { + this(groupName); + this.addNames(names); + } + public DictGroup(String groupName, DictFrame... frames) { + this(groupName); + this.addFrames(frames); } - public DictGroup(String name, DictFrame... frames) { - this(name); - - for(DictFrame frame : frames) { - this.frames.add(frame); - } + public DictGroup addNames(String... names) { + for(String mat : names) this.names.add(mat); + return this; + } + public DictGroup addFrames(DictFrame... frames) { + for(DictFrame frame : frames) this.addNames(frame.mats); + return this; } - public DictGroup prefix(String prefix) { + /** + * Will add a reregistration entry for every mat name of every added DictFrame for the given prefix + * @param prefix The prefix of both the input and result of the reregistration + * @return + */ + public DictGroup addPrefix(String prefix, boolean inputPrefix) { - String groupKey = prefix + name; + String group = prefix + groupName; - for(DictFrame frame : this.frames) { - String key = prefix + frame.mats[0]; - - List ores = OreDictionary.getOres(key); - - for(ItemStack stack : ores) { - OreDictionary.registerOre(groupKey, stack); - } + for(String name : names) { + String original = (inputPrefix ? prefix : "") + name; + addReRegistration(original, group); } return this; } + /** + * Same thing as addPrefix, but the input for the reregistration is not bound by the prefix or any mat names + * @param prefix The prefix for the resulting reregistration entry (in full: prefix + group name) + * @param original The full original ore dict key, not bound by any naming conventions + * @return + */ + public DictGroup addFixed(String prefix, String original) { + + String group = prefix + groupName; + addReRegistration(original, group); + return this; + } - public String any() { return ANY + name; } - public String nugget() { return NUGGET + name; } - public String tiny() { return TINY + name; } - public String ingot() { return INGOT + name; } - public String dustTiny() { return DUSTTINY + name; } - public String dust() { return DUST + name; } - public String gem() { return GEM + name; } - public String crystal() { return CRYSTAL + name; } - public String plate() { return PLATE + name; } - public String billet() { return BILLET + name; } - public String block() { return BLOCK + name; } - public String ore() { return ORE + name; } - }*/ + public String any() { return ANY + groupName; } + public String nugget() { return NUGGET + groupName; } + public String tiny() { return TINY + groupName; } + public String ingot() { return INGOT + groupName; } + public String dustTiny() { return DUSTTINY + groupName; } + public String dust() { return DUST + groupName; } + public String gem() { return GEM + groupName; } + public String crystal() { return CRYSTAL + groupName; } + public String plate() { return PLATE + groupName; } + public String billet() { return BILLET + groupName; } + public String block() { return BLOCK + groupName; } + public String ore() { return ORE + groupName; } + } + + private static void addReRegistration(String original, String additional) { + + HashSet strings = reRegistration.get(original); + + if(strings == null) + strings = new HashSet(); + + strings.add(additional); + + reRegistration.put(original, strings); + } } diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index c49ad5631..c1a97ad3b 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -242,17 +242,61 @@ public class ChemplantRecipes { new ItemStack(ModItems.gem_tantalium), new ItemStack(ModItems.dust, 3)) .outputFluids(new FluidStack(Fluids.WATER, 250))); - recipes.add(new ChemRecipe(68, "VIT_LIQUID", 100)); - recipes.add(new ChemRecipe(69, "VIT_GAS", 100)); - recipes.add(new ChemRecipe(70, "TEL", 40)); - recipes.add(new ChemRecipe(71, "GASOLINE", 40)); - recipes.add(new ChemRecipe(72, "FRACKSOL", 20)); - recipes.add(new ChemRecipe(73, "HELIUM3", 200)); - recipes.add(new ChemRecipe(74, "OSMIRIDIUM_DEATH", 240)); - recipes.add(new ChemRecipe(75, "ETHANOL", 50)); - recipes.add(new ChemRecipe(76, "METH", 30)); - recipes.add(new ChemRecipe(77, "CO2", 60)); - recipes.add(new ChemRecipe(78, "HEAVY_ELECTROLYSIS", 150)); + recipes.add(new ChemRecipe(68, "VIT_LIQUID", 100) + .inputItems(new ComparableStack(ModBlocks.sand_lead)) + .inputFluids(new FluidStack(Fluids.WASTEFLUID, 1000)) + .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified))); + recipes.add(new ChemRecipe(69, "VIT_GAS", 100) + .inputItems(new ComparableStack(ModBlocks.sand_lead)) + .inputFluids(new FluidStack(Fluids.WASTEGAS, 1000)) + .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified))); + recipes.add(new ChemRecipe(70, "TEL", 40) + .inputItems( + new OreDictStack(ANY_TAR.any()), + new OreDictStack(PB.dust())) + .inputFluids( + new FluidStack(Fluids.PETROLEUM, 100), + new FluidStack(Fluids.STEAM, 1000)) + .outputItems(new ItemStack(ModItems.antiknock))); + recipes.add(new ChemRecipe(71, "GASOLINE", 40) + .inputItems(new ComparableStack(ModItems.antiknock)) + .inputFluids(new FluidStack(Fluids.PETROIL, 10_000)) + .outputFluids(new FluidStack(Fluids.GASOLINE, 12_000))); + recipes.add(new ChemRecipe(72, "FRACKSOL", 20) + .inputItems(new OreDictStack(S.dust())) + .inputFluids( + new FluidStack(Fluids.PETROLEUM, 100), + new FluidStack(Fluids.WATER, 1000)) + .outputFluids(new FluidStack(Fluids.FRACKSOL, 1000))); + recipes.add(new ChemRecipe(73, "HELIUM3", 200) + .inputItems(new ComparableStack(ModBlocks.moon_turf, 8)) + .outputFluids(new FluidStack(Fluids.HELIUM3, 1000))); + recipes.add(new ChemRecipe(74, "OSMIRIDIUM_DEATH", 240) + .inputItems( + new ComparableStack(ModItems.powder_paleogenite), + new OreDictStack(F.dust(), 8), + new ComparableStack(ModItems.nugget_bismuth, 4)) + .inputFluids(new FluidStack(Fluids.ACID, 1000)) + .outputFluids(new FluidStack(Fluids.DEATH, 1000))); + recipes.add(new ChemRecipe(75, "ETHANOL", 50) + .inputItems(new ComparableStack(Items.sugar, 6)) + .outputFluids(new FluidStack(Fluids.ETHANOL, 1000))); + recipes.add(new ChemRecipe(76, "METH", 30) + .inputItems( + new ComparableStack(Items.wheat), + new ComparableStack(Items.dye, 2, 3)) + .inputFluids( + new FluidStack(Fluids.LUBRICANT, 400), + new FluidStack(Fluids.ACID, 400)) + .outputItems(new ItemStack(ModItems.chocolate, 4))); + recipes.add(new ChemRecipe(77, "CO2", 60) + .inputFluids(new FluidStack(Fluids.GAS, 1000)) + .outputFluids(new FluidStack(Fluids.CARBONDIOXIDE, 1000))); + recipes.add(new ChemRecipe(78, "HEAVY_ELECTROLYSIS", 150) + .inputFluids(new FluidStack(Fluids.HEAVYWATER, 8000)) + .outputFluids( + new FluidStack(Fluids.DEUTERIUM, 400), + new FluidStack(Fluids.OXYGEN, 400))); } @@ -315,10 +359,10 @@ public class ChemplantRecipes { private int id; public String name; - private AStack[] inputs; - private FluidStack[] inputFluids; - private ItemStack[] outputs; - private FluidStack[] outputFluids; + public AStack[] inputs; + public FluidStack[] inputFluids; + public ItemStack[] outputs; + public FluidStack[] outputFluids; private int duration; public ChemRecipe(int index, String name, int duration) { diff --git a/src/main/java/com/hbm/items/tool/ItemAnalyzer.java b/src/main/java/com/hbm/items/tool/ItemAnalyzer.java index b403b45db..64a7856f3 100644 --- a/src/main/java/com/hbm/items/tool/ItemAnalyzer.java +++ b/src/main/java/com/hbm/items/tool/ItemAnalyzer.java @@ -76,19 +76,6 @@ public class ItemAnalyzer extends Item { "Electricity: " + ((IEnergyConnector)te).getPower() + " HE")); } - if(te instanceof IFluidContainer) { - - player.addChatMessage(new ChatComponentText( - "Fluid Tanks:")); - - List tanks = ((IFluidContainer)te).getTanks(); - - for(int i = 0; i < tanks.size(); i++) { - player.addChatMessage(new ChatComponentText( - " *Tank " + (i + 1) + ": " + tanks.get(i).getFill() + "mB " + I18n.format(tanks.get(i).getTankType().getUnlocalizedName()))); - } - } - if(te instanceof IFluidDuct) { player.addChatMessage(new ChatComponentText( diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index c4ec0afc1..de7f93d79 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -618,8 +618,8 @@ public class Library { } } - if(tileentity instanceof IFluidAcceptor && newTact && ((IFluidAcceptor)tileentity).getMaxFluidFill(type) > 0 && - ((IFluidAcceptor)tileentity).getMaxFluidFill(type) - ((IFluidAcceptor)tileentity).getFluidFill(type) > 0) { + if(tileentity instanceof IFluidAcceptor && newTact && ((IFluidAcceptor)tileentity).getMaxFillForReceive(type) > 0 && + ((IFluidAcceptor)tileentity).getMaxFillForReceive(type) - ((IFluidAcceptor)tileentity).getFluidFill(type) > 0) { that.getFluidList(type).add((IFluidAcceptor)tileentity); } @@ -631,15 +631,15 @@ public class Library { int part = that.getFluidFill(type) / size; for(IFluidAcceptor consume : that.getFluidList(type)) { - if(consume.getFluidFill(type) < consume.getMaxFluidFill(type)) + if(consume.getFluidFill(type) < consume.getMaxFillForReceive(type)) { - if(consume.getMaxFluidFill(type) - consume.getFluidFill(type) >= part) + if(consume.getMaxFillForReceive(type) - consume.getFluidFill(type) >= part) { - that.setFluidFill(that.getFluidFill(type) - part, type); - consume.setFluidFill(consume.getFluidFill(type) + part, type); + that.setFillForTransfer(that.getFluidFill(type) - part, type); + consume.setFillForTransfer(consume.getFluidFill(type) + part, type); } else { - that.setFluidFill(that.getFluidFill(type) - (consume.getMaxFluidFill(type) - consume.getFluidFill(type)), type); - consume.setFluidFill(consume.getMaxFluidFill(type), type); + that.setFillForTransfer(that.getFluidFill(type) - (consume.getMaxFillForReceive(type) - consume.getFluidFill(type)), type); + consume.setFillForTransfer(consume.getMaxFillForReceive(type), type); } } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b46a2aca0..861c906f9 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -263,6 +263,7 @@ public class MainRegistry { SiegeTier.registerTiers(); HazardRegistry.registerItems(); HazardRegistry.registerTrafos(); + OreDictManager.registerGroups(); Library.superuser.add("192af5d7-ed0f-48d8-bd89-9d41af8524f8"); Library.superuser.add("5aee1e3d-3767-4987-a222-e7ce1fbdf88e"); diff --git a/src/main/java/com/hbm/packet/TEFluidPacket.java b/src/main/java/com/hbm/packet/TEFluidPacket.java index 9509c98a0..078729c9f 100644 --- a/src/main/java/com/hbm/packet/TEFluidPacket.java +++ b/src/main/java/com/hbm/packet/TEFluidPacket.java @@ -62,8 +62,8 @@ public class TEFluidPacket implements IMessage { if (te != null && te instanceof IFluidContainer) { IFluidContainer gen = (IFluidContainer) te; - gen.setFillstate(m.fill, m.index); - gen.setType(Fluids.fromID(m.type), m.index); + gen.setFillForSync(m.fill, m.index); + gen.setTypeForSync(Fluids.fromID(m.type), m.index); } } catch(Exception x) { } return null; diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index 67cb91f9d..5b3736cef 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -41,51 +41,38 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(!fluid) return; if(getTile() instanceof IFluidAcceptor) { - ((IFluidAcceptor)getTile()).setFillstate(fill, index); + ((IFluidAcceptor)getTile()).setFillForSync(fill, index); } } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(!fluid) return; if(getTile() instanceof IFluidAcceptor) { - ((IFluidAcceptor)getTile()).setFluidFill(fill, type); + ((IFluidAcceptor)getTile()).setFillForTransfer(fill, type); } } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(!fluid) return; if(getTile() instanceof IFluidAcceptor) { - ((IFluidAcceptor)getTile()).setType(type, index); + ((IFluidAcceptor)getTile()).setTypeForSync(type, index); } } - @Override - public List getTanks() { - - if(!fluid) - return null; - - if(getTile() instanceof IFluidAcceptor) { - return ((IFluidAcceptor)getTile()).getTanks(); - } - - return null; - } - @Override public int getFluidFill(FluidType type) { @@ -100,13 +87,13 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(!fluid) return 0; if(getTile() instanceof IFluidAcceptor) { - return ((IFluidAcceptor)getTile()).getMaxFluidFill(type); + return ((IFluidAcceptor)getTile()).getMaxFillForReceive(type); } return 0; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index 481ac57b5..dba1221f5 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -503,7 +503,7 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -513,13 +513,13 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) tanks[0].setFill(fill); else if (type.name().equals(tanks[1].getTankType().name())) @@ -527,20 +527,11 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } - @Override public int getFluidFill(FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 168d01a83..49a7f9722 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -482,7 +482,7 @@ public class TileEntityLaunchTable extends TileEntity implements ISidedInventory } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -492,13 +492,13 @@ public class TileEntityLaunchTable extends TileEntity implements ISidedInventory } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) tanks[0].setFill(fill); else if (type.name().equals(tanks[1].getTankType().name())) @@ -506,20 +506,11 @@ public class TileEntityLaunchTable extends TileEntity implements ISidedInventory } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } - @Override public int getFluidFill(FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java index e7ec37f9b..72d7f539e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java @@ -469,7 +469,7 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IF } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -483,7 +483,7 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IF } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -509,13 +509,13 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IF } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 4 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 4 && tanks[index] != null) tanks[index].setTankType(type); } @@ -531,15 +531,4 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IF { return 65536.0D; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - list.add(tanks[3]); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java index 587990625..7f8175fff 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java @@ -365,7 +365,7 @@ public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -379,7 +379,7 @@ public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tank.getTankType().name())) return tank.getMaxFill(); else @@ -387,12 +387,12 @@ public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @@ -407,12 +407,4 @@ public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, { return 65536.0D; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java index 41b39bb8c..eed90c948 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java @@ -379,7 +379,7 @@ public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -393,7 +393,7 @@ public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tank.getTankType().name())) return tank.getMaxFill(); else @@ -401,12 +401,12 @@ public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @@ -421,13 +421,4 @@ public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, { return 65536.0D; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index 204568e19..999311465 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -166,7 +166,7 @@ public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFl } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -184,7 +184,7 @@ public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFl } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -192,25 +192,16 @@ public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFl } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java index c9803d48c..0315a6085 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java @@ -102,7 +102,7 @@ public class TileEntityCondenser extends TileEntity implements IFluidAcceptor, I } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -120,7 +120,7 @@ public class TileEntityCondenser extends TileEntity implements IFluidAcceptor, I } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -128,25 +128,16 @@ public class TileEntityCondenser extends TileEntity implements IFluidAcceptor, I } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 526f7317f..ddf8d847d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -187,7 +187,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -201,7 +201,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tank.getTankType().name())) return tank.getMaxFill(); else @@ -209,23 +209,15 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - @Override public void setPower(long i) { this.power = i; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index cd7a903ff..3d62a7689 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -103,7 +103,7 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -113,7 +113,7 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -131,25 +131,16 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index cc69ce342..624da12fa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -91,7 +91,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -105,7 +105,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tank.getTankType().name())) return tank.getMaxFill(); else @@ -113,23 +113,15 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - @Override public void addEnergy(World world, int x, int y, int z, long energy, ForgeDirection dir) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index 9be6edf80..d27bf6436 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -134,7 +134,7 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -152,7 +152,7 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -160,26 +160,17 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } - @Override public List getFluidList(FluidType type) { return list; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java index 949fc1065..99f451ef4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java @@ -386,19 +386,19 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 3 && tanks[index] != null) tanks[index].setTankType(type); } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tanks[1].getTankType().name())) tanks[1].setFill(i); else if(type.name().equals(tanks[2].getTankType().name())) @@ -416,7 +416,7 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[1].getTankType().name())) return tanks[1].getMaxFill(); else if(type.name().equals(tanks[2].getTankType().name())) @@ -424,14 +424,4 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, else return 0; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java index 663d3c497..7e9a0b438 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java @@ -1197,19 +1197,19 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 3 && tanks[index] != null) tanks[index].setTankType(type); } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -1231,7 +1231,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -1241,15 +1241,4 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve else return 0; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - - return list; - } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 879af660c..53520b926 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -308,7 +308,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); @@ -317,7 +317,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -327,7 +327,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); @@ -335,16 +335,6 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser plasma.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(plasma); - - return list; - } - @Override public int getFluidFill(FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) @@ -388,7 +378,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser } @Override - public int getMaxFluidFill(FluidType type) { + 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())) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java index 9565a7c39..e02cc8bfb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java @@ -350,7 +350,7 @@ public class TileEntityMachineBoiler extends TileEntity implements ISidedInvento } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -368,7 +368,7 @@ public class TileEntityMachineBoiler extends TileEntity implements ISidedInvento } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -376,25 +376,16 @@ public class TileEntityMachineBoiler extends TileEntity implements ISidedInvento } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index 2465d1cc1..0cfc3f548 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -352,7 +352,7 @@ public class TileEntityMachineBoilerElectric extends TileEntity implements ISide } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -370,7 +370,7 @@ public class TileEntityMachineBoilerElectric extends TileEntity implements ISide } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -378,25 +378,16 @@ public class TileEntityMachineBoilerElectric extends TileEntity implements ISide } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index c9488e98b..39c5379a5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -335,17 +335,17 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @@ -355,16 +355,8 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 71e3e5bd6..c3563f814 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -907,19 +907,19 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 4 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 4 && tanks[index] != null) tanks[index].setTankType(type); } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -945,7 +945,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -1016,15 +1016,4 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(type.name().equals(tanks[3].getTankType().name())) list2.clear(); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - list.add(tanks[3]); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java new file mode 100644 index 000000000..dd2ef4d7d --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantNew.java @@ -0,0 +1,130 @@ +package com.hbm.tileentity.machine; + +import com.hbm.inventory.FluidTank; +import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.ChemplantRecipes; +import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.tileentity.TileEntityMachineBase; + +import net.minecraft.nbt.NBTTagCompound; + +public class TileEntityMachineChemplantNew extends TileEntityMachineBase { + + public long power; + public static final long maxPower = 100000; + public int progress; + public int maxProgress = 100; + + public FluidTank[] tanks; + + //upgraded stats + int consumption = 100; + int speed = 100; + + public TileEntityMachineChemplantNew() { + super(21); + /* + * 0 Battery + * 1-3 Upgrades + * 4 Schematic + * 5-8 Output + * 9-10 FOut In + * 11-12 FOut Out + * 13-16 Input + * 17-18 FIn In + * 19-20 FIn Out + */ + + tanks = new FluidTank[4]; + for(int i = 0; i < 4; i++) { + tanks[i] = new FluidTank(Fluids.NONE, 24_000, i); + } + } + + @Override + public String getName() { + return "container.chemplant"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + 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); + + if(!canProcess()) { + this.progress = 0; + } else { + process(); + } + } + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + + } + + private boolean canProcess() { + + if(slots[4] == null || slots[4].getItem() != ModItems.chemistry_template) + return false; + + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); + + if(recipe == null) + return false; + + setupTanks(recipe); + + if(!hasRequiredFluids(recipe)) + return false; + + if(!hasSpaceForFluids(recipe)) + return false; + + return true; + } + + private void setupTanks(ChemRecipe recipe) { + if(recipe.inputFluids.length > 0) tanks[0].setTankType(recipe.inputFluids[0].type); + if(recipe.inputFluids.length > 1) tanks[1].setTankType(recipe.inputFluids[1].type); + if(recipe.outputFluids.length > 0) tanks[2].setTankType(recipe.outputFluids[0].type); + if(recipe.outputFluids.length > 1) tanks[3].setTankType(recipe.outputFluids[1].type); + } + + private boolean hasRequiredFluids(ChemRecipe recipe) { + if(recipe.inputFluids.length > 0 && tanks[0].getFill() < recipe.inputFluids[0].fill) return false; + if(recipe.inputFluids.length > 1 && tanks[1].getFill() < recipe.inputFluids[1].fill) return false; + return true; + } + + private boolean hasSpaceForFluids(ChemRecipe recipe) { + if(recipe.outputFluids.length > 0 && tanks[2].getFill() + recipe.outputFluids[0].fill > tanks[2].getMaxFill()) return false; + if(recipe.outputFluids.length > 1 && tanks[3].getFill() + recipe.outputFluids[1].fill > tanks[3].getMaxFill()) return false; + return true; + } + + private boolean hasRequiredItems(ChemRecipe recipe) { + return false; + } + + private void process() { + + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 2d377ba14..29c8b011f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -314,7 +314,7 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -325,25 +325,17 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java index d3d78700f..932d64625 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java @@ -263,32 +263,27 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - return new ArrayList() {{ add(tank); }}; - } - @Override public int getFluidFill(FluidType type) { return tank.getFill(); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return tank.getMaxFill(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 98ece5d5e..12f70845d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -351,7 +351,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index == 0) coolant.setFill(fill); @@ -360,7 +360,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == Fluids.COOLANT) coolant.setFill(fill); else if(type == Fluids.AMAT) @@ -368,18 +368,13 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index == 0) coolant.setTankType(type); else if(index == 1) amat.setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(new FluidTank[] {coolant, amat}); - } - @Override public int getFluidFill(FluidType type) { if(type == Fluids.COOLANT) @@ -425,7 +420,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == Fluids.COOLANT) return coolant.getMaxFill(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index b3d83039d..80c1282cd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -205,17 +205,17 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type == this.tank.getTankType() ? tank.getMaxFill() : 0; } @@ -225,16 +225,8 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == tank.getTankType()) tank.setFill(i); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index 205175ae4..5ae1bd073 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -315,12 +315,12 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @@ -354,7 +354,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @@ -364,19 +364,11 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - AxisAlignedBB bb = null; @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java index 88b0cd5d7..328d414d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java @@ -520,7 +520,7 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -530,7 +530,7 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -548,23 +548,14 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index 0c8eea22e..6bd5eb603 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -211,12 +211,12 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == Fluids.WATER) tanks[0].setFill(fill); @@ -227,15 +227,10 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tanks[index].setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(tanks); - } - @Override public int getFluidFill(FluidType type) { @@ -247,7 +242,7 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { for(int i = 0; i < 3; i++) if(tanks[i].getTankType() == type) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineInserter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineInserter.java index 691096c84..6e7be881c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineInserter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineInserter.java @@ -283,19 +283,19 @@ public class TileEntityMachineInserter extends TileEntity implements ISidedInven } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 3 && tanks[index] != null) tanks[index].setTankType(type); } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -317,7 +317,7 @@ public class TileEntityMachineInserter extends TileEntity implements ISidedInven } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -348,14 +348,4 @@ public class TileEntityMachineInserter extends TileEntity implements ISidedInven if(type.name().equals(tanks[2].getTankType().name())) list3.clear(); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index bd5fd5c63..a54233b8b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -170,7 +170,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -188,7 +188,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -196,25 +196,16 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index b75e2869d..7bc36bd6f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -600,26 +600,21 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == Fluids.OIL) tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - return new ArrayList() {{ add(tank); }}; - } - @Override public int getFluidFill(FluidType type) { if(type == Fluids.OIL) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java index 9c2632486..8023b5aad 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java @@ -203,7 +203,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -215,7 +215,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -237,7 +237,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); @@ -246,7 +246,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); @@ -254,16 +254,6 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme plasma.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(plasma); - - return list; - } - @Override public void setPower(long i) { this.power = i; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index 099f61581..339d338ec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -250,13 +250,13 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement /* Fluid Methods */ @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { for(FluidTank tank : tanks) { if(tank.getTankType() == type) { tank.setFill(fill); @@ -265,15 +265,10 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { this.tanks[index].setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(this.tanks); - } - @Override public int getFluidFill(FluidType type) { for(FluidTank tank : tanks) { @@ -285,7 +280,7 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(tanks[0].getTankType() == type) { return tanks[0].getMaxFill(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 0ab6c50ce..7860ef28d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -785,7 +785,7 @@ public class TileEntityMachineReactorLarge extends TileEntity } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -795,7 +795,7 @@ public class TileEntityMachineReactorLarge extends TileEntity } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -817,27 +817,17 @@ public class TileEntityMachineReactorLarge extends TileEntity } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 3 && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - - return list; - } - @Override public List getFluidList(FluidType type) { return list; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index d850f86e6..e44670799 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -326,17 +326,17 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type == this.tank.getTankType() ? tank.getMaxFill() : 0; } @@ -346,19 +346,11 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == tank.getTankType()) tank.setFill(i); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - @Override public boolean canConnect(ForgeDirection dir) { return dir == ForgeDirection.DOWN; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index d442c8996..034410e32 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -288,7 +288,7 @@ public class TileEntityMachineTurbine extends TileEntity implements ISidedInvent } @Override - public void setFluidFill(int i, FluidType type) { + 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())) @@ -306,7 +306,7 @@ public class TileEntityMachineTurbine extends TileEntity implements ISidedInvent } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) return tanks[0].getMaxFill(); @@ -314,25 +314,16 @@ public class TileEntityMachineTurbine extends TileEntity implements ISidedInvent } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index ca52f2c80..637760876 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -497,17 +497,17 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type == this.tank.getTankType() ? tank.getMaxFill() : 0; } @@ -517,7 +517,7 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == tank.getTankType()) tank.setFill(i); } @@ -533,12 +533,4 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven { return 65536.0D; } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index 9ecc55bfc..d115f9e5c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -407,14 +407,14 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF return false; } - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == Fluids.SUPERHOTSTEAM) return steam.getMaxFill(); if(type == Fluids.CARBONDIOXIDE) return carbonDioxide.getMaxFill(); if(type == Fluids.WATER) return water.getMaxFill(); return 0; } - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == Fluids.SUPERHOTSTEAM) steam.setFill(i); if(type == Fluids.CARBONDIOXIDE) carbonDioxide.setFill(i); if(type == Fluids.WATER) water.setFill(i); @@ -427,7 +427,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF return 0; } - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { switch (index) { case 0: steam.setFill(fill); break; @@ -439,7 +439,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } } - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { switch (index) { case 0: steam.setTankType(type); break; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java index 4b4ce9600..0c5ed3f67 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java @@ -291,31 +291,22 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcce } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == tank.getTankType()) tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - return new ArrayList() { - { - add(tank); - } - }; - } - @Override public int getFluidFill(FluidType type) { @@ -326,7 +317,7 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcce } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == tank.getTankType()) return tank.getMaxFill(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java index 8cb38bd56..14d91ec0c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java @@ -67,7 +67,7 @@ public class TileEntitySolarBoiler extends TileEntity implements IFluidAcceptor, } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index == 0) water.setFill(fill); if(index == 1) @@ -75,7 +75,7 @@ public class TileEntitySolarBoiler extends TileEntity implements IFluidAcceptor, } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == Fluids.WATER) water.setFill(fill); if(type == Fluids.STEAM) @@ -83,18 +83,13 @@ public class TileEntitySolarBoiler extends TileEntity implements IFluidAcceptor, } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index == 0) water.setTankType(type); if(index == 1) steam.setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(new FluidTank[] {water, steam}); - } - @Override public int getFluidFill(FluidType type) { if(type == Fluids.WATER) @@ -122,7 +117,7 @@ public class TileEntitySolarBoiler extends TileEntity implements IFluidAcceptor, } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == Fluids.WATER) return water.getMaxFill(); if(type == Fluids.STEAM) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index adc9b78f1..17fdddfd7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -357,7 +357,7 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS } @Override - public int getMaxFluidFill(FluidType type) { + 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())) @@ -367,13 +367,13 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if (index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) tanks[0].setFill(fill); else if (type.name().equals(tanks[1].getTankType().name())) @@ -381,20 +381,11 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if (index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } - @Override public int getFluidFill(FluidType type) { if (type.name().equals(tanks[0].getTankType().name())) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java index e4d2e7ffb..68e190d13 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java @@ -259,7 +259,7 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == tanks[0].getTankType()) tanks[0].setFill(i); else if(type == tanks[1].getTankType()) @@ -285,25 +285,16 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 2 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java index ba09081b0..bd4047c64 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java @@ -701,12 +701,12 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @@ -730,7 +730,7 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { tank.setFill(i); } @@ -743,12 +743,4 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I public void clearFluidList(FluidType type) { list1.clear(); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java index 16c571f56..35a439b40 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -111,13 +111,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 4 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { for(FluidTank tank : tanks) { if(tank.getTankType() == type) { tank.setFill(fill); @@ -126,15 +126,10 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { this.tanks[index].setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(this.tanks); - } - @Override public int getFluidFill(FluidType type) { for(FluidTank tank : tanks) { @@ -146,7 +141,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == tanks[0].getTankType()) return tanks[0].getMaxFill(); else if(type == tanks[1].getTankType()) diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java index 3e82a0897..481175fab 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java @@ -110,7 +110,7 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase imple } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type == tanks[2].getTankType() ? tanks[2].getMaxFill() : 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java index 3f63560aa..017955ce6 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -129,13 +129,13 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 3 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { for(FluidTank tank : tanks) { if(tank.getTankType() == type) { tank.setFill(fill); @@ -144,15 +144,10 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { this.tanks[index].setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(this.tanks); - } - @Override public int getFluidFill(FluidType type) { for(FluidTank tank : tanks) { @@ -164,7 +159,7 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == tanks[0].getTankType()) return tanks[0].getMaxFill(); else diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 64421d6e5..594915d70 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -270,17 +270,17 @@ public class TileEntityMachineGasFlare extends TileEntity implements ISidedInven } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @@ -290,16 +290,8 @@ public class TileEntityMachineGasFlare extends TileEntity implements ISidedInven } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java index 9f7de17bc..ce3f56663 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -170,28 +170,21 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == tank.getTankType()) tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List tanks = new ArrayList(); - tanks.add(tank); - return tanks; - } - @Override public int getFluidFill(FluidType type) { return type == tank.getTankType() ? tank.getFill() : 0; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index caa412335..2eaf4c876 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -259,7 +259,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { for(int i = 0; i < 5; i++) { if(type == tanks[i].getTankType()) { @@ -286,7 +286,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == tanks[0].getTankType()) return tanks[0].getMaxFill(); else @@ -294,28 +294,16 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < 5 && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < 5 && tanks[index] != null) tanks[index].setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - list.add(tanks[2]); - list.add(tanks[3]); - list.add(tanks[4]); - - return list; - } @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java index ab7493b2c..5b10f8995 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java @@ -181,35 +181,28 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == tank.getTankType()) tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List tanks = new ArrayList(); - tanks.add(tank); - return tanks; - } - @Override public int getFluidFill(FluidType type) { return tank.getTankType() == type ? tank.getFill() : 0; } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return tank.getTankType() == type ? tank.getMaxFill() : 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java index d1f2857f8..6f085faee 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -275,7 +275,7 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { for(FluidTank tank : tanks) { if(type == tank.getTankType()) { tank.setFill(i); @@ -298,26 +298,17 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index < tanks.length && tanks[index] != null) tanks[index].setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index < tanks.length && tanks[index] != null) tanks[index].setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tanks[0]); - list.add(tanks[1]); - - return list; - } - @Override public void setPower(long i) { this.power = i; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 8da8e3994..82ffd4381 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -117,7 +117,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I public boolean getTact() { return worldObj.getTotalWorldTime() % 2 == 0; } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == feed.getTankType()) feed.setFill(i); @@ -137,7 +137,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == feed.getTankType()) return feed.getMaxFill(); @@ -148,7 +148,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index == 0) feed.setFill(fill); @@ -157,22 +157,13 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index == 0) feed.setTankType(type); else if(index == 1) steam.setTankType(type); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(feed); - list.add(steam); - - return list; - } @Override public List getFluidList(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java index 66b75c751..0fc7e20b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -100,33 +100,28 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == tank.getTankType()) tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - return new ArrayList() {{ add(tank); }}; - } - @Override public int getFluidFill(FluidType type) { return type == tank.getTankType() ? tank.getFill() : 0; } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type == tank.getTankType() ? tank.getMaxFill() : 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java index 0cbcca9d0..d391a29a6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java @@ -63,25 +63,20 @@ public class TileEntityRBMKInlet extends TileEntity implements IFluidAcceptor { } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index == 0) water.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == Fluids.WATER) water.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index == 0) water.setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(new FluidTank[] {water}); - } - @Override public int getFluidFill(FluidType type) { if(type == Fluids.WATER) return water.getFill(); @@ -89,7 +84,7 @@ public class TileEntityRBMKInlet extends TileEntity implements IFluidAcceptor { } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(type == Fluids.WATER) return water.getMaxFill(); return 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index abd054a05..966b61ff6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -181,31 +181,26 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement public boolean getTact() { return worldObj.getTotalWorldTime() % 20 < 10; } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { if(index == 0) gas.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { if(type == gas.getTankType()) gas.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { if(index == 0) gas.setTankType(type); } - @Override - public List getTanks() { - return new ArrayList() {{ add(gas); }}; - } - @Override public int getFluidFill(FluidType type) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java index c48873103..cf6a0a79d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java @@ -69,25 +69,20 @@ public class TileEntityRBMKOutlet extends TileEntity implements IFluidSource { } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { steam.setFill(fill); } @Override - public void setFluidFill(int fill, FluidType type) { + public void setFillForTransfer(int fill, FluidType type) { steam.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { steam.setTankType(type); } - @Override - public List getTanks() { - return Arrays.asList(new FluidTank[] {steam}); - } - @Override public int getFluidFill(FluidType type) { return steam.getFill(); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 4555402bd..7ab412714 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -122,17 +122,17 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(mode == 2 || mode == 3) return 0; @@ -171,7 +171,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type == tank.getTankType()) tank.setFill(i); } @@ -184,14 +184,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc public void clearFluidList(FluidType type) { this.list.clear(); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index e1bec2abf..6a42aea5c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -99,17 +99,17 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { if(mode == 2 || mode == 3) return 0; @@ -149,7 +149,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @@ -163,14 +163,6 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements public void clearFluidList(FluidType type) { this.list.clear(); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java index 54af5b7b5..ac640f987 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachinePuF6Tank.java @@ -212,30 +212,22 @@ public class TileEntityMachinePuF6Tank extends TileEntity implements ISidedInven } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - @Override public int getFluidFill(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0; } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java index 9cfb79a9c..4ddcdb34a 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineUF6Tank.java @@ -214,30 +214,22 @@ public class TileEntityMachineUF6Tank extends TileEntity implements ISidedInvent } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } - @Override public int getFluidFill(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0; } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java index 3ac6695ae..e5c0d06ed 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java @@ -134,17 +134,17 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl } @Override - public void setFillstate(int fill, int index) { + public void setFillForSync(int fill, int index) { tank.setFill(fill); } @Override - public void setType(FluidType type, int index) { + public void setTypeForSync(FluidType type, int index) { tank.setTankType(type); } @Override - public int getMaxFluidFill(FluidType type) { + public int getMaxFillForReceive(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @@ -154,16 +154,8 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl } @Override - public void setFluidFill(int i, FluidType type) { + public void setFillForTransfer(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } - - @Override - public List getTanks() { - List list = new ArrayList(); - list.add(tank); - - return list; - } } diff --git a/src/main/java/com/hbm/util/InventoryUtil.java b/src/main/java/com/hbm/util/InventoryUtil.java index 786e78585..dbd64d813 100644 --- a/src/main/java/com/hbm/util/InventoryUtil.java +++ b/src/main/java/com/hbm/util/InventoryUtil.java @@ -376,4 +376,28 @@ public class InventoryUtil { return new ItemStack[0][0]; } + + public static boolean doesArrayHaveIngredients(ItemStack[] array, int start, int end, AStack[] ingredients) { + ItemStack[] copy = ItemStackUtil.carefulCopyArrayTruncate(array, start, end); + + AStack[] req = new AStack[ingredients.length]; + + for(int i = 0; i < req.length; i++) { + req[i] = ingredients[i] == null ? null : ingredients[i].copy(); + } + + for(AStack ingredient : req) { + for(ItemStack input : copy) { + if(ingredient.matchesRecipe(input, true)) { + int size = Math.min(input.stackSize, ingredient.stacksize); + + //TODO: yada yada yada + } + } + + return false; + } + + return true; + } } diff --git a/src/main/java/com/hbm/util/ItemStackUtil.java b/src/main/java/com/hbm/util/ItemStackUtil.java index f2f50debf..f2eaa87b5 100644 --- a/src/main/java/com/hbm/util/ItemStackUtil.java +++ b/src/main/java/com/hbm/util/ItemStackUtil.java @@ -14,6 +14,56 @@ public class ItemStackUtil { else return stack.copy(); } + + /** + * Runs carefulCopy over the entire ItemStack array. + * @param array + * @return + */ + public static ItemStack[] carefulCopyArray(ItemStack[] array) { + return carefulCopyArray(array, 0, array.length - 1); + } + + /** + * Recreates the ItemStack array and only runs carefulCopy over the supplied range. All other fields remain null. + * @param array + * @param start + * @param end + * @return + */ + public static ItemStack[] carefulCopyArray(ItemStack[] array, int start, int end) { + if(array == null) + return null; + + ItemStack[] copy = new ItemStack[array.length]; + + for(int i = start; i <= end; i++) { + copy[i] = carefulCopy(array[i]); + } + + return copy; + } + + /** + * Creates a new array that only contains the copied range. + * @param array + * @param start + * @param end + * @return + */ + public static ItemStack[] carefulCopyArrayTruncate(ItemStack[] array, int start, int end) { + if(array == null) + return null; + + int length = end - start + 1; + ItemStack[] copy = new ItemStack[length]; + + for(int i = 0; i < length; i++) { + copy[i] = carefulCopy(array[start + i]); + } + + return copy; + } /** * UNSAFE! Will ignore all existing display tags and override them! In its current state, only fit for items we know don't have any display tags! diff --git a/src/main/resources/assets/hbm/textures/items/parts_legendary.png b/src/main/resources/assets/hbm/textures/items/parts_legendary.png new file mode 100644 index 0000000000000000000000000000000000000000..55fb0bd03a10d89ef3d8ee43808c7b71aaa0b504 GIT binary patch literal 500 zcmV(j;e^)B8dewUY*_x*gIpYT5v z_>Kg=BmeX_@E!T}?Tsvwfowml3P88pl`ssY2wWrsStJ8vQUdt={*aq=j)t4fCaqSB zFbw4~2>{sXJT_*l)dszOgR_erDedl`TW1&F1>n`&x#f9N6ZtX;==F#En7=b1z{$~& zG`#`9Dyq}-Jh5$?dv}i6xL;?p{VWHL;%jukQjx)AGO+-`-h$I(?p6-@^zk$Y>c52< zENAlb>uUhoPhQgLbaITjWJj~Re{L zK@IB}Ysq*l853OBrCcuOBLu!9A4X5*U~gRx_SVf>%XlnlyDcwl+mxh~lEM=7I*;P( q+^m