public int getTier() {
    if (tier == -1 && worldObj != null) {
      tier = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
      if (tank == null) {
        tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME * (16 * (tier + 1)));
      }
      super.setMaxStorage(2 * (tier + 1));
    }

    return tier;
  }
  @Override
  public void readFromNBT(NBTTagCompound tagCompound) {
    super.readFromNBT(tagCompound);

    setTier(tagCompound.getInteger("tier"));
    NBTTagCompound tankCompound = tagCompound.getCompoundTag("tank");
    if (tankCompound != null) {
      tank = tank.readFromNBT(tankCompound);
    }

    facing = ForgeDirection.getOrientation(tagCompound.getInteger("facing"));

    lavaUsage = tagCompound.getInteger("lavaUsage");
    isRunning = tagCompound.getBoolean("isRunning");
  }
  @Override
  public void writeToNBT(NBTTagCompound tagCompound) {
    super.writeToNBT(tagCompound);

    tagCompound.setInteger("tier", getTier());
    if (tank != null) {
      NBTTagCompound inventoryCompound = new NBTTagCompound();
      tank.writeToNBT(inventoryCompound);
      tagCompound.setTag("tank", inventoryCompound);
    }

    tagCompound.setInteger("facing", facing.ordinal());

    tagCompound.setInteger("lavaUsage", lavaUsage);
    tagCompound.setBoolean("isRunning", isRunning);
  }
 @Override
 public void validate() {
   super.validate();
 }
 public TileHydraulicLavaPump(int tier) {
   super(2 * (tier + 1));
   super.init(this);
 }
 public TileHydraulicLavaPump() {
   super(2);
   super.init(this);
 }
 public void setTier(int tier) {
   if (tank == null) {
     tank = new FluidTank(FluidContainerRegistry.BUCKET_VOLUME * (16 * (tier + 1)));
   }
   super.setMaxStorage(2 * (tier + 1));
 }