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
This commit is contained in:
Rseifert 2013-01-03 07:34:57 -05:00
parent 3eb57983d2
commit a1ed4a5a4d
16 changed files with 177 additions and 162 deletions

View file

@ -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);
}

View file

@ -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;

View file

@ -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;

View file

@ -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())

View file

@ -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())
{

View file

@ -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;

View file

@ -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()), });
}

View file

@ -6,44 +6,44 @@ public class MetaGroupingHelper
public static int getFacingMeta(int metaData)
{
/* 20 */int meta = metaData % 4;
/* 21 */int newMeta = 0;
/* 22 */switch (meta)
int meta = metaData % 4;
int newMeta = 0;
switch (meta)
{
case 0:
/* 25 */newMeta = 2;
/* 26 */break;
newMeta = 2;
break;
case 1:
/* 28 */newMeta = 5;
/* 29 */break;
newMeta = 5;
break;
case 2:
/* 31 */newMeta = 3;
/* 32 */break;
newMeta = 3;
break;
case 3:
/* 34 */newMeta = 4;
newMeta = 4;
}
/* 38 */return newMeta;
return newMeta;
}
public static int getGrouping(int meta)
{
/* 46 */if ((meta >= 0) && (meta <= 3))
if ((meta >= 0) && (meta <= 3))
return 0;
/* 47 */if ((meta >= 4) && (meta <= 7))
if ((meta >= 4) && (meta <= 7))
return 1;
/* 48 */if ((meta >= 8) && (meta <= 11))
if ((meta >= 8) && (meta <= 11))
return 2;
/* 49 */if ((meta >= 12) && (meta <= 15))
if ((meta >= 12) && (meta <= 15))
return 3;
/* 50 */return 0;
return 0;
}
public static int getGroupStartMeta(int grouping)
{
/* 58 */return grouping * 4;
return grouping * 4;
}
}

View file

@ -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()
{

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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;

View file

@ -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
{