Fixes
This commit is contained in:
		@@ -99,7 +99,7 @@ public final class CompareUtils {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ((flags & COMPARE_NBT) == COMPARE_NBT) {
 | 
					        if ((flags & COMPARE_NBT) == COMPARE_NBT) {
 | 
				
			||||||
            if (!left.tag.equals(right)) {
 | 
					            if (left.tag != null && !left.tag.equals(right)) {
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,10 +35,10 @@ public class FluidGridHandler implements IFluidGridHandler {
 | 
				
			|||||||
                for (int i = 0; i < player.inventory.getSizeInventory(); ++i) {
 | 
					                for (int i = 0; i < player.inventory.getSizeInventory(); ++i) {
 | 
				
			||||||
                    ItemStack slot = player.inventory.getStackInSlot(i);
 | 
					                    ItemStack slot = player.inventory.getStackInSlot(i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (CompareUtils.compareStack(EMPTY_BUCKET, slot)) {
 | 
					                    if (CompareUtils.compareStackNoQuantity(EMPTY_BUCKET, slot)) {
 | 
				
			||||||
                        bucket = slot;
 | 
					                        bucket = EMPTY_BUCKET.copy();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        player.inventory.setInventorySlotContents(i, null);
 | 
					                        player.inventory.decrStackSize(i, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        break;
 | 
					                        break;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ import net.minecraft.nbt.NBTTagCompound;
 | 
				
			|||||||
import net.minecraft.nbt.NBTTagList;
 | 
					import net.minecraft.nbt.NBTTagList;
 | 
				
			||||||
import net.minecraft.tileentity.TileEntity;
 | 
					import net.minecraft.tileentity.TileEntity;
 | 
				
			||||||
import net.minecraftforge.fluids.FluidStack;
 | 
					import net.minecraftforge.fluids.FluidStack;
 | 
				
			||||||
 | 
					import refinedstorage.api.storage.CompareUtils;
 | 
				
			||||||
import refinedstorage.api.storage.fluid.IFluidStorage;
 | 
					import refinedstorage.api.storage.fluid.IFluidStorage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.annotation.Nullable;
 | 
					import javax.annotation.Nullable;
 | 
				
			||||||
@@ -138,8 +139,7 @@ public abstract class FluidStorageNBT implements IFluidStorage {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public FluidStack extractFluid(FluidStack stack, int size, int flags) {
 | 
					    public FluidStack extractFluid(FluidStack stack, int size, int flags) {
 | 
				
			||||||
        for (FluidStack otherStack : stacks) {
 | 
					        for (FluidStack otherStack : stacks) {
 | 
				
			||||||
            // @TODO: Use flags everywhere
 | 
					            if (CompareUtils.compareStack(otherStack, stack, flags)) {
 | 
				
			||||||
            if (otherStack.isFluidEqual(stack)) {
 | 
					 | 
				
			||||||
                if (size > otherStack.amount) {
 | 
					                if (size > otherStack.amount) {
 | 
				
			||||||
                    size = otherStack.amount;
 | 
					                    size = otherStack.amount;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ import net.minecraftforge.fluids.Fluid;
 | 
				
			|||||||
import net.minecraftforge.fluids.FluidStack;
 | 
					import net.minecraftforge.fluids.FluidStack;
 | 
				
			||||||
import refinedstorage.api.network.INetworkMaster;
 | 
					import refinedstorage.api.network.INetworkMaster;
 | 
				
			||||||
import refinedstorage.api.network.NetworkUtils;
 | 
					import refinedstorage.api.network.NetworkUtils;
 | 
				
			||||||
 | 
					import refinedstorage.api.storage.CompareUtils;
 | 
				
			||||||
import refinedstorage.api.storage.fluid.IFluidStorage;
 | 
					import refinedstorage.api.storage.fluid.IFluidStorage;
 | 
				
			||||||
import refinedstorage.api.storage.fluid.IFluidStorageProvider;
 | 
					import refinedstorage.api.storage.fluid.IFluidStorageProvider;
 | 
				
			||||||
import refinedstorage.api.storage.fluid.IGroupedFluidStorage;
 | 
					import refinedstorage.api.storage.fluid.IGroupedFluidStorage;
 | 
				
			||||||
@@ -86,7 +87,7 @@ public class GroupedFluidStorage implements IGroupedFluidStorage {
 | 
				
			|||||||
    @Nullable
 | 
					    @Nullable
 | 
				
			||||||
    public FluidStack get(@Nonnull FluidStack stack, int flags) {
 | 
					    public FluidStack get(@Nonnull FluidStack stack, int flags) {
 | 
				
			||||||
        for (FluidStack otherStack : stacks.get(stack.getFluid())) {
 | 
					        for (FluidStack otherStack : stacks.get(stack.getFluid())) {
 | 
				
			||||||
            if (otherStack.isFluidEqual(stack)) {
 | 
					            if (CompareUtils.compareStack(otherStack, stack, flags)) {
 | 
				
			||||||
                return otherStack;
 | 
					                return otherStack;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,7 @@ import java.util.Arrays;
 | 
				
			|||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public abstract class GuiBase extends GuiContainer {
 | 
					public abstract class GuiBase extends GuiContainer {
 | 
				
			||||||
 | 
					    // @TODO: Don't depend on JEI
 | 
				
			||||||
    public static final FluidStackRenderer FLUID_RENDERER = new FluidStackRenderer(Fluid.BUCKET_VOLUME, false, 16, 16, null);
 | 
					    public static final FluidStackRenderer FLUID_RENDERER = new FluidStackRenderer(Fluid.BUCKET_VOLUME, false, 16, 16, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected static final int SIDE_BUTTON_WIDTH = 20;
 | 
					    protected static final int SIDE_BUTTON_WIDTH = 20;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,7 +130,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private static final String NBT_CRAFTING_TASKS = "CraftingTasks";
 | 
					    private static final String NBT_CRAFTING_TASKS = "CraftingTasks";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final Comparator<IItemStorage> SIZE_COMPARATOR = (left, right) -> {
 | 
					    private static final Comparator<IItemStorage> ITEM_SIZE_COMPARATOR = (left, right) -> {
 | 
				
			||||||
        if (left.getStored() == right.getStored()) {
 | 
					        if (left.getStored() == right.getStored()) {
 | 
				
			||||||
            return 0;
 | 
					            return 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -138,7 +138,23 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
 | 
				
			|||||||
        return (left.getStored() > right.getStored()) ? -1 : 1;
 | 
					        return (left.getStored() > right.getStored()) ? -1 : 1;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final Comparator<IItemStorage> PRIORITY_COMPARATOR = (left, right) -> {
 | 
					    private static final Comparator<IItemStorage> ITEM_PRIORITY_COMPARATOR = (left, right) -> {
 | 
				
			||||||
 | 
					        if (left.getPriority() == right.getPriority()) {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return (left.getPriority() > right.getPriority()) ? -1 : 1;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static final Comparator<IFluidStorage> FLUID_SIZE_COMPARATOR = (left, right) -> {
 | 
				
			||||||
 | 
					        if (left.getStored() == right.getStored()) {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return (left.getStored() > right.getStored()) ? -1 : 1;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static final Comparator<IFluidStorage> FLUID_PRIORITY_COMPARATOR = (left, right) -> {
 | 
				
			||||||
        if (left.getPriority() == right.getPriority()) {
 | 
					        if (left.getPriority() == right.getPriority()) {
 | 
				
			||||||
            return 0;
 | 
					            return 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -220,8 +236,11 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
 | 
				
			|||||||
            energyEU.update();
 | 
					            energyEU.update();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (canRun()) {
 | 
					            if (canRun()) {
 | 
				
			||||||
                Collections.sort(itemStorage.getStorages(), SIZE_COMPARATOR);
 | 
					                Collections.sort(itemStorage.getStorages(), ITEM_SIZE_COMPARATOR);
 | 
				
			||||||
                Collections.sort(itemStorage.getStorages(), PRIORITY_COMPARATOR);
 | 
					                Collections.sort(itemStorage.getStorages(), ITEM_PRIORITY_COMPARATOR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Collections.sort(fluidStorage.getStorages(), FLUID_SIZE_COMPARATOR);
 | 
				
			||||||
 | 
					                Collections.sort(fluidStorage.getStorages(), FLUID_PRIORITY_COMPARATOR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                boolean craftingTasksChanged = !craftingTasksToAdd.isEmpty() || !craftingTasksToAddAsLast.isEmpty() || !craftingTasksToCancel.isEmpty();
 | 
					                boolean craftingTasksChanged = !craftingTasksToAdd.isEmpty() || !craftingTasksToAddAsLast.isEmpty() || !craftingTasksToCancel.isEmpty();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user