Buggy code:
public class TileRefinery extends TileBase implements IPipeConnection , IMultiBlockTile , IUpgradableMachine , ITankHolder , IEnergyReceiver , IFluidHandler { public int energy ; public int maxEnergy ; public int currentHeat ; public int requiredHeat ; public int energyCost ; public int heatTimer ; public int lastRequiredHeat ; public boolean init ; public boolean valve ; public boolean isCooling ; public boolean moved ; public TileRefinery master ; private Tank input = new RefineryRecipeTank ( "Input" , 3000 , this ) ; private Tank output = new Tank ( 3000 , this , "Output" ) ; private FluidStack outputFluidStack ; private FluidStack inputFluidStack ; private MultiBlockData data = new MultiBlockData ( ) . setPatern ( REFINERY ) ; protected Upgrades upgrades = new Upgrades ( 0 ) ; private String inputFluid ; private String outputFluid ; public TileRefinery ( ) { } public void updateEntity ( ) { } private void updateHeat ( ) { } private void updateRecipe ( ) { } @ Override public void makeMaster ( int rotationIndex ) { } public void findMaster ( ) { } @ Override public void invalidateMultiblock ( ) { } private void emptyTanks ( ) { } @ Override public boolean onBlockActivated ( EntityPlayer player ) { } @ Override public void readFromNBT ( NBTTagCompound tag ) { } @ Override public void writeToNBT ( NBTTagCompound tag ) { } @ Override public void formMultiblock ( int masterX , int masterY , int masterZ , int rotationIndex ) { } @ Override public void invalidateBlock ( ) { } @ Override public void moved ( ForgeDirection direction ) { } @ Override public int getMasterX ( ) { } @ Override public int getMasterY ( ) { } @ Override public int getMasterZ ( ) { } @ Override public int getRotationIndex ( ) { } @ Override public boolean isMaster ( ) { } @ Override public boolean isPartOfMultiblock ( ) { } @ Override public void setMasterX ( int masterX ) { } @ Override public void setMasterY ( int masterY ) { } @ Override public void setMasterZ ( int masterZ ) { } @ Override public void setIsMaster ( boolean isMaster ) { } @ Override public void setPartOfMultiBlock ( boolean partOfMultiBlock ) { } @ Override public void setRotationIndex ( int rotationIndex ) { } @ Override public int fill ( ForgeDirection from , FluidStack resource , boolean doFill ) { } public int realFill ( FluidStack resource , boolean doFill ) { } @ Override public FluidStack drain ( ForgeDirection from , FluidStack resource , boolean doDrain ) { } @ Override public FluidStack drain ( ForgeDirection from , int maxDrain , boolean doDrain ) { } public FluidStack realDrain ( int maxDrain , boolean doDrain ) { } @ Override public boolean canFill ( ForgeDirection from , Fluid fluid ) { } @ Override public boolean canDrain ( ForgeDirection from , Fluid fluid ) { } @ Override public FluidTankInfo [ ] getTankInfo ( ForgeDirection from ) { } public FluidTankInfo [ ] realGetTankInfo ( ) { } @ Override public int receiveEnergy ( ForgeDirection from , int maxReceive , boolean simulate ) { <START_BUG> if ( data . isMaster ) { <END_BUG> int recieved = maxReceive ; if ( recieved > ( ( maxEnergy ) - ( energy ) ) ) recieved = ( maxEnergy ) - ( energy ) ; if ( ! simulate ) energy += recieved ; return recieved ; } else { if ( ( master ) == null ) findMaster ( ) ; if ( ( master ) != null ) return master . receiveEnergy ( from , maxReceive , simulate ) ; } return 0 ; } @ Override public int getEnergyStored ( ForgeDirection from ) { } @ Override public int getMaxEnergyStored ( ForgeDirection from ) { } @ Override public boolean canConnectEnergy ( ForgeDirection from ) { } @ Override public Tank [ ] getTanks ( ) { } @ Override public ByteBuf writeToByteBuff ( ByteBuf buf ) { } @ Override public ByteBuf readFromByteBuff ( ByteBuf buf ) { } @ Override public ConnectOverride overridePipeConnection ( IPipeTile . PipeType type , ForgeDirection with ) { } @ Override public boolean canAcceptUpgrade ( EnumMachineUpgrades upgrade ) { } @ Override public void installUpgrade ( EnumMachineUpgrades upgrade ) { } @ Override public List < EnumMachineUpgrades > getIntalledUpgrades ( ) { } @ Override public void removeUpgrade ( ) { } public String getOutput ( ) { } public String getInput ( ) { } }

Fix:
if ( isMaster ( ) ) {