From a1ed4a5a4de9566477417ab259d0e1b46162533e Mon Sep 17 00:00:00 2001 From: Rseifert Date: Thu, 3 Jan 2013 07:34:57 -0500 Subject: [PATCH] BugFix: Fixed Tanks to drain correctly Though it was the release valve but it turns out the Storage tanks needed coding to drain themselves after giving the release valve the liquid ammount present. Other than that the rest of the changes are just renaming from past push --- .../liquidmechanics/api/ITankOutputer.java | 6 +- .../{LiquidHelper.java => Liquid.java} | 32 ++++---- .../liquidmechanics/api/helpers/MHelper.java | 4 +- .../client/render/RenderPipe.java | 6 +- .../client/render/RenderPump.java | 4 +- .../client/render/RenderTank.java | 4 +- .../common/LiquidMechanics.java | 26 +++---- .../common/MetaGroupingHelper.java | 72 +++++++++--------- .../common/block/BlockMachine.java | 12 +-- .../common/item/ItemEValve.java | 8 +- .../liquidmechanics/common/item/ItemPipe.java | 8 +- .../liquidmechanics/common/item/ItemTank.java | 8 +- .../common/tileentity/TileEntityPipe.java | 20 ++--- .../common/tileentity/TileEntityPump.java | 38 +++++----- .../tileentity/TileEntityReleaseValve.java | 18 ++--- .../common/tileentity/TileEntityTank.java | 73 ++++++++++++------- 16 files changed, 177 insertions(+), 162 deletions(-) rename minecraft/liquidmechanics/api/helpers/{LiquidHelper.java => Liquid.java} (80%) diff --git a/minecraft/liquidmechanics/api/ITankOutputer.java b/minecraft/liquidmechanics/api/ITankOutputer.java index 8c82ec7c..3ca1f3ee 100644 --- a/minecraft/liquidmechanics/api/ITankOutputer.java +++ b/minecraft/liquidmechanics/api/ITankOutputer.java @@ -1,6 +1,6 @@ package liquidmechanics.api; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.liquids.ITankContainer; @@ -11,7 +11,7 @@ public interface ITankOutputer extends ITankContainer * @param dir - direction pressure is being request to output * @return pressure if can output for the type or direction */ - public int presureOutput(LiquidHelper type, ForgeDirection dir); + public int presureOutput(Liquid type, ForgeDirection dir); /** * Quick way to check if the TE will output pressure @@ -20,5 +20,5 @@ public interface ITankOutputer extends ITankContainer * @param dir - direction * @return */ - public boolean canPressureToo(LiquidHelper type, ForgeDirection dir); + public boolean canPressureToo(Liquid type, ForgeDirection dir); } diff --git a/minecraft/liquidmechanics/api/helpers/LiquidHelper.java b/minecraft/liquidmechanics/api/helpers/Liquid.java similarity index 80% rename from minecraft/liquidmechanics/api/helpers/LiquidHelper.java rename to minecraft/liquidmechanics/api/helpers/Liquid.java index e7390826..e96bc6ab 100644 --- a/minecraft/liquidmechanics/api/helpers/LiquidHelper.java +++ b/minecraft/liquidmechanics/api/helpers/Liquid.java @@ -13,7 +13,7 @@ import net.minecraftforge.liquids.LiquidStack; * @author Rseifert * */ -public enum LiquidHelper +public enum Liquid { // -1 == null || unused STEAM("Steam", LiquidDictionary.getOrCreateLiquid("Steam", new LiquidStack(LiquidMechanics.blockSteamBlock, 1)), true, 100), @@ -26,7 +26,7 @@ public enum LiquidHelper public final int defaultPresure; public final LiquidStack liquid; - private LiquidHelper(String name, LiquidStack stack, boolean gas, int dPressure) + private Liquid(String name, LiquidStack stack, boolean gas, int dPressure) { this.displayerName = name; this.liquid = stack; @@ -37,7 +37,7 @@ public enum LiquidHelper /** * creates a new liquid stack using basic liquid type and the volume needed */ - public static LiquidStack getStack(LiquidHelper type, int vol) + public static LiquidStack getStack(Liquid type, int vol) { return new LiquidStack(type.liquid.itemID, vol, type.liquid.itemMeta); } @@ -45,13 +45,13 @@ public enum LiquidHelper /** * gets a liquid type from a liquidStack */ - public static LiquidHelper getLiquid(LiquidStack stack) + public static Liquid getLiquid(LiquidStack stack) { - for (int i = 0; i < LiquidHelper.values().length - 1; i++) + for (int i = 0; i < Liquid.values().length - 1; i++) { - if (LiquidHelper.isStackEqual(stack, LiquidHelper.values()[i])) { return LiquidHelper.values()[i]; } + if (Liquid.isStackEqual(stack, Liquid.values()[i])) { return Liquid.values()[i]; } } - return LiquidHelper.DEFUALT; + return Liquid.DEFUALT; } /** @@ -62,9 +62,9 @@ public enum LiquidHelper * of liquid * @return Liquid Object */ - public static LiquidHelper getLiquid(int id) + public static Liquid getLiquid(int id) { - if (id >= 0 && id < LiquidHelper.values().length) { return LiquidHelper.values()[id]; } + if (id >= 0 && id < Liquid.values().length) { return Liquid.values()[id]; } return DEFUALT; } @@ -74,18 +74,18 @@ public enum LiquidHelper * @param bBlock * @return */ - public static LiquidHelper getLiquidTypeByBlock(int bBlock) + public static Liquid getLiquidTypeByBlock(int bBlock) { if (bBlock == Block.waterMoving.blockID) - return LiquidHelper.DEFUALT; + return Liquid.DEFUALT; if (bBlock == Block.lavaMoving.blockID) - return LiquidHelper.DEFUALT; - for (int i = 0; i < LiquidHelper.values().length - 1; i++) + return Liquid.DEFUALT; + for (int i = 0; i < Liquid.values().length - 1; i++) { - LiquidHelper selected = LiquidHelper.getLiquid(i); + Liquid selected = Liquid.getLiquid(i); if (bBlock == selected.liquid.itemID) { return selected; } } - return LiquidHelper.DEFUALT; + return Liquid.DEFUALT; } public static LiquidStack getLiquidFromBlock(int blockId) @@ -108,7 +108,7 @@ public enum LiquidHelper * @param type * @return */ - public static boolean isStackEqual(LiquidStack stack, LiquidHelper type) + public static boolean isStackEqual(LiquidStack stack, Liquid type) { if (stack == null) return false; diff --git a/minecraft/liquidmechanics/api/helpers/MHelper.java b/minecraft/liquidmechanics/api/helpers/MHelper.java index 0ee951d5..495a9153 100644 --- a/minecraft/liquidmechanics/api/helpers/MHelper.java +++ b/minecraft/liquidmechanics/api/helpers/MHelper.java @@ -48,7 +48,7 @@ public class MHelper return 0; LiquidStack liquid = resource.copy(); TileEntity[] connected = MHelper.getSourounding(world, center.intX(), center.intY(), center.intZ()); - LiquidHelper type = LiquidHelper.getLiquid(liquid); + Liquid type = Liquid.getLiquid(liquid); ForgeDirection firstTrade = ForgeDirection.UP; if (!type.doesFlaot) firstTrade = ForgeDirection.DOWN; @@ -63,7 +63,7 @@ public class MHelper boolean validTank = false; for (int t = 0; t < tanks.length; t++) { - if (tanks[t].getLiquid() != null && LiquidHelper.isStackEqual(tanks[t].getLiquid(), liquid)) + if (tanks[t].getLiquid() != null && Liquid.isStackEqual(tanks[t].getLiquid(), liquid)) { validTank = true; break; diff --git a/minecraft/liquidmechanics/client/render/RenderPipe.java b/minecraft/liquidmechanics/client/render/RenderPipe.java index 6e1eaf4f..196377bc 100644 --- a/minecraft/liquidmechanics/client/render/RenderPipe.java +++ b/minecraft/liquidmechanics/client/render/RenderPipe.java @@ -1,6 +1,6 @@ package liquidmechanics.client.render; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.client.model.ModelLargePipe; import liquidmechanics.client.model.ModelPipe; import liquidmechanics.common.LiquidMechanics; @@ -13,7 +13,7 @@ import org.lwjgl.opengl.GL11; public class RenderPipe extends TileEntitySpecialRenderer { - private LiquidHelper type = LiquidHelper.DEFUALT; + private Liquid type = Liquid.DEFUALT; private ModelPipe fourPipe; private ModelLargePipe SixPipe; private TileEntity[] ents = new TileEntity[6]; @@ -40,7 +40,7 @@ public class RenderPipe extends TileEntitySpecialRenderer } - public void render(LiquidHelper type, TileEntity[] ents) + public void render(Liquid type, TileEntity[] ents) { switch (type.ordinal()) diff --git a/minecraft/liquidmechanics/client/render/RenderPump.java b/minecraft/liquidmechanics/client/render/RenderPump.java index 0b2d22a2..19584910 100644 --- a/minecraft/liquidmechanics/client/render/RenderPump.java +++ b/minecraft/liquidmechanics/client/render/RenderPump.java @@ -1,6 +1,6 @@ package liquidmechanics.client.render; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.client.model.ModelPump; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.tileentity.TileEntityPump; @@ -22,7 +22,7 @@ public class RenderPump extends TileEntitySpecialRenderer public void renderAModelAt(TileEntityPump tileEntity, double d, double d1, double d2, float f) { - LiquidHelper type = tileEntity.type; + Liquid type = tileEntity.type; int meta = tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); switch (type.ordinal()) { diff --git a/minecraft/liquidmechanics/client/render/RenderTank.java b/minecraft/liquidmechanics/client/render/RenderTank.java index 12a7ff24..96928e45 100644 --- a/minecraft/liquidmechanics/client/render/RenderTank.java +++ b/minecraft/liquidmechanics/client/render/RenderTank.java @@ -1,6 +1,6 @@ package liquidmechanics.client.render; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.api.helpers.MHelper; import liquidmechanics.client.model.ModelLiquidTank; import liquidmechanics.client.model.ModelLiquidTankCorner; @@ -15,7 +15,7 @@ import org.lwjgl.opengl.GL11; public class RenderTank extends TileEntitySpecialRenderer { - private LiquidHelper type = LiquidHelper.DEFUALT; + private Liquid type = Liquid.DEFUALT; private ModelLiquidTank model; private ModelLiquidTankCorner modelC; private int pos = 0; diff --git a/minecraft/liquidmechanics/common/LiquidMechanics.java b/minecraft/liquidmechanics/common/LiquidMechanics.java index f72d233f..33ebcd00 100644 --- a/minecraft/liquidmechanics/common/LiquidMechanics.java +++ b/minecraft/liquidmechanics/common/LiquidMechanics.java @@ -2,7 +2,7 @@ package liquidmechanics.common; import java.io.File; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.common.block.BlockReleaseValve; import liquidmechanics.common.block.BlockGenerator; import liquidmechanics.common.block.BlockPipe; @@ -149,15 +149,15 @@ public class LiquidMechanics extends DummyModContainer GameRegistry.registerTileEntity(TileEntityGenerator.class, "Generator"); // Liquid Item/Block common name writer - for (int i = 0; i < LiquidHelper.values().length; i++) + for (int i = 0; i < Liquid.values().length; i++) { // eValves - LanguageRegistry.addName((new ItemStack(blockReleaseValve, 1, i)), LiquidHelper.getLiquid(i).displayerName + " Release Valve"); + LanguageRegistry.addName((new ItemStack(blockReleaseValve, 1, i)), Liquid.getLiquid(i).displayerName + " Release Valve"); // pipes - LanguageRegistry.addName((new ItemStack(itemPipes, 1, i)), LiquidHelper.getLiquid(i).displayerName + " Pipe"); + LanguageRegistry.addName((new ItemStack(itemPipes, 1, i)), Liquid.getLiquid(i).displayerName + " Pipe"); // Storage Tanks - LanguageRegistry.addName((new ItemStack(itemTank, 1, i)), LiquidHelper.getLiquid(i).displayerName + " Tank"); + LanguageRegistry.addName((new ItemStack(itemTank, 1, i)), Liquid.getLiquid(i).displayerName + " Tank"); } for (int i = 0; i < ItemParts.Parts.values().length; i++) @@ -181,7 +181,7 @@ public class LiquidMechanics extends DummyModContainer public void PostInit(FMLPostInitializationEvent event) { proxy.postInit(); - TabLiquidMechanics.setItemStack(new ItemStack(itemPipes, 1, LiquidHelper.WATER.ordinal())); + TabLiquidMechanics.setItemStack(new ItemStack(itemPipes, 1, Liquid.WATER.ordinal())); // generator CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(this.blockGenerator, 1), new Object[] { "@T@", "OVO", "@T@", 'T', new ItemStack(LiquidMechanics.blockRod, 1), '@', "plateSteel", 'O', "basicCircuit", 'V', "motor" })); // pipe gauge @@ -205,11 +205,11 @@ public class LiquidMechanics extends DummyModContainer GameRegistry.addRecipe(new ItemStack(blockRod, 1), new Object[] { "I@I", 'I', Item.ingotIron, '@', new ItemStack(itemParts, 1, Parts.Iron.ordinal()) }); // steam pipe - GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, LiquidHelper.STEAM.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Iron.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()) }); + GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, Liquid.STEAM.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Iron.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()) }); // water pipe - GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, LiquidHelper.WATER.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Iron.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 4) }); + GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, Liquid.WATER.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Iron.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 4) }); // lava pipe - GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, LiquidHelper.LAVA.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Obby.ordinal()), new ItemStack(Item.dyePowder, 1, 1) }); + GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, Liquid.LAVA.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Obby.ordinal()), new ItemStack(Item.dyePowder, 1, 1) }); /* * GameRegistry.addShapelessRecipe(new ItemStack(itemPipes, 1, Liquid.OIL.ordinal()), new * Object[] { new ItemStack(parts, 1, basicParts.Iron.ordinal()), new ItemStack(parts, 1, @@ -219,11 +219,11 @@ public class LiquidMechanics extends DummyModContainer * basicParts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 11) }); */ // steam tank - GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, LiquidHelper.STEAM.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 15) }); + GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, Liquid.STEAM.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 15) }); // water tank - GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, LiquidHelper.WATER.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 4) }); + GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, Liquid.WATER.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), new ItemStack(itemParts, 1, Parts.Seal.ordinal()), new ItemStack(Item.dyePowder, 1, 4) }); // lava tank - GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, LiquidHelper.LAVA.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), Block.obsidian, Block.obsidian, Block.obsidian, Block.obsidian }); + GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, Liquid.LAVA.ordinal()), new Object[] { new ItemStack(itemParts, 1, Parts.Tank.ordinal()), Block.obsidian, Block.obsidian, Block.obsidian, Block.obsidian }); /* * GameRegistry.addShapelessRecipe(new ItemStack(itemTank, 1, Liquid.OIL.ordinal()), new * Object[] { new ItemStack(parts, 1, basicParts.Tank.ordinal()), new ItemStack(parts, 1, @@ -237,7 +237,7 @@ public class LiquidMechanics extends DummyModContainer GameRegistry.addRecipe(new ItemStack(blockMachine, 1, 0), new Object[] { "@T@", "BPB", "@P@", '@', new ItemStack(Item.ingotIron, 2), 'B', new ItemStack(itemParts, 1, Parts.Valve.ordinal()), 'P', new ItemStack(Block.pistonBase), 'T', new ItemStack(itemParts, 1, Parts.Tank.ordinal()) }); // eVavles - for (int i = 0; i < LiquidHelper.values().length - 1; i++) + for (int i = 0; i < Liquid.values().length - 1; i++) { GameRegistry.addRecipe(new ItemStack(blockMachine, 1, i), new Object[] { " P ", "PVP", " P ", 'P', new ItemStack(itemPipes, 1, i), 'V', new ItemStack(itemParts, 1, Parts.Valve.ordinal()), }); } diff --git a/minecraft/liquidmechanics/common/MetaGroupingHelper.java b/minecraft/liquidmechanics/common/MetaGroupingHelper.java index bafd7850..1c61137f 100644 --- a/minecraft/liquidmechanics/common/MetaGroupingHelper.java +++ b/minecraft/liquidmechanics/common/MetaGroupingHelper.java @@ -3,47 +3,47 @@ package liquidmechanics.common; public class MetaGroupingHelper { - public static int getFacingMeta(int metaData) + public static int getFacingMeta(int metaData) - { - /* 20 */int meta = metaData % 4; - /* 21 */int newMeta = 0; - /* 22 */switch (meta) - { - case 0: - /* 25 */newMeta = 2; - /* 26 */break; - case 1: - /* 28 */newMeta = 5; - /* 29 */break; - case 2: - /* 31 */newMeta = 3; - /* 32 */break; - case 3: - /* 34 */newMeta = 4; - } + { + int meta = metaData % 4; + int newMeta = 0; + switch (meta) + { + case 0: + newMeta = 2; + break; + case 1: + newMeta = 5; + break; + case 2: + newMeta = 3; + break; + case 3: + newMeta = 4; + } - /* 38 */return newMeta; - } + return newMeta; + } - public static int getGrouping(int meta) + public static int getGrouping(int meta) - { - /* 46 */if ((meta >= 0) && (meta <= 3)) - return 0; - /* 47 */if ((meta >= 4) && (meta <= 7)) - return 1; - /* 48 */if ((meta >= 8) && (meta <= 11)) - return 2; - /* 49 */if ((meta >= 12) && (meta <= 15)) - return 3; - /* 50 */return 0; - } + { + if ((meta >= 0) && (meta <= 3)) + return 0; + if ((meta >= 4) && (meta <= 7)) + return 1; + if ((meta >= 8) && (meta <= 11)) + return 2; + if ((meta >= 12) && (meta <= 15)) + return 3; + return 0; + } - public static int getGroupStartMeta(int grouping) + public static int getGroupStartMeta(int grouping) - { - /* 58 */return grouping * 4; - } + { + return grouping * 4; + } } \ No newline at end of file diff --git a/minecraft/liquidmechanics/common/block/BlockMachine.java b/minecraft/liquidmechanics/common/block/BlockMachine.java index f94d22c2..08cccc0e 100644 --- a/minecraft/liquidmechanics/common/block/BlockMachine.java +++ b/minecraft/liquidmechanics/common/block/BlockMachine.java @@ -1,6 +1,6 @@ package liquidmechanics.common.block; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.client.render.BlockRenderHelper; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.TabLiquidMechanics; @@ -64,7 +64,7 @@ public class BlockMachine extends BlockContainer if (filled != 0 && !entityplayer.capabilities.isCreativeMode) { - entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, LiquidHelper.consumeItem(current)); + entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, Liquid.consumeItem(current)); } return true; @@ -91,12 +91,12 @@ public class BlockMachine extends BlockContainer return false; else { - entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, LiquidHelper.consumeItem(current)); + entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, Liquid.consumeItem(current)); } } else { - entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, LiquidHelper.consumeItem(current)); + entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, Liquid.consumeItem(current)); entityplayer.inventory.setInventorySlotContents(entityplayer.inventory.currentItem, liquidItem); } } @@ -111,10 +111,6 @@ public class BlockMachine extends BlockContainer return false; } - - /** - * The type of render function that is called for this block - */ @Override public int getRenderType() { diff --git a/minecraft/liquidmechanics/common/item/ItemEValve.java b/minecraft/liquidmechanics/common/item/ItemEValve.java index 10290eae..380d0f0f 100644 --- a/minecraft/liquidmechanics/common/item/ItemEValve.java +++ b/minecraft/liquidmechanics/common/item/ItemEValve.java @@ -2,7 +2,7 @@ package liquidmechanics.common.item; import java.util.List; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.tileentity.TileEntityReleaseValve; @@ -38,7 +38,7 @@ public class ItemEValve extends ItemBlock @Override public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < LiquidHelper.values().length - 1; i++) + for (int i = 0; i < Liquid.values().length - 1; i++) { par3List.add(new ItemStack(this, 1, i)); } @@ -114,9 +114,9 @@ public class ItemEValve extends ItemBlock if (blockEntity instanceof TileEntityReleaseValve) { TileEntityReleaseValve pipeEntity = (TileEntityReleaseValve) blockEntity; - LiquidHelper dm = LiquidHelper.getLiquid(itemstack.getItemDamage()); + Liquid dm = Liquid.getLiquid(itemstack.getItemDamage()); pipeEntity.setType(dm); - pipeEntity.tank.setLiquid(LiquidHelper.getStack(dm, 1)); + pipeEntity.tank.setLiquid(Liquid.getStack(dm, 1)); world.setBlockMetadata(x, y, z, dm.ordinal() & 15); } } diff --git a/minecraft/liquidmechanics/common/item/ItemPipe.java b/minecraft/liquidmechanics/common/item/ItemPipe.java index d04b251a..f03c79f4 100644 --- a/minecraft/liquidmechanics/common/item/ItemPipe.java +++ b/minecraft/liquidmechanics/common/item/ItemPipe.java @@ -2,7 +2,7 @@ package liquidmechanics.common.item; import java.util.List; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.TabLiquidMechanics; import liquidmechanics.common.tileentity.TileEntityPipe; @@ -40,13 +40,13 @@ public class ItemPipe extends Item @Override public String getItemNameIS(ItemStack itemstack) { - return itemstack.getItemDamage() < LiquidHelper.values().length ? LiquidHelper.getLiquid(itemstack.getItemDamage()).displayerName + " Pipe" : "Empty Pipe"; + return itemstack.getItemDamage() < Liquid.values().length ? Liquid.getLiquid(itemstack.getItemDamage()).displayerName + " Pipe" : "Empty Pipe"; } @Override public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < LiquidHelper.values().length - 1; i++) + for (int i = 0; i < Liquid.values().length - 1; i++) { par3List.add(new ItemStack(this, 1, i)); } @@ -120,7 +120,7 @@ public class ItemPipe extends Item if (blockEntity instanceof TileEntityPipe) { TileEntityPipe pipeEntity = (TileEntityPipe) blockEntity; - LiquidHelper dm = LiquidHelper.getLiquid(par1ItemStack.getItemDamage()); + Liquid dm = Liquid.getLiquid(par1ItemStack.getItemDamage()); pipeEntity.setType(dm); } } diff --git a/minecraft/liquidmechanics/common/item/ItemTank.java b/minecraft/liquidmechanics/common/item/ItemTank.java index 980b4e95..49a32b06 100644 --- a/minecraft/liquidmechanics/common/item/ItemTank.java +++ b/minecraft/liquidmechanics/common/item/ItemTank.java @@ -2,7 +2,7 @@ package liquidmechanics.common.item; import java.util.List; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.TabLiquidMechanics; import liquidmechanics.common.tileentity.TileEntityTank; @@ -40,13 +40,13 @@ public class ItemTank extends Item @Override public String getItemNameIS(ItemStack itemstack) { - return itemstack.getItemDamage() < LiquidHelper.values().length ? LiquidHelper.getLiquid(itemstack.getItemDamage()).displayerName + " Tank" : "unknown"; + return itemstack.getItemDamage() < Liquid.values().length ? Liquid.getLiquid(itemstack.getItemDamage()).displayerName + " Tank" : "unknown"; } @Override public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < LiquidHelper.values().length; i++) + for (int i = 0; i < Liquid.values().length; i++) { par3List.add(new ItemStack(this, 1, i)); } @@ -120,7 +120,7 @@ public class ItemTank extends Item if (blockEntity instanceof TileEntityTank) { TileEntityTank pipeEntity = (TileEntityTank) blockEntity; - LiquidHelper dm = LiquidHelper.getLiquid(par1ItemStack.getItemDamage()); + Liquid dm = Liquid.getLiquid(par1ItemStack.getItemDamage()); pipeEntity.setType(dm); } } diff --git a/minecraft/liquidmechanics/common/tileentity/TileEntityPipe.java b/minecraft/liquidmechanics/common/tileentity/TileEntityPipe.java index 952437eb..75eee4a4 100644 --- a/minecraft/liquidmechanics/common/tileentity/TileEntityPipe.java +++ b/minecraft/liquidmechanics/common/tileentity/TileEntityPipe.java @@ -2,7 +2,7 @@ package liquidmechanics.common.tileentity; import liquidmechanics.api.IReadOut; import liquidmechanics.api.ITankOutputer; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.api.helpers.MHelper; import liquidmechanics.common.LiquidMechanics; import net.minecraft.entity.player.EntityPlayer; @@ -25,7 +25,7 @@ import com.google.common.io.ByteArrayDataInput; public class TileEntityPipe extends TileEntity implements ITankContainer, IPacketReceiver, IReadOut { - public LiquidHelper type = LiquidHelper.DEFUALT; + public Liquid type = Liquid.DEFUALT; private int count = 20; private int count2, presure = 0; @@ -105,13 +105,13 @@ public class TileEntityPipe extends TileEntity implements ITankContainer, IPacke } // returns liquid type - public LiquidHelper getType() + public Liquid getType() { return this.type; } // used by the item to set the liquid type on spawn - public void setType(LiquidHelper rType) + public void setType(Liquid rType) { this.type = rType; } @@ -124,7 +124,7 @@ public class TileEntityPipe extends TileEntity implements ITankContainer, IPacke { try { - this.setType(LiquidHelper.getLiquid(data.readInt())); + this.setType(Liquid.getLiquid(data.readInt())); } catch (Exception e) { @@ -140,9 +140,9 @@ public class TileEntityPipe extends TileEntity implements ITankContainer, IPacke public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - this.type = LiquidHelper.getLiquid(par1NBTTagCompound.getInteger("type")); + this.type = Liquid.getLiquid(par1NBTTagCompound.getInteger("type")); int vol = par1NBTTagCompound.getInteger("liquid"); - this.stored.setLiquid(LiquidHelper.getStack(type, vol)); + this.stored.setLiquid(Liquid.getStack(type, vol)); } /** @@ -178,8 +178,8 @@ public class TileEntityPipe extends TileEntity implements ITankContainer, IPacke public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) { LiquidStack stack = stored.getLiquid(); - if (stack == null) stored.setLiquid(LiquidHelper.getStack(this.type, 1)); - if (stack != null && LiquidHelper.isStackEqual(resource, this.type)) return fill(0, resource, doFill); + if (stack == null) stored.setLiquid(Liquid.getStack(this.type, 1)); + if (stack != null && Liquid.isStackEqual(resource, this.type)) return fill(0, resource, doFill); return 0; } @@ -224,7 +224,7 @@ public class TileEntityPipe extends TileEntity implements ITankContainer, IPacke { if (entity instanceof TileEntityPipe) { - if (((TileEntityPipe) entity).type == this.type && this.type != LiquidHelper.DEFUALT) { return true; } + if (((TileEntityPipe) entity).type == this.type && this.type != Liquid.DEFUALT) { return true; } } return false; } diff --git a/minecraft/liquidmechanics/common/tileentity/TileEntityPump.java b/minecraft/liquidmechanics/common/tileentity/TileEntityPump.java index 738fd996..3e110b1b 100644 --- a/minecraft/liquidmechanics/common/tileentity/TileEntityPump.java +++ b/minecraft/liquidmechanics/common/tileentity/TileEntityPump.java @@ -4,7 +4,7 @@ import java.util.EnumSet; import liquidmechanics.api.IReadOut; import liquidmechanics.api.ITankOutputer; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.common.LiquidMechanics; import liquidmechanics.common.MetaGroupingHelper; @@ -39,7 +39,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa int disableTimer = 0; int count = 0; - public LiquidHelper type = LiquidHelper.DEFUALT; + public Liquid type = Liquid.DEFUALT; public LiquidTank tank = new LiquidTank(wMax); @Override @@ -89,12 +89,12 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa if (count-- <= 0) { int bBlock = worldObj.getBlockId(xCoord, yCoord - 1, zCoord); - LiquidHelper bellow = LiquidHelper.getLiquidTypeByBlock(bBlock); + Liquid bellow = Liquid.getLiquidTypeByBlock(bBlock); if (bellow != null) { - if (this.type != bellow && bellow != LiquidHelper.DEFUALT) + if (this.type != bellow && bellow != Liquid.DEFUALT) { - this.tank.setLiquid(LiquidHelper.getStack(bellow, 0)); + this.tank.setLiquid(Liquid.getStack(bellow, 0)); this.type = bellow; } @@ -103,7 +103,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa } if (this.tank.getLiquid() == null) { - this.tank.setLiquid(LiquidHelper.getStack(this.type, 1)); + this.tank.setLiquid(Liquid.getStack(this.type, 1)); } LiquidStack stack = tank.getLiquid(); @@ -193,7 +193,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa { int bBlock = worldObj.getBlockId(loc.intX(), loc.intY(), loc.intZ()); int meta = worldObj.getBlockMetadata(loc.intX(), loc.intY(), loc.intZ()); - LiquidHelper bellow = LiquidHelper.getLiquidTypeByBlock(bBlock); + Liquid bellow = Liquid.getLiquidTypeByBlock(bBlock); if (bBlock == Block.waterMoving.blockID || (bBlock == Block.waterStill.blockID && meta != 0)) return false; if (bBlock == Block.lavaMoving.blockID || (bBlock == Block.lavaStill.blockID && meta != 0)) @@ -202,7 +202,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa { // FMLLog.info("pumping " + bellow.displayerName + " blockID:" + bBlock + " Meta:" + // meta); - int f = this.tank.fill(LiquidHelper.getStack(this.type, LiquidContainerRegistry.BUCKET_VOLUME), true); + int f = this.tank.fill(Liquid.getStack(this.type, LiquidContainerRegistry.BUCKET_VOLUME), true); if (f > 0) worldObj.setBlockWithNotify(loc.intX(), loc.intY(), loc.intZ(), 0); percentPumped = 0; @@ -216,7 +216,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa { try { - this.type = (LiquidHelper.getLiquid(data.readInt())); + this.type = (Liquid.getLiquid(data.readInt())); } catch (Exception e) { @@ -233,8 +233,8 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa { super.readFromNBT(par1NBTTagCompound); int stored = par1NBTTagCompound.getInteger("liquid"); - this.type = LiquidHelper.getLiquid(par1NBTTagCompound.getInteger("type")); - this.tank.setLiquid(LiquidHelper.getStack(this.type, stored)); + this.type = Liquid.getLiquid(par1NBTTagCompound.getInteger("type")); + this.tank.setLiquid(Liquid.getStack(this.type, stored)); } /** @@ -261,7 +261,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa } else { - liquid = -10; + liquid = 0; } return liquid + "" + type.displayerName + " " + this.joulesReceived + "W " + this.percentPumped + "/20"; } @@ -306,7 +306,7 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa } @Override - public int presureOutput(LiquidHelper type, ForgeDirection dir) + public int presureOutput(Liquid type, ForgeDirection dir) { if (type == this.type) return type.defaultPresure; @@ -314,18 +314,20 @@ public class TileEntityPump extends TileEntityElectricityReceiver implements IPa } @Override - public boolean canPressureToo(LiquidHelper type, ForgeDirection dir) + public boolean canPressureToo(Liquid type, ForgeDirection dir) { if (type == this.type) return true; return false; } - + /** + * Checks to see if the given block type is valid for pumping + * @param block + * @return + */ private boolean isValidLiquid(Block block) { - if (block == null) - return false; - return LiquidHelper.getLiquidFromBlock(block.blockID) != null; + return Liquid.getLiquidFromBlock(block.blockID) != null; } } diff --git a/minecraft/liquidmechanics/common/tileentity/TileEntityReleaseValve.java b/minecraft/liquidmechanics/common/tileentity/TileEntityReleaseValve.java index 232a654a..6cf2994d 100644 --- a/minecraft/liquidmechanics/common/tileentity/TileEntityReleaseValve.java +++ b/minecraft/liquidmechanics/common/tileentity/TileEntityReleaseValve.java @@ -2,7 +2,7 @@ package liquidmechanics.common.tileentity; import liquidmechanics.api.IReadOut; import liquidmechanics.api.ITankOutputer; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.api.helpers.MHelper; import liquidmechanics.common.block.BlockReleaseValve; import net.minecraft.entity.player.EntityPlayer; @@ -18,7 +18,7 @@ import universalelectricity.prefab.implement.IRedstoneReceptor; public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, IReadOut, IRedstoneReceptor { - public LiquidHelper type = LiquidHelper.DEFUALT; + public Liquid type = Liquid.DEFUALT; public LiquidTank tank = new LiquidTank(LiquidContainerRegistry.BUCKET_VOLUME); public TileEntity[] connected = new TileEntity[6]; private int count = 0; @@ -34,7 +34,7 @@ public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, BlockReleaseValve.checkForPower(worldObj, xCoord, yCoord, zCoord); if (tank.getLiquid() == null) { - tank.setLiquid(LiquidHelper.getStack(this.type, 1)); + tank.setLiquid(Liquid.getStack(this.type, 1)); } if (tank.getLiquid() != null && tank.getLiquid().amount < tank.getCapacity() && !isPowered) { @@ -47,7 +47,7 @@ public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, for (int t = 0; t < tanks.length; t++) { LiquidStack ll = tanks[t].getLiquid(); - if (ll != null && LiquidHelper.isStackEqual(ll, this.type)) + if (ll != null && Liquid.isStackEqual(ll, this.type)) { int drainVol = tank.getCapacity() - tank.getLiquid().amount - 1; LiquidStack drained = ((ITankContainer) connected[i]).drain(t, drainVol, true); @@ -112,14 +112,14 @@ public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, } @Override - public int presureOutput(LiquidHelper type, ForgeDirection dir) + public int presureOutput(Liquid type, ForgeDirection dir) { if (type == this.type) { return type.defaultPresure; } return 0; } @Override - public boolean canPressureToo(LiquidHelper type, ForgeDirection dir) + public boolean canPressureToo(Liquid type, ForgeDirection dir) { if (type == this.type) return true; @@ -143,9 +143,9 @@ public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - this.type = LiquidHelper.getLiquid(par1NBTTagCompound.getInteger("type")); + this.type = Liquid.getLiquid(par1NBTTagCompound.getInteger("type")); int vol = par1NBTTagCompound.getInteger("liquid"); - this.tank.setLiquid(LiquidHelper.getStack(type, vol)); + this.tank.setLiquid(Liquid.getStack(type, vol)); } /** @@ -163,7 +163,7 @@ public class TileEntityReleaseValve extends TileEntity implements ITankOutputer, par1NBTTagCompound.setInteger("type", this.type.ordinal()); } - public void setType(LiquidHelper dm) + public void setType(Liquid dm) { this.type = dm; diff --git a/minecraft/liquidmechanics/common/tileentity/TileEntityTank.java b/minecraft/liquidmechanics/common/tileentity/TileEntityTank.java index 388a388d..a8caacad 100644 --- a/minecraft/liquidmechanics/common/tileentity/TileEntityTank.java +++ b/minecraft/liquidmechanics/common/tileentity/TileEntityTank.java @@ -2,7 +2,7 @@ package liquidmechanics.common.tileentity; import liquidmechanics.api.IReadOut; import liquidmechanics.api.ITankOutputer; -import liquidmechanics.api.helpers.LiquidHelper; +import liquidmechanics.api.helpers.Liquid; import liquidmechanics.api.helpers.MHelper; import liquidmechanics.common.LiquidMechanics; import net.minecraft.entity.player.EntityPlayer; @@ -26,7 +26,7 @@ import com.google.common.io.ByteArrayDataInput; public class TileEntityTank extends TileEntity implements IPacketReceiver, IReadOut, ITankOutputer { public TileEntity[] cc = { null, null, null, null, null, null }; - public LiquidHelper type = LiquidHelper.DEFUALT; + public Liquid type = Liquid.DEFUALT; public static final int LMax = 4; private int count = 0; private int count2 = 0; @@ -38,7 +38,7 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead { if (tank.getLiquid() == null) { - tank.setLiquid(LiquidHelper.getStack(this.type, 1)); + tank.setLiquid(Liquid.getStack(this.type, 1)); } LiquidStack liquid = tank.getLiquid(); @@ -68,21 +68,17 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead if (stack != null) return output; - return "0/0 " + this.type.displayerName; + return "0/4 " + this.type.displayerName; } @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - this.type = LiquidHelper.getLiquid(par1NBTTagCompound.getInteger("type")); + this.type = Liquid.getLiquid(par1NBTTagCompound.getInteger("type")); int vol = par1NBTTagCompound.getInteger("liquid"); - this.tank.setLiquid(LiquidHelper.getStack(type, vol)); + this.tank.setLiquid(Liquid.getStack(type, vol)); } - - /** - * Writes a tile entity to NBT. - */ @Override public void writeToNBT(NBTTagCompound par1NBTTagCompound) { @@ -100,8 +96,8 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead { try { - this.type = LiquidHelper.getLiquid(data.readInt()); - this.tank.setLiquid(LiquidHelper.getStack(this.type, data.readInt())); + this.type = Liquid.getLiquid(data.readInt()); + this.tank.setLiquid(Liquid.getStack(this.type, data.readInt())); } catch (Exception e) { @@ -114,13 +110,13 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead // ---------------------------- // Liquid stuff // ---------------------------- - public void setType(LiquidHelper dm) + public void setType(Liquid dm) { this.type = dm; } - public LiquidHelper getType() + public Liquid getType() { return this.type; } @@ -128,7 +124,7 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead @Override public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) { - if (!LiquidHelper.isStackEqual(resource, type)) + if (!Liquid.isStackEqual(resource, type)) return 0; return this.fill(0, resource, doFill); } @@ -141,7 +137,7 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead if (this.isFull()) { int change = 1; - if (LiquidHelper.getLiquid(resource).doesFlaot) + if (Liquid.getLiquid(resource).doesFlaot) change = -1; TileEntity tank = worldObj.getBlockTileEntity(xCoord, yCoord + change, zCoord); if (tank instanceof TileEntityTank) { return ((TileEntityTank) tank).tank.fill(resource, doFill); } @@ -149,7 +145,10 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead this.doUpdate = true; return this.tank.fill(resource, doFill); } - + /** + * find out if this tank is actual full or not + * @return + */ public boolean isFull() { if (this.tank.getLiquid() == null) @@ -158,7 +157,11 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead return false; return true; } - + /** + * finds the first fillable tank in either direction + * @param top - search up + * @return + */ public TileEntityTank getFillAbleTank(boolean top) { TileEntityTank tank = this; @@ -196,10 +199,17 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead @Override public LiquidStack drain(int tankIndex, int maxDrain, boolean doDrain) { - if (tankIndex != 0) - return null; - this.doUpdate = true; - return this.tank.getLiquid(); + if (tankIndex != 0) {return null;} + LiquidStack stack = this.tank.getLiquid(); + if(maxDrain <= this.tank.getLiquid().amount) + { + stack = Liquid.getStack(type, maxDrain); + } + if(doDrain) + { + this.tank.drain(maxDrain, doDrain); + } + return stack; } @Override @@ -215,7 +225,7 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead } @Override - public int presureOutput(LiquidHelper type, ForgeDirection dir) + public int presureOutput(Liquid type, ForgeDirection dir) { if (type == this.type) { @@ -228,7 +238,7 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead } @Override - public boolean canPressureToo(LiquidHelper type, ForgeDirection dir) + public boolean canPressureToo(Liquid type, ForgeDirection dir) { if (type == this.type) { @@ -239,7 +249,11 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead } return false; } - + /** + * cause this TE to trade liquid down if + * the liquid is in liquid state or up + * if in gas state. + */ public void tradeDown() { if (this.tank.getLiquid() == null || this.tank.getLiquid().amount <= 0) @@ -251,7 +265,10 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead this.tank.drain(f, true); } } - + /** + * Cause this TE to trade liquid with + * the Tanks around it to level off + */ public void tradeArround() { if (this.tank.getLiquid() == null || this.tank.getLiquid().amount <= 0) @@ -282,11 +299,11 @@ public class TileEntityTank extends TileEntity implements IPacketReceiver, IRead LiquidStack filling = this.tank.getLiquid(); if (stack == null) { - filling = LiquidHelper.getStack(this.type, equalVol); + filling = Liquid.getStack(this.type, equalVol); } else if (stack.amount < equalVol) { - filling = LiquidHelper.getStack(this.type, equalVol - stack.amount); + filling = Liquid.getStack(this.type, equalVol - stack.amount); } else {