Fixed fill/drain bug with tanks

spent an hour looking for that bug and it turned out to be a missing !
(FacePalm). Though it did lead me to correct a missing ForgeDirection in
the on block activated code.
This commit is contained in:
Rseifert 2013-03-31 03:24:24 -04:00
parent 5af51d85dc
commit 81717a4acc
2 changed files with 5 additions and 4 deletions

View file

@ -82,7 +82,7 @@ public class BlockTank extends BlockAdvanced
{
liquid = new LiquidStack(liquid.itemID, (LiquidContainerRegistry.BUCKET_VOLUME / 4), liquid.itemMeta);
}
int filled = tank.fill(ForgeDirection.UNKNOWN, liquid, true);
int filled = tank.fill(ForgeDirection.getOrientation(side), liquid, true);
if (filled != 0 && !entityplayer.capabilities.isCreativeMode)
{
@ -127,7 +127,7 @@ public class BlockTank extends BlockAdvanced
{
ammount = (LiquidContainerRegistry.BUCKET_VOLUME / 4);
}
tank.drain(null, ammount, true);
tank.drain(ForgeDirection.getOrientation(side), ammount, true);
return true;
}
}

View file

@ -21,7 +21,7 @@ import net.minecraftforge.liquids.LiquidTank;
public abstract class TileEntityFluidStorage extends TileEntityFluidDevice implements ITankContainer, IColorCoded
{
/* INTERNAL TANK */
public LiquidTank tank = new LiquidTank(getTankSize());
public LiquidTank tank = new LiquidTank(this.getTankSize());
/* FLUID FILL AND DRAIN RULES */
private EnumSet<ForgeDirection> fillableSides = EnumSet.allOf(ForgeDirection.class);
private EnumSet<ForgeDirection> drainableSides = EnumSet.allOf(ForgeDirection.class);
@ -54,6 +54,7 @@ public abstract class TileEntityFluidStorage extends TileEntityFluidDevice imple
@Override
public int fill(ForgeDirection from, LiquidStack resource, boolean doFill)
{
if (fillableSides.contains(from))
{
return this.fill(0, resource, doFill);
@ -72,7 +73,7 @@ public abstract class TileEntityFluidStorage extends TileEntityFluidDevice imple
{
return 0;
}
else if (this.tank.getLiquid() != null && resource.isLiquidEqual(this.tank.getLiquid()))
else if (this.tank.getLiquid() != null && !resource.isLiquidEqual(this.tank.getLiquid()))
{
return 0;
}