diff options
-rw-r--r-- | src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java | 45 |
1 files changed, 5 insertions, 40 deletions
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 480367095c..b499e2c55e 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -83,47 +83,12 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { } } -// Implementation using Java built in sort algorithm -// Uses terribad string comparison to sort against. Would be better if we did something else? - protected void sortStacks() { - Arrays.sort(this.mInventory, new Comparator<ItemStack>() { - @Override - // Taken from https://gist.github.com/Choonster/876acc3217229e172e46 - public int compare(ItemStack o1, ItemStack o2) { - if( o2 == null ) - return -1; - if( o1 == null ) - return 1; - Item item1 = o1.getItem(); - Item item2 = o2.getItem(); - - if(item1 instanceof ItemBlock) { - if (!(item2 instanceof ItemBlock)) - return -1; // If item1 is a block and item2 isn't, sort item1 before item2 - } else if (item2 instanceof ItemBlock) - return 1; // If item2 is a block and item1 isn't, sort item1 after item2 - - int id1 = Item.getIdFromItem( item1 ); - int id2 = Item.getIdFromItem( item2 ); - if ( id1 < id2 ) { - return -1; - } - if ( id1 > id2 ) { - return 1; - } - - id1 = o1.getItemDamage(); - id2 = o2.getItemDamage(); - - return Integer.compare(id1, id2); - } - }); - } - @Override - protected void fillStacksIntoFirstSlots() { - sortStacks(); - super.fillStacksIntoFirstSlots(); + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { + if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { + fillStacksIntoFirstSlots(); + } + super.onPostTick(aBaseMetaTileEntity, aTimer); } @Override |