Buggy code:
} if ( ( ( ( numPlayersUsing ) == 0 ) && ( ( lidAngle ) > 0.0F ) ) || ( ( ( numPlayersUsing ) > 0 ) && ( ( lidAngle ) < 1.0F ) ) ) { float var8 = lidAngle ; if ( ( numPlayersUsing ) > 0 ) { lidAngle += angleIncrement ; } else { lidAngle -= angleIncrement ; } if ( ( lidAngle ) > 1.0F ) { lidAngle = 1.0F ; } if ( ( ( lidAngle ) < 0.5F ) && ( var8 >= 0.5F ) ) { adjustedXCoord = ( xCoord ) + 0.5 ; adjustedZCoord = ( zCoord ) + 0.5 ; worldObj . playSoundEffect ( adjustedXCoord , ( ( yCoord ) + 0.5 ) , adjustedZCoord , CHEST_CLOSE , 0.5F , ( ( ( rand . nextFloat ( ) ) * 0.1F ) + 0.9F ) ) ; } if ( ( lidAngle ) < 0.0F ) { lidAngle = 0.0F ; } } if ( ! ( worldObj . isRemote ) ) { if ( running ) { if ( ( currentY ) <= ( opDepth ) ) { if ( ( currentLayer ) != null ) { if ( ! ( currentLayer . isEmpty ( ) ) ) { if ( ( cooldown ) <= 0 ) { if ( this . hasInventorySpace ( ) ) { Iterator < String > iter = currentLayer . keySet ( ) . iterator ( ) ; String locationEncoded = iter . next ( ) ; String [ ] location = locationEncoded . split ( ";" ) ; ArrayList < ItemStack > drops = currentLayer . get ( locationEncoded ) ; ArrayList < ItemStack > checkDrops = worldObj . getBlock ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) . getDrops ( worldObj , Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) , worldObj . getBlockMetadata ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) , 0 ) ; boolean possibleMatch = false ; int matchedItems = 0 ; int totalItems = 0 ; for ( ItemStack stack : checkDrops ) { for ( ItemStack stackA : drops ) { if ( ItemHelper . equalsIgnoreStackSize ( stack , stackA ) ) { possibleMatch = true ; matchedItems ++ ; } } totalItems ++ ; } <START_BUG> if ( ( ( checkDrops . size ( ) ) > ( drops . size ( ) ) ) || ( ( matchedItems // totalItems ) < 0.75 ) ) { <END_BUG> possibleMatch = false ; } if ( ! possibleMatch ) { drops = checkDrops ; } if ( ( ( worldObj . getTileEntity ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) ) != null ) && ( ( worldObj . getTileEntity ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) ) instanceof IInventory ) ) { TinyStorageLog . info ( "Found<seq2seq4repair_space>an<seq2seq4repair_space>inventory" ) ; IInventory inventoryToCheck = ( ( IInventory ) ( worldObj . getTileEntity ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) ) ) ; for ( int i = 0 ; i < ( inventoryToCheck . getSizeInventory ( ) ) ; i ++ ) { if ( ( ( inventoryToCheck . getStackInSlot ( i ) ) != null ) && ( ( inventoryToCheck . getStackInSlot ( i ) . stackSize ) > 0 ) ) { drops . add ( inventoryToCheck . getStackInSlot ( i ) . copy ( ) ) ; inventoryToCheck . setInventorySlotContents ( i , null ) ; } } } if ( drops != null ) { for ( ItemStack item : drops ) { TinyStorageLog . info ( item . getItem ( ) . getUnlocalizedName ( ) ) ; ItemStack item1 = InventoryHelper . invInsert ( this , item , 0 ) ; if ( ( item1 != null ) && ( ( item1 . stackSize ) != 0 ) ) { WorldHelper . spawnEntityItemWithRandomMovement ( item1 , worldObj , xCoord , yCoord , zCoord ) ; } } } worldObj . notifyBlockOfNeighborChange ( Integer . parseInt ( location [ 0 ] ) , ( ( Integer . parseInt ( location [ 1 ] ) ) + 1 ) , Integer . parseInt ( location [ 2 ] ) , worldObj . getBlock ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) ) ; worldObj . setBlockToAir ( Integer . parseInt ( location [ 0 ] ) , Integer . parseInt ( location [ 1 ] ) , Integer . parseInt ( location [ 2 ] ) ) ; currentLayer . remove ( locationEncoded ) ; } cooldown = 60 - ( ( int ) ( ( ( getInventoryMass ( ) ) // ( ( getSizeInventory ( ) ) * 64 ) ) * 60 ) ) ; blockBreakCooldown = cooldown ; } else { Iterator < String > iter = currentLayer . keySet ( ) . iterator ( ) ; String locationEncoded = iter . next ( ) ; String [ ] location = locationEncoded . split ( ";"

Fix:
if ( ( ( checkDrops . size ( ) ) > ( drops . size ( ) ) ) || ( ( ( matchedItems > 0 ) && ( ( matchedItems // totalItems ) < 0.75 ) ) && possibleMatch ) ) {