package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource { public FluidTank tank; public int mode = 0; public int age = 0; public List list = new ArrayList(); public TileEntityBarrel(int capacity) { super(6); tank = new FluidTank(FluidType.NONE, capacity, 0); } @Override public String getName() { return "container.barrel"; } @Override public void updateEntity() { if(!worldObj.isRemote) { tank.setType(0, 1, slots); tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); } } @Override public void setFillstate(int fill, int index) { tank.setFill(fill); } @Override public void setType(FluidType type, int index) { tank.setTankType(type); } @Override public int getMaxFluidFill(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @Override public void fillFluidInit(FluidType type) { fillFluid(this.xCoord, this.yCoord + 1, this.zCoord, getTact(), type); fillFluid(this.xCoord, this.yCoord - 1, this.zCoord, getTact(), type); } @Override public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { Library.transmitFluid(x, y, z, newTact, this, worldObj, type); } @Override public boolean getTact() { if (age >= 0 && age < 10) { return true; } return false; } @Override public int getFluidFill(FluidType type) { return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0; } @Override public void setFluidFill(int i, FluidType type) { if(type.name().equals(tank.getTankType().name())) tank.setFill(i); } @Override public List getFluidList(FluidType type) { return this.list; } @Override public void clearFluidList(FluidType type) { this.list.clear(); } @Override public List getTanks() { List list = new ArrayList(); list.add(tank); return list; } }