From b92214e8641f4eb617e2c78f4f80c4f688b08b32 Mon Sep 17 00:00:00 2001 From: Rseifert Date: Fri, 29 Mar 2013 14:05:18 -0400 Subject: [PATCH] updated LiquidHandler's comments and methods Still need to work on this and maybe break it up into better classes. --- .../common/machines/TileEntityMinorPump.java | 27 ++------ .../core/liquidNetwork/LiquidHandler.java | 64 ++++++++++++------- 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/src/minecraft/fluidmech/common/machines/TileEntityMinorPump.java b/src/minecraft/fluidmech/common/machines/TileEntityMinorPump.java index 50487dbb9..4145bc0fe 100644 --- a/src/minecraft/fluidmech/common/machines/TileEntityMinorPump.java +++ b/src/minecraft/fluidmech/common/machines/TileEntityMinorPump.java @@ -142,8 +142,10 @@ public class TileEntityMinorPump extends TileEntityElectricityRunnable implement double amps = (this.WATTS_PER_TICK / this.getVoltage()); return new ElectricityPack(amps, this.getVoltage()); } + /** * checks to see if this pump can pump the selected target block + * * @param x y z - location of the block, use the tileEntities world * @return true if it can pump */ @@ -152,26 +154,11 @@ public class TileEntityMinorPump extends TileEntityElectricityRunnable implement int blockID = worldObj.getBlockId(x, y, z); int meta = worldObj.getBlockMetadata(x, y, z); - LiquidData resource = LiquidHandler.getFromBlockID(blockID); + LiquidData resource = LiquidHandler.getFromBlockAndMetadata(blockID, meta); ITankContainer fillTarget = getFillTarget(); - if (fillTarget == null || fillTarget.fill(pipeConnection, this.color.getLiquidData().getStack(), false) == 0) - { - return false; - } - else if ((LiquidHandler.getFromBlockID(worldObj.getBlockId(x, y, z)) == null || LiquidHandler.getFromBlockID(worldObj.getBlockId(x, y, z)) == LiquidHandler.unkown)) - { - return false; - } - else if (blockID == Block.waterMoving.blockID || blockID == Block.lavaMoving.blockID) - { - return false; - } - else if (blockID == Block.waterStill.blockID || blockID == Block.waterStill.blockID) - { - - } + // TODO redo this return true; } @@ -186,7 +173,7 @@ public class TileEntityMinorPump extends TileEntityElectricityRunnable implement int blockID = worldObj.getBlockId(loc.intX(), loc.intY(), loc.intZ()); int meta = worldObj.getBlockMetadata(loc.intX(), loc.intY(), loc.intZ()); - LiquidData resource = LiquidHandler.getFromBlockID(blockID); + LiquidData resource = LiquidHandler.getFromBlockAndMetadata(blockID, meta); if (color.isValidLiquid(resource.getStack()) && meta == 0 && getFillTarget().fill(pipeConnection, resource.getStack(), false) != 0) { @@ -194,7 +181,7 @@ public class TileEntityMinorPump extends TileEntityElectricityRunnable implement LiquidStack stack = resource.getStack(); stack.amount = LiquidContainerRegistry.BUCKET_VOLUME; int fillAmmount = getFillTarget().fill(pipeConnection, this.color.getLiquidData().getStack(), true); - + if (fillAmmount > 0) { worldObj.setBlockAndMetadataWithNotify(xCoord, yCoord - 1, zCoord, 0, 0, 3); @@ -228,7 +215,7 @@ public class TileEntityMinorPump extends TileEntityElectricityRunnable implement } @Override - public boolean canConnect(ForgeDirection dir,TileEntity entity, LiquidStack... stacks) + public boolean canConnect(ForgeDirection dir, TileEntity entity, LiquidStack... stacks) { if (dir == this.pipeConnection.getOpposite()) { diff --git a/src/minecraft/hydraulic/core/liquidNetwork/LiquidHandler.java b/src/minecraft/hydraulic/core/liquidNetwork/LiquidHandler.java index 14b585d1b..1b9b8ea09 100644 --- a/src/minecraft/hydraulic/core/liquidNetwork/LiquidHandler.java +++ b/src/minecraft/hydraulic/core/liquidNetwork/LiquidHandler.java @@ -92,6 +92,10 @@ public class LiquidHandler * Gets the LiquidData linked to the liquid by name * * @param name - String name, not case sensitive + * + * @return the data + * + * Note: @LiquidHandler.unkown is the same as null and should be treated that way. */ public static LiquidData get(String name) { @@ -105,6 +109,14 @@ public class LiquidHandler return unkown; } + /** + * Gets the LiquidData linked to the liquidStack + * + * @param stack - @LiquidStack + * @return the data + * + * Note: @LiquidHandler.unkown is the same as null and should be treated that way. + */ public static LiquidData get(LiquidStack stack) { for (LiquidData data : LiquidHandler.allowedLiquids) @@ -118,8 +130,11 @@ public class LiquidHandler } /** - * gets the name of the liquidStack using either LiquidData or running threw the LiquidDirectory - * mapping + * Gets the name of a LiquidStack using the LiquidData name or Value hidden in the LiquidStack + * map stored at @LiquidDictionary + * + * @param stack - @LiquidStack + * @return - (String) Name of the Stack or unkown if one couldn't be found */ public static String getName(LiquidStack stack) { @@ -142,17 +157,27 @@ public class LiquidHandler } /** - * creates a new LiquidStack using type and vol + * Creates a new LiquidStack using the sample stack from the data + * + * @param liquidData - liquidData being used to create the stack + * @param vol - amount or volume of the stack + * @return a new @LiquidStack */ - public static LiquidStack getStack(LiquidData type, int vol) + public static LiquidStack getStack(LiquidData liquidData, int vol) { - if (type == null) + if (liquidData == null) + { return null; - return new LiquidStack(type.getStack().itemID, vol, type.getStack().itemMeta); + } + return new LiquidStack(liquidData.getStack().itemID, vol, liquidData.getStack().itemMeta); } /** - * creates a new LiquidStack using a liquidStack and vol + * Creates a new LiquidStack using the sample stack + * + * @param stack - liquidLiquid being used to create the stack + * @param vol - amount or volume of the stack + * @return a new @LiquidStack */ public static LiquidStack getStack(LiquidStack stack, int vol) { @@ -163,25 +188,18 @@ public class LiquidHandler return new LiquidStack(stack.itemID, vol, stack.itemMeta); } - public static int getMeta(LiquidData stack) - { - if (stack != null && stack != unkown) - { - return stack.getColor().ordinal(); - } - return 15; - } - - public static LiquidData getFromMeta(int meta) - { - return ColorCode.get(meta).getLiquidData(); - } - - public static LiquidData getFromBlockID(int id) + /** + * gets the LiquidData from the blockID and metadata + * + * @param blockID - id used to reference the block in @Block + * @param blockMeta - the blocks sub id from 0-15. -1 will ignore metadata + * @return LiquidData if there is one for this block or unkown in place of null/not found + */ + public static LiquidData getFromBlockAndMetadata(int blockID, int blockMeta) { for (LiquidData data : allowedLiquids) { - if (data.getStack().itemID == id) + if (data.getStack().itemID == blockID) { return data; }