Fix interface bugs
This commit is contained in:
		@@ -52,10 +52,12 @@ public class TileInterface extends TileMachine implements ICompareConfig {
 | 
			
		||||
        } else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
 | 
			
		||||
            int size = RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1;
 | 
			
		||||
 | 
			
		||||
            if (controller.push(slot, size, true) == null) {
 | 
			
		||||
                controller.push(slot, size, false);
 | 
			
		||||
            ItemStack remainder = controller.push(slot, size, false);
 | 
			
		||||
 | 
			
		||||
            if (remainder == null) {
 | 
			
		||||
                importItems.extractItem(currentSlot, size, false);
 | 
			
		||||
            } else {
 | 
			
		||||
                importItems.extractItem(currentSlot, size - remainder.stackSize, false);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,7 @@ import net.minecraft.nbt.NBTTagList;
 | 
			
		||||
import net.minecraft.util.EnumFacing;
 | 
			
		||||
import net.minecraftforge.common.util.Constants;
 | 
			
		||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
 | 
			
		||||
import net.minecraftforge.items.ItemHandlerHelper;
 | 
			
		||||
import refinedstorage.RefinedStorage;
 | 
			
		||||
import refinedstorage.RefinedStorageBlocks;
 | 
			
		||||
import refinedstorage.RefinedStorageUtils;
 | 
			
		||||
@@ -411,6 +412,15 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // We copy here because push can not modify the stack
 | 
			
		||||
        // if we return the remainder (that will not be copied if there are no storages)
 | 
			
		||||
        // user code can do something with the uncopied remainder.
 | 
			
		||||
        if (storages.isEmpty()) {
 | 
			
		||||
            return ItemHandlerHelper.copyStackWithSize(stack, size);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        int orginalSize = size;
 | 
			
		||||
 | 
			
		||||
        ItemStack remainder = stack;
 | 
			
		||||
 | 
			
		||||
        for (IStorage storage : storages) {
 | 
			
		||||
@@ -427,11 +437,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
 | 
			
		||||
            syncItems();
 | 
			
		||||
            syncItemsWithClients();
 | 
			
		||||
 | 
			
		||||
            int sizePushed = stack.stackSize;
 | 
			
		||||
 | 
			
		||||
            if (remainder != null) {
 | 
			
		||||
                sizePushed = stack.stackSize - remainder.stackSize;
 | 
			
		||||
            }
 | 
			
		||||
            int sizePushed = remainder != null ? (orginalSize - remainder.stackSize) : orginalSize;
 | 
			
		||||
 | 
			
		||||
            for (int i = 0; i < sizePushed; ++i) {
 | 
			
		||||
                if (!craftingTasks.empty()) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user