Fixed Bug: #0758 - Infinite smelting

This commit is contained in:
AlgorithmX2
2014-07-29 20:02:51 -05:00
parent 3be3cac4cd
commit f5ba33dda5
+11 -5
View File
@@ -741,8 +741,8 @@ public class DualityInterface implements IGridTickable, ISegmentedInventory, ISt
TileEntity tile = iHost.getTileEntity(); TileEntity tile = iHost.getTileEntity();
World w = tile.getWorldObj(); World w = tile.getWorldObj();
boolean allAreBusy=true; boolean allAreBusy = true;
for (ForgeDirection s : possibleDirections) for (ForgeDirection s : possibleDirections)
{ {
TileEntity te = w.getTileEntity( tile.xCoord + s.offsetX, tile.yCoord + s.offsetY, tile.zCoord + s.offsetZ ); TileEntity te = w.getTileEntity( tile.xCoord + s.offsetX, tile.yCoord + s.offsetY, tile.zCoord + s.offsetZ );
@@ -757,7 +757,7 @@ public class DualityInterface implements IGridTickable, ISegmentedInventory, ISt
} }
} }
} }
busy = allAreBusy; busy = allAreBusy;
} }
@@ -814,7 +814,7 @@ public class DualityInterface implements IGridTickable, ISegmentedInventory, ISt
if ( ad.simulateRemove( 1, null, null ) != null ) if ( ad.simulateRemove( 1, null, null ) != null )
continue; continue;
} }
if ( acceptsItems( ad, table ) ) if ( acceptsItems( ad, table ) )
{ {
for (int x = 0; x < table.getSizeInventory(); x++) for (int x = 0; x < table.getSizeInventory(); x++)
@@ -876,7 +876,13 @@ public class DualityInterface implements IGridTickable, ISegmentedInventory, ISt
InventoryAdaptor ad = InventoryAdaptor.getAdaptor( te, s.getOpposite() ); InventoryAdaptor ad = InventoryAdaptor.getAdaptor( te, s.getOpposite() );
if ( ad != null ) if ( ad != null )
{ {
whatToSend = ad.addItems( whatToSend ); ItemStack Result = ad.addItems( whatToSend );
if ( Result == null )
whatToSend = null;
else
whatToSend.stackSize -= whatToSend.stackSize - Result.stackSize;
if ( whatToSend == null ) if ( whatToSend == null )
break; break;
} }