Buggy code:
public class EnergyCollectorTileEntity extends GenericTileEntity { public static final float CRYSTAL_MIN_POWER = 1.0E-5F ; public static int MAXTICKS = 20 ; private Set < Coordinate > crystals = new HashSet < Coordinate > ( ) ; private boolean lasersActive = false ; private int laserStartup = 0 ; private int radiationUpdateCount = EnergyCollectorTileEntity . MAXTICKS ; private int networkID = - 1 ; public EnergyCollectorTileEntity ( ) { } @ Override protected void checkStateServer ( ) { boolean active = false ; int startup = 0 ; DRGeneratorNetwork . Network network = null ; TileEntity te = worldObj . getTileEntity ( xCoord , ( ( yCoord ) - 1 ) , zCoord ) ; if ( te instanceof GeneratorTileEntity ) { GeneratorTileEntity generatorTileEntity = ( ( GeneratorTileEntity ) ( te ) ) ; DRGeneratorNetwork generatorNetwork = DRGeneratorNetwork . getChannels ( worldObj ) ; if ( ( networkID ) != ( generatorTileEntity . getNetworkId ( ) ) ) { if ( ( networkID ) != ( - 1 ) ) { generatorNetwork . getOrCreateNetwork ( networkID ) . decCollectorBlocks ( ) ; } networkID = generatorTileEntity . getNetworkId ( ) ; generatorTileEntity . getNetwork ( ) . incCollectorBlocks ( ) ; generatorNetwork . save ( worldObj ) ; } network = generatorTileEntity . getNetwork ( ) ; if ( network != null ) { if ( network . isActive ( ) ) { int rfPerTick = calculateRF ( ) ; network . setLastRfPerTick ( rfPerTick ) ; int newEnergy = ( network . getEnergy ( ) ) + rfPerTick ; int maxEnergy = ( network . getGeneratorBlocks ( ) ) * ( GeneratorConfiguration . rfPerGeneratorBlock ) ; if ( newEnergy > maxEnergy ) { newEnergy = maxEnergy ; } if ( ( network . getEnergy ( ) ) != newEnergy ) { network . setEnergy ( newEnergy ) ; generatorNetwork . save ( worldObj ) ; } active = true ; } else { network . setLastRfPerTick ( 0 ) ; } startup = network . getStartupCounter ( ) ; } } else { if ( ( networkID ) != ( - 1 ) ) { networkID = - 1 ; markDirty ( ) ; } } if ( ( active != ( lasersActive ) ) || ( startup != ( laserStartup ) ) ) { boolean doFind = ( ( lasersActive ) != active ) || ( ( laserStartup ) > ( ( GeneratorConfiguration . startupTime ) - 5 ) ) ; lasersActive = active ; laserStartup = startup ; markDirty ( ) ; worldObj . markBlockForUpdate ( xCoord , yCoord , zCoord ) ; <START_BUG> if ( doFind ) { <END_BUG> findCrystals ( network ) ; } } } public void disableCrystalGlow ( ) { } private int calculateRF ( ) { } public void addCrystal ( int x , int y , int z ) { } private static int ERROR_TOOMANYCRYSTALS = - 1 ; private static int ERROR_TOOMUCHPOWER = - 2 ; private int addCrystal ( int x , int y , int z , DRGeneratorNetwork . Network network , Set < Coordinate > newCrystals , Set < Coordinate > oldCrystals , int maxSupportedRF ) { } private void findCrystals ( DRGeneratorNetwork . Network network ) { } public Set < Coordinate > getCrystals ( ) { } public boolean areLasersActive ( ) { } public int getLaserStartup ( ) { } public int getNetworkID ( ) { } public void setNetworkID ( int networkID ) { } @ Override public void readFromNBT ( NBTTagCompound tagCompound ) { } @ Override public void writeToNBT ( NBTTagCompound tagCompound ) { } @ Override public boolean shouldRenderInPass ( int pass ) { } @ SideOnly ( Side . CLIENT ) @ Override public AxisAlignedBB getRenderBoundingBox ( ) { } }

Fix:
if ( doFind && ( te instanceof GeneratorTileEntity ) ) {