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:
parent
5af51d85dc
commit
81717a4acc
2 changed files with 5 additions and 4 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue