TileTank.getTanks() now returns a composite tank
This should fix tank triggers not working on BlockTank.
This commit is contained in:
parent
eb735ec1f6
commit
aaa35f0c5e
1 changed files with 22 additions and 1 deletions
|
@ -204,6 +204,27 @@ public class TileTank extends TileBuildCraft implements ITankContainer
|
|||
@Override
|
||||
public ILiquidTank[] getTanks()
|
||||
{
|
||||
return new ILiquidTank[]{tank};
|
||||
ILiquidTank compositeTank = new LiquidTank(tank.getCapacity());
|
||||
|
||||
TileTank tile = getBottomTank();
|
||||
|
||||
if(tile != null && tile.tank.getLiquid() != null)
|
||||
compositeTank.setLiquid(tile.tank.getLiquid().copy());
|
||||
else
|
||||
return new ILiquidTank[]{compositeTank};
|
||||
|
||||
tile = getTankAbove(tile);
|
||||
|
||||
while(tile != null){
|
||||
|
||||
if(tile.tank.getLiquid() == null || !compositeTank.getLiquid().isLiquidEqual(tile.tank.getLiquid()))
|
||||
break;
|
||||
|
||||
compositeTank.getLiquid().amount += tile.tank.getLiquid().amount;
|
||||
|
||||
tile = getTankAbove(tile);
|
||||
}
|
||||
|
||||
return new ILiquidTank[]{compositeTank};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue