public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
   if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L)) {
     if (this.mTemperature <= 20) {
       this.mTemperature = 20;
       this.mLossTimer = 0;
     }
     if (++this.mLossTimer > 40) {
       this.mTemperature -= 1;
       this.mLossTimer = 0;
     }
     for (byte i = 1; (this.mSteam != null) && (i < 6); i = (byte) (i + 1)) {
       if (i != aBaseMetaTileEntity.getFrontFacing()) {
         IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
         if (tTileEntity != null) {
           FluidStack tDrained =
               aBaseMetaTileEntity.drain(
                   ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
           if (tDrained != null) {
             int tFilledAmount =
                 tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
             if (tFilledAmount > 0) {
               tTileEntity.fill(
                   ForgeDirection.getOrientation(i).getOpposite(),
                   aBaseMetaTileEntity.drain(
                       ForgeDirection.getOrientation(i), tFilledAmount, true),
                   true);
             }
           }
         }
       }
     }
     if (aTick % 10L == 0L) {
       if (this.mTemperature > 100) {
         if ((this.mFluid == null)
             || (!GT_ModHandler.isWater(this.mFluid))
             || (this.mFluid.amount <= 0)) {
           this.mHadNoWater = true;
         } else {
           if (this.mHadNoWater) {
             aBaseMetaTileEntity.doExplosion(2048L);
             return;
           }
           this.mFluid.amount -= 1;
           if (this.mSteam == null) {
             this.mSteam = GT_ModHandler.getSteam(150L);
           } else if (GT_ModHandler.isSteam(this.mSteam)) {
             this.mSteam.amount += 150;
           } else {
             this.mSteam = GT_ModHandler.getSteam(150L);
           }
         }
       } else {
         this.mHadNoWater = false;
       }
     }
     if ((this.mSteam != null) && (this.mSteam.amount > 32000)) {
       sendSound((byte) 1);
       this.mSteam.amount = 24000;
     }
     if ((this.mProcessingEnergy <= 0)
         && (aBaseMetaTileEntity.isAllowedToWork())
         && (this.mInventory[2] != null)) {
       if ((GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.gem.get(Materials.Coal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dust.get(Materials.Coal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Coal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.crushed.get(Materials.Coal)))) {
         this.mProcessingEnergy += 160;
         aBaseMetaTileEntity.decrStackSize(2, 1);
         if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
           aBaseMetaTileEntity.addStackToSlot(
               3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
         }
       } else if ((GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.gem.get(Materials.Charcoal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dust.get(Materials.Charcoal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Charcoal)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.crushed.get(Materials.Charcoal)))) {
         this.mProcessingEnergy += 160;
         aBaseMetaTileEntity.decrStackSize(2, 1);
         if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
           aBaseMetaTileEntity.addStackToSlot(
               3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
         }
       } else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], "fuelCoke")) {
         this.mProcessingEnergy += 640;
         aBaseMetaTileEntity.decrStackSize(2, 1);
         if (aBaseMetaTileEntity.getRandomNumber(2) == 0) {
           aBaseMetaTileEntity.addStackToSlot(
               3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
         }
       } else if ((GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite)))
           || (GT_OreDictUnificator.isItemStackInstanceOf(
               this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite)))) {
         this.mProcessingEnergy += 40;
         aBaseMetaTileEntity.decrStackSize(2, 1);
         if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
           aBaseMetaTileEntity.addStackToSlot(
               3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
         }
       }
     }
     if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
       this.mProcessingEnergy -= 2;
       this.mTemperature += 1;
     }
     aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
   }
 }