diff --git a/src/main/java/refinedstorage/RefinedStorageUtils.java b/src/main/java/refinedstorage/RefinedStorageUtils.java index b2c3543b4..9c9d17a6d 100755 --- a/src/main/java/refinedstorage/RefinedStorageUtils.java +++ b/src/main/java/refinedstorage/RefinedStorageUtils.java @@ -16,11 +16,9 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.wrapper.InvWrapper; import net.minecraftforge.items.wrapper.SidedInvWrapper; -import net.minecraftforge.oredict.OreDictionary; -import org.apache.commons.lang3.ArrayUtils; import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.network.INetworkMaster; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import java.util.HashSet; import java.util.List; @@ -98,83 +96,6 @@ public final class RefinedStorageUtils { } } - public static boolean compareStack(ItemStack left, ItemStack right) { - return compareStack(left, right, CompareFlags.COMPARE_NBT | CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_QUANTITY); - } - - public static boolean compareStack(ItemStack left, ItemStack right, int flags) { - if (left == null && right == null) { - return true; - } - - if ((left == null && right != null) || (left != null && right == null)) { - return false; - } - - if (left.getItem() != right.getItem()) { - return false; - } - - if ((flags & CompareFlags.COMPARE_DAMAGE) == CompareFlags.COMPARE_DAMAGE) { - if (left.getItemDamage() != right.getItemDamage()) { - return false; - } - } - - if ((flags & CompareFlags.COMPARE_NBT) == CompareFlags.COMPARE_NBT) { - if (!compareNbt(left, right)) { - return false; - } - } - - if ((flags & CompareFlags.COMPARE_QUANTITY) == CompareFlags.COMPARE_QUANTITY) { - if (left.stackSize != right.stackSize) { - return false; - } - } - - return true; - } - - public static boolean compareNbt(ItemStack left, ItemStack right) { - if (!ItemStack.areItemStackTagsEqual(left, right)) { - if (left.hasTagCompound() && !right.hasTagCompound() && left.getTagCompound().hasNoTags()) { - return true; - } else if (!left.hasTagCompound() && right.hasTagCompound() && right.getTagCompound().hasNoTags()) { - return true; - } - - return false; - } - - return true; - } - - public static boolean compareStackNoQuantity(ItemStack left, ItemStack right) { - return compareStack(left, right, CompareFlags.COMPARE_NBT | CompareFlags.COMPARE_DAMAGE); - } - - public static boolean compareStackOreDict(ItemStack left, ItemStack right) { - if (left == null && right == null) { - return true; - } - - if ((left == null && right != null) || (left != null && right == null)) { - return false; - } - - int[] leftIds = OreDictionary.getOreIDs(left); - int[] rightIds = OreDictionary.getOreIDs(right); - - for (int i : rightIds) { - if (ArrayUtils.contains(leftIds, i)) { - return true; - } - } - - return false; - } - public static void writeBooleanArray(NBTTagCompound tag, String name, boolean[] array) { int[] intArray = new int[array.length]; @@ -257,7 +178,7 @@ public final class RefinedStorageUtils { int amount = stacks[i].stackSize; for (int j = i + 1; j < stacks.length; ++j) { - if (RefinedStorageUtils.compareStack(stacks[i], stacks[j])) { + if (CompareUtils.compareStack(stacks[i], stacks[j])) { amount += stacks[j].stackSize; combinedIndices.add(j); @@ -288,11 +209,11 @@ public final class RefinedStorageUtils { } public static ItemStack extractItem(INetworkMaster network, ItemStack stack, int size) { - return network.extractItem(stack, size, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); + return network.extractItem(stack, size, CompareUtils.COMPARE_DAMAGE | CompareUtils.COMPARE_NBT); } public static ICraftingPattern getPattern(INetworkMaster network, ItemStack stack) { - return network.getPattern(stack, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); + return network.getPattern(stack, CompareUtils.COMPARE_DAMAGE | CompareUtils.COMPARE_NBT); } public static boolean hasPattern(INetworkMaster network, ItemStack stack) { diff --git a/src/main/java/refinedstorage/api/network/INetworkMaster.java b/src/main/java/refinedstorage/api/network/INetworkMaster.java index 4856ed90f..fa0167605 100755 --- a/src/main/java/refinedstorage/api/network/INetworkMaster.java +++ b/src/main/java/refinedstorage/api/network/INetworkMaster.java @@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.autocrafting.ICraftingTask; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.IGroupedStorage; import javax.annotation.Nonnull; @@ -110,14 +110,14 @@ public interface INetworkMaster { * Returns crafting patterns from an item stack. * * @param pattern The {@link ItemStack} to get a pattern for - * @param flags The flags to compare on, see {@link CompareFlags} + * @param flags The flags to compare on, see {@link CompareUtils} * @return A list of crafting patterns where the given pattern is one of the outputs */ List getPatterns(ItemStack pattern, int flags); /** * @param pattern The {@link ItemStack} to get a pattern for - * @param flags The flags to compare on, see {@link CompareFlags} + * @param flags The flags to compare on, see {@link CompareUtils} * @return The pattern, or null if the pattern is not found */ @Nullable @@ -157,7 +157,7 @@ public interface INetworkMaster { * * @param stack The prototype of the stack to extract, do NOT modify * @param size The amount of that prototype that has to be extracted - * @param flags The flags to compare on, see {@link CompareFlags} + * @param flags The flags to compare on, see {@link CompareUtils} * @return null if we didn't extract anything, or a {@link ItemStack} with the result */ @Nullable diff --git a/src/main/java/refinedstorage/api/storage/CompareFlags.java b/src/main/java/refinedstorage/api/storage/CompareFlags.java deleted file mode 100755 index fa5d62d08..000000000 --- a/src/main/java/refinedstorage/api/storage/CompareFlags.java +++ /dev/null @@ -1,10 +0,0 @@ -package refinedstorage.api.storage; - -/** - * Comparison flags. - */ -public final class CompareFlags { - public static final int COMPARE_DAMAGE = 1; - public static final int COMPARE_NBT = 2; - public static final int COMPARE_QUANTITY = 4; -} diff --git a/src/main/java/refinedstorage/api/storage/CompareUtils.java b/src/main/java/refinedstorage/api/storage/CompareUtils.java new file mode 100755 index 000000000..7ca1a671b --- /dev/null +++ b/src/main/java/refinedstorage/api/storage/CompareUtils.java @@ -0,0 +1,91 @@ +package refinedstorage.api.storage; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; +import org.apache.commons.lang3.ArrayUtils; + +/** + * Comparison utils. + */ +public final class CompareUtils { + public static final int COMPARE_DAMAGE = 1; + public static final int COMPARE_NBT = 2; + public static final int COMPARE_QUANTITY = 4; + + public static boolean compareStack(ItemStack left, ItemStack right) { + return compareStack(left, right, COMPARE_NBT | COMPARE_DAMAGE | COMPARE_QUANTITY); + } + + public static boolean compareStack(ItemStack left, ItemStack right, int flags) { + if (left == null && right == null) { + return true; + } + + if ((left == null && right != null) || (left != null && right == null)) { + return false; + } + + if (left.getItem() != right.getItem()) { + return false; + } + + if ((flags & COMPARE_DAMAGE) == COMPARE_DAMAGE) { + if (left.getItemDamage() != right.getItemDamage()) { + return false; + } + } + + if ((flags & COMPARE_NBT) == COMPARE_NBT) { + if (!compareNbt(left, right)) { + return false; + } + } + + if ((flags & COMPARE_QUANTITY) == COMPARE_QUANTITY) { + if (left.stackSize != right.stackSize) { + return false; + } + } + + return true; + } + + public static boolean compareNbt(ItemStack left, ItemStack right) { + if (!ItemStack.areItemStackTagsEqual(left, right)) { + if (left.hasTagCompound() && !right.hasTagCompound() && left.getTagCompound().hasNoTags()) { + return true; + } else if (!left.hasTagCompound() && right.hasTagCompound() && right.getTagCompound().hasNoTags()) { + return true; + } + + return false; + } + + return true; + } + + public static boolean compareStackNoQuantity(ItemStack left, ItemStack right) { + return compareStack(left, right, COMPARE_NBT | COMPARE_DAMAGE); + } + + public static boolean compareStackOreDict(ItemStack left, ItemStack right) { + if (left == null && right == null) { + return true; + } + + if ((left == null && right != null) || (left != null && right == null)) { + return false; + } + + int[] leftIds = OreDictionary.getOreIDs(left); + int[] rightIds = OreDictionary.getOreIDs(right); + + for (int i : rightIds) { + if (ArrayUtils.contains(leftIds, i)) { + return true; + } + } + + return false; + } +} diff --git a/src/main/java/refinedstorage/api/storage/IGroupedStorage.java b/src/main/java/refinedstorage/api/storage/IGroupedStorage.java index 0d349f98d..674e5b623 100755 --- a/src/main/java/refinedstorage/api/storage/IGroupedStorage.java +++ b/src/main/java/refinedstorage/api/storage/IGroupedStorage.java @@ -35,7 +35,7 @@ public interface IGroupedStorage { * Gets an item from the network, does not decrement its count like {@link IGroupedStorage#remove(ItemStack)} does. * * @param stack The stack to find - * @param flags The flags to compare on, see {@link CompareFlags} + * @param flags The flags to compare on, see {@link CompareUtils} * @return The {@link ItemStack}, do NOT modify */ ItemStack get(ItemStack stack, int flags); diff --git a/src/main/java/refinedstorage/api/storage/IStorage.java b/src/main/java/refinedstorage/api/storage/IStorage.java index 085b98bc2..c7235cbdb 100755 --- a/src/main/java/refinedstorage/api/storage/IStorage.java +++ b/src/main/java/refinedstorage/api/storage/IStorage.java @@ -35,7 +35,7 @@ public interface IStorage { * * @param stack A prototype of the stack to extract, do NOT modify * @param size The amount of that prototype that has to be extracted - * @param flags On what we are comparing to extract this item, see {@link CompareFlags} + * @param flags On what we are comparing to extract this item, see {@link CompareUtils} * @return null if we didn't extract anything, or an {@link ItemStack} with the result */ @Nullable diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingTaskScheduler.java b/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingTaskScheduler.java index 201779bc7..54342d0c4 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingTaskScheduler.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingTaskScheduler.java @@ -3,9 +3,9 @@ package refinedstorage.apiimpl.autocrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import refinedstorage.RefinedStorageUtils; import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.network.INetworkMaster; +import refinedstorage.api.storage.CompareUtils; public class CraftingTaskScheduler { private static final String NBT_SCHEDULED = "CraftingTaskScheduled"; @@ -18,7 +18,7 @@ public class CraftingTaskScheduler { } public boolean canSchedule(int compare, ItemStack item) { - return scheduledItem == null || !RefinedStorageUtils.compareStack(scheduledItem, item, compare); + return scheduledItem == null || !CompareUtils.compareStack(scheduledItem, item, compare); } public void schedule(INetworkMaster network, int compare, ItemStack item) { diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/ProcessingCraftingTask.java b/src/main/java/refinedstorage/apiimpl/autocrafting/ProcessingCraftingTask.java index 70368b580..6a780d3a6 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/ProcessingCraftingTask.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/ProcessingCraftingTask.java @@ -9,6 +9,7 @@ import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.autocrafting.ICraftingPatternContainer; import refinedstorage.api.autocrafting.ICraftingTask; import refinedstorage.api.network.INetworkMaster; +import refinedstorage.api.storage.CompareUtils; public class ProcessingCraftingTask implements ICraftingTask { public static final int ID = 1; @@ -92,7 +93,7 @@ public class ProcessingCraftingTask implements ICraftingTask { public boolean onInserted(ItemStack stack) { for (int i = 0; i < pattern.getOutputs().length; ++i) { - if (!satisfied[i] && RefinedStorageUtils.compareStackNoQuantity(stack, pattern.getOutputs()[i])) { + if (!satisfied[i] && CompareUtils.compareStackNoQuantity(stack, pattern.getOutputs()[i])) { satisfied[i] = true; return true; diff --git a/src/main/java/refinedstorage/apiimpl/network/GridHandler.java b/src/main/java/refinedstorage/apiimpl/network/GridHandler.java index 806811846..1e930fe39 100755 --- a/src/main/java/refinedstorage/apiimpl/network/GridHandler.java +++ b/src/main/java/refinedstorage/apiimpl/network/GridHandler.java @@ -9,6 +9,7 @@ import refinedstorage.api.autocrafting.ICraftingTask; import refinedstorage.api.network.GridExtractFlags; import refinedstorage.api.network.IGridHandler; import refinedstorage.api.network.INetworkMaster; +import refinedstorage.api.storage.CompareUtils; public class GridHandler implements IGridHandler { public static final int MAX_CRAFTING_PER_REQUEST = 500; @@ -34,7 +35,7 @@ public class GridHandler implements IGridHandler { ItemStack held = player.inventory.getItemStack(); if (single) { - if (held != null && (!RefinedStorageUtils.compareStackNoQuantity(item, held) || held.stackSize + 1 > held.getMaxStackSize())) { + if (held != null && (!CompareUtils.compareStackNoQuantity(item, held) || held.stackSize + 1 > held.getMaxStackSize())) { return; } } else if (player.inventory.getItemStack() != null) { @@ -129,7 +130,7 @@ public class GridHandler implements IGridHandler { if (pattern != null) { for (ItemStack output : pattern.getOutputs()) { - if (RefinedStorageUtils.compareStackNoQuantity(stack, output)) { + if (CompareUtils.compareStackNoQuantity(stack, output)) { quantityPerRequest += output.stackSize; if (!pattern.isProcessing()) { diff --git a/src/main/java/refinedstorage/apiimpl/network/WirelessGridHandler.java b/src/main/java/refinedstorage/apiimpl/network/WirelessGridHandler.java index ab8a566ed..84e50eab9 100755 --- a/src/main/java/refinedstorage/apiimpl/network/WirelessGridHandler.java +++ b/src/main/java/refinedstorage/apiimpl/network/WirelessGridHandler.java @@ -9,6 +9,7 @@ import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageUtils; import refinedstorage.api.network.*; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.item.ItemWirelessGrid; import java.util.ArrayList; @@ -39,7 +40,7 @@ public class WirelessGridHandler implements IWirelessGridHandler { while (it.hasNext()) { IWirelessGridConsumer consumer = it.next(); - if (!RefinedStorageUtils.compareStack(consumer.getStack(), consumer.getPlayer().getHeldItem(consumer.getHand()))) { + if (!CompareUtils.compareStack(consumer.getStack(), consumer.getPlayer().getHeldItem(consumer.getHand()))) { /** * This will call {@link net.minecraft.inventory.Container#onContainerClosed(EntityPlayer)} so the consumer is removed from the list. */ diff --git a/src/main/java/refinedstorage/apiimpl/solderer/SoldererRegistry.java b/src/main/java/refinedstorage/apiimpl/solderer/SoldererRegistry.java index efed97dc7..6a08d30c3 100755 --- a/src/main/java/refinedstorage/apiimpl/solderer/SoldererRegistry.java +++ b/src/main/java/refinedstorage/apiimpl/solderer/SoldererRegistry.java @@ -1,9 +1,9 @@ package refinedstorage.apiimpl.solderer; import net.minecraftforge.items.IItemHandler; -import refinedstorage.RefinedStorageUtils; import refinedstorage.api.solderer.ISoldererRecipe; import refinedstorage.api.solderer.ISoldererRegistry; +import refinedstorage.api.storage.CompareUtils; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -30,7 +30,7 @@ public class SoldererRegistry implements ISoldererRegistry { boolean found = true; for (int i = 0; i < 3; ++i) { - if (!RefinedStorageUtils.compareStackNoQuantity(recipe.getRow(i), items.getStackInSlot(i)) && !RefinedStorageUtils.compareStackOreDict(recipe.getRow(i), items.getStackInSlot(i))) { + if (!CompareUtils.compareStackNoQuantity(recipe.getRow(i), items.getStackInSlot(i)) && !CompareUtils.compareStackOreDict(recipe.getRow(i), items.getStackInSlot(i))) { found = false; } diff --git a/src/main/java/refinedstorage/apiimpl/storage/GroupedStorage.java b/src/main/java/refinedstorage/apiimpl/storage/GroupedStorage.java index 21855ae17..64c9f5803 100755 --- a/src/main/java/refinedstorage/apiimpl/storage/GroupedStorage.java +++ b/src/main/java/refinedstorage/apiimpl/storage/GroupedStorage.java @@ -8,6 +8,7 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkNode; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.IGroupedStorage; import refinedstorage.api.storage.IStorage; import refinedstorage.api.storage.IStorageProvider; @@ -57,7 +58,7 @@ public class GroupedStorage implements IGroupedStorage { @Override public void add(ItemStack stack, boolean rebuilding) { for (ItemStack otherStack : stacks.get(stack.getItem())) { - if (RefinedStorageUtils.compareStackNoQuantity(otherStack, stack)) { + if (CompareUtils.compareStackNoQuantity(otherStack, stack)) { otherStack.stackSize += stack.stackSize; if (!rebuilding) { @@ -78,7 +79,7 @@ public class GroupedStorage implements IGroupedStorage { @Override public void remove(ItemStack stack) { for (ItemStack otherStack : stacks.get(stack.getItem())) { - if (RefinedStorageUtils.compareStackNoQuantity(otherStack, stack)) { + if (CompareUtils.compareStackNoQuantity(otherStack, stack)) { otherStack.stackSize -= stack.stackSize; if (otherStack.stackSize == 0) { @@ -97,7 +98,7 @@ public class GroupedStorage implements IGroupedStorage { @Override public ItemStack get(ItemStack stack, int flags) { for (ItemStack otherStack : stacks.get(stack.getItem())) { - if (RefinedStorageUtils.compareStack(otherStack, stack, flags)) { + if (CompareUtils.compareStack(otherStack, stack, flags)) { return otherStack; } } diff --git a/src/main/java/refinedstorage/apiimpl/storage/NBTStorage.java b/src/main/java/refinedstorage/apiimpl/storage/NBTStorage.java index 8d85afe15..d71a68137 100755 --- a/src/main/java/refinedstorage/apiimpl/storage/NBTStorage.java +++ b/src/main/java/refinedstorage/apiimpl/storage/NBTStorage.java @@ -6,7 +6,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.items.ItemHandlerHelper; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.IStorage; import javax.annotation.Nullable; @@ -117,7 +117,7 @@ public abstract class NBTStorage implements IStorage { @Override public ItemStack insertItem(ItemStack stack, int size, boolean simulate) { for (ItemStack otherStack : stacks) { - if (RefinedStorageUtils.compareStackNoQuantity(otherStack, stack)) { + if (CompareUtils.compareStackNoQuantity(otherStack, stack)) { if (getCapacity() != -1 && getStored() + size > getCapacity()) { int remainingSpace = getCapacity() - getStored(); @@ -180,7 +180,7 @@ public abstract class NBTStorage implements IStorage { @Override public ItemStack extractItem(ItemStack stack, int size, int flags) { for (ItemStack otherStack : stacks) { - if (RefinedStorageUtils.compareStack(otherStack, stack, flags)) { + if (CompareUtils.compareStack(otherStack, stack, flags)) { if (size > otherStack.stackSize) { size = otherStack.stackSize; } diff --git a/src/main/java/refinedstorage/container/ContainerBase.java b/src/main/java/refinedstorage/container/ContainerBase.java index 30be7ff22..1b6be6c65 100755 --- a/src/main/java/refinedstorage/container/ContainerBase.java +++ b/src/main/java/refinedstorage/container/ContainerBase.java @@ -7,7 +7,7 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraftforge.items.ItemHandlerHelper; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.slot.SlotDisabled; import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimenLegacy; @@ -110,7 +110,7 @@ public abstract class ContainerBase extends Container { public ItemStack mergeItemStackToSpecimen(ItemStack stack, int begin, int end) { for (int i = begin; i < end; ++i) { - if (RefinedStorageUtils.compareStackNoQuantity(getSlot(i).getStack(), stack)) { + if (CompareUtils.compareStackNoQuantity(getSlot(i).getStack(), stack)) { return null; } } diff --git a/src/main/java/refinedstorage/gui/GuiConstructor.java b/src/main/java/refinedstorage/gui/GuiConstructor.java index b97436463..50a8f56c6 100755 --- a/src/main/java/refinedstorage/gui/GuiConstructor.java +++ b/src/main/java/refinedstorage/gui/GuiConstructor.java @@ -1,6 +1,6 @@ package refinedstorage.gui; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerConstructor; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; @@ -19,8 +19,8 @@ public class GuiConstructor extends GuiBase { public void init(int x, int y) { addSideButton(new SideButtonRedstoneMode(constructor)); - addSideButton(new SideButtonCompare(constructor, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(constructor, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(constructor, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(constructor, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiDestructor.java b/src/main/java/refinedstorage/gui/GuiDestructor.java index 3b62a970a..d755c27d2 100755 --- a/src/main/java/refinedstorage/gui/GuiDestructor.java +++ b/src/main/java/refinedstorage/gui/GuiDestructor.java @@ -1,6 +1,6 @@ package refinedstorage.gui; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerDestructor; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonMode; @@ -22,8 +22,8 @@ public class GuiDestructor extends GuiBase { addSideButton(new SideButtonMode(destructor)); - addSideButton(new SideButtonCompare(destructor, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(destructor, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(destructor, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(destructor, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiDetector.java b/src/main/java/refinedstorage/gui/GuiDetector.java index a52f83ef6..053d7786a 100755 --- a/src/main/java/refinedstorage/gui/GuiDetector.java +++ b/src/main/java/refinedstorage/gui/GuiDetector.java @@ -3,7 +3,7 @@ package refinedstorage.gui; import com.google.common.primitives.Ints; import net.minecraft.client.gui.GuiTextField; import refinedstorage.RefinedStorage; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerDetector; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonDetectorMode; @@ -25,8 +25,8 @@ public class GuiDetector extends GuiBase { @Override public void init(int x, int y) { - addSideButton(new SideButtonCompare(detector, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(detector, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(detector, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(detector, CompareUtils.COMPARE_NBT)); addSideButton(new SideButtonDetectorMode(detector)); diff --git a/src/main/java/refinedstorage/gui/GuiExporter.java b/src/main/java/refinedstorage/gui/GuiExporter.java index 5d8587cd9..30854d39d 100755 --- a/src/main/java/refinedstorage/gui/GuiExporter.java +++ b/src/main/java/refinedstorage/gui/GuiExporter.java @@ -1,6 +1,6 @@ package refinedstorage.gui; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerExporter; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; @@ -19,8 +19,8 @@ public class GuiExporter extends GuiBase { public void init(int x, int y) { addSideButton(new SideButtonRedstoneMode(exporter)); - addSideButton(new SideButtonCompare(exporter, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(exporter, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(exporter, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(exporter, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiImporter.java b/src/main/java/refinedstorage/gui/GuiImporter.java index 7aa5e7a6d..688a25d35 100755 --- a/src/main/java/refinedstorage/gui/GuiImporter.java +++ b/src/main/java/refinedstorage/gui/GuiImporter.java @@ -1,6 +1,6 @@ package refinedstorage.gui; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerImporter; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonMode; @@ -22,8 +22,8 @@ public class GuiImporter extends GuiBase { addSideButton(new SideButtonMode(importer)); - addSideButton(new SideButtonCompare(importer, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(importer, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(importer, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(importer, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiInterface.java b/src/main/java/refinedstorage/gui/GuiInterface.java index 9a8f9831a..7df115559 100755 --- a/src/main/java/refinedstorage/gui/GuiInterface.java +++ b/src/main/java/refinedstorage/gui/GuiInterface.java @@ -1,6 +1,6 @@ package refinedstorage.gui; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerInterface; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; @@ -19,8 +19,8 @@ public class GuiInterface extends GuiBase { public void init(int x, int y) { addSideButton(new SideButtonRedstoneMode(tile)); - addSideButton(new SideButtonCompare(tile, CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(tile, CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(tile, CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(tile, CompareUtils.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiStorage.java b/src/main/java/refinedstorage/gui/GuiStorage.java index cf996419d..963576e3d 100755 --- a/src/main/java/refinedstorage/gui/GuiStorage.java +++ b/src/main/java/refinedstorage/gui/GuiStorage.java @@ -2,7 +2,7 @@ package refinedstorage.gui; import com.google.common.primitives.Ints; import net.minecraft.client.gui.GuiTextField; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerStorage; import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonMode; @@ -44,8 +44,8 @@ public class GuiStorage extends GuiBase { } if (gui.getCompareConfig() != null) { - addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareFlags.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareFlags.COMPARE_NBT)); + addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareUtils.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareUtils.COMPARE_NBT)); } priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 25, fontRendererObj.FONT_HEIGHT); diff --git a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java index 7b9de9eae..20eb21d19 100755 --- a/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java +++ b/src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java @@ -2,7 +2,7 @@ package refinedstorage.gui.sidebutton; import net.minecraft.util.text.TextFormatting; import refinedstorage.RefinedStorage; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.gui.GuiBase; import refinedstorage.network.MessageCompareUpdate; import refinedstorage.tile.config.ICompareConfig; @@ -35,9 +35,9 @@ public class SideButtonCompare extends SideButton { int ty = 0; - if (mask == CompareFlags.COMPARE_DAMAGE) { + if (mask == CompareUtils.COMPARE_DAMAGE) { ty = 80; - } else if (mask == CompareFlags.COMPARE_NBT) { + } else if (mask == CompareUtils.COMPARE_NBT) { ty = 48; } diff --git a/src/main/java/refinedstorage/tile/TileSolderer.java b/src/main/java/refinedstorage/tile/TileSolderer.java index c19630ef8..f21d14885 100755 --- a/src/main/java/refinedstorage/tile/TileSolderer.java +++ b/src/main/java/refinedstorage/tile/TileSolderer.java @@ -13,6 +13,7 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.api.RefinedStorageAPI; import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.solderer.ISoldererRecipe; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.container.ContainerSolderer; import refinedstorage.inventory.BasicItemHandler; import refinedstorage.inventory.SoldererItemHandler; @@ -50,7 +51,7 @@ public class TileSolderer extends TileNode { if (newRecipe == null) { stop(); } else if (newRecipe != recipe) { - boolean sameItem = items.getStackInSlot(3) != null ? RefinedStorageUtils.compareStackNoQuantity(items.getStackInSlot(3), newRecipe.getResult()) : false; + boolean sameItem = items.getStackInSlot(3) != null ? CompareUtils.compareStackNoQuantity(items.getStackInSlot(3), newRecipe.getResult()) : false; if (items.getStackInSlot(3) == null || (sameItem && ((items.getStackInSlot(3).stackSize + newRecipe.getResult().stackSize) <= items.getStackInSlot(3).getMaxStackSize()))) { recipe = newRecipe; diff --git a/src/main/java/refinedstorage/tile/config/ModeFilter.java b/src/main/java/refinedstorage/tile/config/ModeFilter.java index 090916feb..461203bea 100755 --- a/src/main/java/refinedstorage/tile/config/ModeFilter.java +++ b/src/main/java/refinedstorage/tile/config/ModeFilter.java @@ -2,7 +2,7 @@ package refinedstorage.tile.config; import net.minecraft.item.ItemStack; import net.minecraftforge.items.IItemHandler; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; public final class ModeFilter { public static boolean respectsMode(IItemHandler filters, IModeConfig mode, int compare, ItemStack stack) { @@ -15,7 +15,7 @@ public final class ModeFilter { if (slot != null) { slots++; - if (RefinedStorageUtils.compareStack(slot, stack, compare)) { + if (CompareUtils.compareStack(slot, stack, compare)) { return true; } } @@ -26,7 +26,7 @@ public final class ModeFilter { for (int i = 0; i < filters.getSlots(); ++i) { ItemStack slot = filters.getStackInSlot(i); - if (slot != null && RefinedStorageUtils.compareStack(slot, stack, compare)) { + if (slot != null && CompareUtils.compareStack(slot, stack, compare)) { return false; } } diff --git a/src/main/java/refinedstorage/tile/controller/ClientNode.java b/src/main/java/refinedstorage/tile/controller/ClientNode.java index 7b97be51e..a1c73ffe6 100755 --- a/src/main/java/refinedstorage/tile/controller/ClientNode.java +++ b/src/main/java/refinedstorage/tile/controller/ClientNode.java @@ -1,7 +1,7 @@ package refinedstorage.tile.controller; import net.minecraft.item.ItemStack; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; public final class ClientNode { public ItemStack stack; @@ -18,7 +18,7 @@ public final class ClientNode { return false; } - return energyUsage == ((ClientNode) other).energyUsage && RefinedStorageUtils.compareStack(stack, ((ClientNode) other).stack); + return energyUsage == ((ClientNode) other).energyUsage && CompareUtils.compareStack(stack, ((ClientNode) other).stack); } @Override diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index af94298e1..a577eea6f 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -31,7 +31,7 @@ import refinedstorage.api.network.IGridHandler; import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkNode; import refinedstorage.api.network.IWirelessGridHandler; -import refinedstorage.api.storage.CompareFlags; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.IGroupedStorage; import refinedstorage.api.storage.IStorage; import refinedstorage.apiimpl.autocrafting.BasicCraftingTask; @@ -320,7 +320,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR for (ICraftingPattern craftingPattern : getPatterns()) { for (ItemStack output : craftingPattern.getOutputs()) { - if (RefinedStorageUtils.compareStack(output, pattern, flags)) { + if (CompareUtils.compareStack(output, pattern, flags)) { patterns.add(craftingPattern); } } @@ -346,7 +346,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR int score = 0; for (ItemStack input : patterns.get(i).getInputs()) { - ItemStack stored = storage.get(input, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); + ItemStack stored = storage.get(input, CompareUtils.COMPARE_DAMAGE | CompareUtils.COMPARE_NBT); score += stored != null ? stored.stackSize : 0; } diff --git a/src/main/java/refinedstorage/tile/externalstorage/DeepStorageUnitStorage.java b/src/main/java/refinedstorage/tile/externalstorage/DeepStorageUnitStorage.java index 3ed8b7352..24f1159b7 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/DeepStorageUnitStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/DeepStorageUnitStorage.java @@ -3,7 +3,7 @@ package refinedstorage.tile.externalstorage; import net.minecraft.item.ItemStack; import net.minecraftforge.items.ItemHandlerHelper; import powercrystals.minefactoryreloaded.api.IDeepStorageUnit; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.tile.config.ModeFilter; import javax.annotation.Nonnull; @@ -37,7 +37,7 @@ public class DeepStorageUnitStorage extends ExternalStorage { public ItemStack insertItem(@Nonnull ItemStack stack, int size, boolean simulate) { if (ModeFilter.respectsMode(externalStorage.getFilters(), externalStorage, externalStorage.getCompare(), stack)) { if (unit.getStoredItemType() != null) { - if (RefinedStorageUtils.compareStackNoQuantity(unit.getStoredItemType(), stack)) { + if (CompareUtils.compareStackNoQuantity(unit.getStoredItemType(), stack)) { if (getStored() + size > unit.getMaxStoredCount()) { int remainingSpace = getCapacity() - getStored(); @@ -86,7 +86,7 @@ public class DeepStorageUnitStorage extends ExternalStorage { @Override public ItemStack extractItem(@Nonnull ItemStack stack, int size, int flags) { - if (RefinedStorageUtils.compareStack(stack, unit.getStoredItemType(), flags)) { + if (CompareUtils.compareStack(stack, unit.getStoredItemType(), flags)) { if (size > unit.getStoredItemType().stackSize) { size = unit.getStoredItemType().stackSize; } diff --git a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java index c25924744..4b398d4d7 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java @@ -4,7 +4,7 @@ import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer; import com.jaquadro.minecraft.storagedrawers.api.storage.attribute.IVoidable; import net.minecraft.item.ItemStack; import net.minecraftforge.items.ItemHandlerHelper; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.tile.config.ModeFilter; import java.util.Collections; @@ -88,7 +88,7 @@ public class DrawerStorage extends ExternalStorage { @Override public ItemStack extractItem(ItemStack stack, int size, int flags) { - if (RefinedStorageUtils.compareStack(stack, drawer.getStoredItemPrototype(), flags) && drawer.canItemBeExtracted(stack)) { + if (CompareUtils.compareStack(stack, drawer.getStoredItemPrototype(), flags) && drawer.canItemBeExtracted(stack)) { if (size > drawer.getStoredItemCount()) { size = drawer.getStoredItemCount(); } diff --git a/src/main/java/refinedstorage/tile/externalstorage/ExternalStorage.java b/src/main/java/refinedstorage/tile/externalstorage/ExternalStorage.java index 19f7832c5..6ec709ebf 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/ExternalStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/ExternalStorage.java @@ -1,7 +1,7 @@ package refinedstorage.tile.externalstorage; import net.minecraft.item.ItemStack; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.IStorage; import java.util.List; @@ -22,7 +22,7 @@ public abstract class ExternalStorage implements IStorage { return true; } else { for (int i = 0; i < items.size(); ++i) { - if (!RefinedStorageUtils.compareStack(items.get(i), cache.get(i))) { + if (!CompareUtils.compareStack(items.get(i), cache.get(i))) { cache = items; return true; diff --git a/src/main/java/refinedstorage/tile/externalstorage/ItemHandlerStorage.java b/src/main/java/refinedstorage/tile/externalstorage/ItemHandlerStorage.java index f56af7c1e..716ae16f7 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/ItemHandlerStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/ItemHandlerStorage.java @@ -3,7 +3,7 @@ package refinedstorage.tile.externalstorage; import net.minecraft.item.ItemStack; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; -import refinedstorage.RefinedStorageUtils; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.tile.config.ModeFilter; import java.util.ArrayList; @@ -50,7 +50,7 @@ public class ItemHandlerStorage extends ExternalStorage { for (int i = 0; i < handler.getSlots(); ++i) { ItemStack slot = handler.getStackInSlot(i); - if (slot != null && RefinedStorageUtils.compareStack(slot, stack, flags)) { + if (slot != null && CompareUtils.compareStack(slot, stack, flags)) { size = Math.min(size, slot.stackSize); ItemStack took = ItemHandlerHelper.copyStackWithSize(slot, size); diff --git a/src/main/java/refinedstorage/tile/grid/TileGrid.java b/src/main/java/refinedstorage/tile/grid/TileGrid.java index 0f8faac0e..73975aa47 100755 --- a/src/main/java/refinedstorage/tile/grid/TileGrid.java +++ b/src/main/java/refinedstorage/tile/grid/TileGrid.java @@ -15,6 +15,7 @@ import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageUtils; import refinedstorage.api.network.IGridHandler; +import refinedstorage.api.storage.CompareUtils; import refinedstorage.block.BlockGrid; import refinedstorage.block.EnumGridType; import refinedstorage.container.ContainerGrid; @@ -174,7 +175,7 @@ public class TileGrid extends TileNode implements IGrid { craftedItems += crafted.stackSize; - if (!RefinedStorageUtils.compareStack(crafted, result.getStackInSlot(0)) || craftedItems + crafted.stackSize > crafted.getMaxStackSize()) { + if (!CompareUtils.compareStack(crafted, result.getStackInSlot(0)) || craftedItems + crafted.stackSize > crafted.getMaxStackSize()) { break; } }