Move compare utils to API

This commit is contained in:
Raoul Van den Berge
2016-07-19 04:57:27 +02:00
parent e9745c2b61
commit fc0184cbfd
31 changed files with 166 additions and 158 deletions

View File

@@ -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) {

View File

@@ -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<ICraftingPattern> 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

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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()) {

View File

@@ -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.
*/

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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));

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;
}
}