diff --git a/src/main/java/refinedstorage/RefinedStorageUtils.java b/src/main/java/refinedstorage/RefinedStorageUtils.java index 14076aa8c..5d0fe6af7 100755 --- a/src/main/java/refinedstorage/RefinedStorageUtils.java +++ b/src/main/java/refinedstorage/RefinedStorageUtils.java @@ -18,16 +18,13 @@ 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.storage.CompareFlags; import refinedstorage.item.ItemUpgrade; -public class RefinedStorageUtils { +public final class RefinedStorageUtils { public static final String NBT_INVENTORY = "Inventory_%d"; public static final String NBT_SLOT = "Slot"; - public static final int COMPARE_DAMAGE = 1; - public static final int COMPARE_NBT = 2; - public static final int COMPARE_QUANTITY = 4; - public static void writeItems(IItemHandler handler, int id, NBTTagCompound nbt) { NBTTagList tagList = new NBTTagList(); @@ -97,7 +94,7 @@ public class RefinedStorageUtils { } public static boolean compareStack(ItemStack left, ItemStack right) { - return compareStack(left, right, COMPARE_NBT | COMPARE_DAMAGE | COMPARE_QUANTITY); + return compareStack(left, right, CompareFlags.COMPARE_NBT | CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_QUANTITY); } public static boolean compareStack(ItemStack left, ItemStack right, int flags) { @@ -109,19 +106,19 @@ public class RefinedStorageUtils { return false; } - if ((flags & COMPARE_DAMAGE) == COMPARE_DAMAGE) { + if ((flags & CompareFlags.COMPARE_DAMAGE) == CompareFlags.COMPARE_DAMAGE) { if (left.getItemDamage() != right.getItemDamage()) { return false; } } - if ((flags & COMPARE_NBT) == COMPARE_NBT) { + if ((flags & CompareFlags.COMPARE_NBT) == CompareFlags.COMPARE_NBT) { if (left.hasTagCompound() && !left.getTagCompound().equals(right.getTagCompound())) { return false; } } - if ((flags & COMPARE_QUANTITY) == COMPARE_QUANTITY) { + if ((flags & CompareFlags.COMPARE_QUANTITY) == CompareFlags.COMPARE_QUANTITY) { if (left.stackSize != right.stackSize) { return false; } @@ -131,7 +128,7 @@ public class RefinedStorageUtils { } public static boolean compareStackNoQuantity(ItemStack left, ItemStack right) { - return compareStack(left, right, COMPARE_NBT | COMPARE_DAMAGE); + return compareStack(left, right, CompareFlags.COMPARE_NBT | CompareFlags.COMPARE_DAMAGE); } public static boolean compareStackOreDict(ItemStack left, ItemStack right) { diff --git a/src/main/java/refinedstorage/api/storage/CompareFlags.java b/src/main/java/refinedstorage/api/storage/CompareFlags.java new file mode 100755 index 000000000..1a65c46f1 --- /dev/null +++ b/src/main/java/refinedstorage/api/storage/CompareFlags.java @@ -0,0 +1,7 @@ +package refinedstorage.api.storage; + +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/IStorage.java b/src/main/java/refinedstorage/api/storage/IStorage.java index 4dfafa49e..41bf04252 100755 --- a/src/main/java/refinedstorage/api/storage/IStorage.java +++ b/src/main/java/refinedstorage/api/storage/IStorage.java @@ -11,7 +11,7 @@ import java.util.List; public interface IStorage { /** * Adds the items to the storage network. - * This is called every 20 ticks or when the storage changes. + * This is called every 20 ticks or when the storage changes, so don't make this method too resource intensive. * * @param items A list of previously added items */ @@ -33,9 +33,8 @@ public interface IStorage { * * @param stack A prototype of the stack to push, do NOT modify this stack * @param size The amount of that prototype we're pushing - * @param flags The comparison flags, see {@link refinedstorage.RefinedStorageUtils} + * @param flags On what we are comparing to take the item, see {@link CompareFlags} * @return The ItemStack we took from the system, or null if we didn't take anything - * @todo Move the comparison flags to the API package */ ItemStack take(ItemStack stack, int size, int flags); diff --git a/src/main/java/refinedstorage/gui/GuiConstructor.java b/src/main/java/refinedstorage/gui/GuiConstructor.java index d150e8d74..b97436463 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(constructor, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(constructor, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(constructor, CompareFlags.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiDestructor.java b/src/main/java/refinedstorage/gui/GuiDestructor.java index 58f92465d..3b62a970a 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(destructor, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(destructor, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(destructor, CompareFlags.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiDetector.java b/src/main/java/refinedstorage/gui/GuiDetector.java index 0236387a6..f63c999c4 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(detector, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(detector, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(detector, CompareFlags.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 0311ba1a8..5d8587cd9 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(exporter, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(exporter, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(exporter, CompareFlags.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiImporter.java b/src/main/java/refinedstorage/gui/GuiImporter.java index 2f8f7b784..7aa5e7a6d 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(importer, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(importer, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(importer, CompareFlags.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiInterface.java b/src/main/java/refinedstorage/gui/GuiInterface.java index df894e47a..9a8f9831a 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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, RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(tile, RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(tile, CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(tile, CompareFlags.COMPARE_NBT)); } @Override diff --git a/src/main/java/refinedstorage/gui/GuiStorage.java b/src/main/java/refinedstorage/gui/GuiStorage.java index 541cfaa5e..cf996419d 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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(), RefinedStorageUtils.COMPARE_DAMAGE)); - addSideButton(new SideButtonCompare(gui.getCompareConfig(), RefinedStorageUtils.COMPARE_NBT)); + addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareFlags.COMPARE_DAMAGE)); + addSideButton(new SideButtonCompare(gui.getCompareConfig(), CompareFlags.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 4f89cd81c..98738f594 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.RefinedStorageUtils; +import refinedstorage.api.storage.CompareFlags; 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 == RefinedStorageUtils.COMPARE_DAMAGE) { + if (mask == CompareFlags.COMPARE_DAMAGE) { ty = 80; - } else if (mask == RefinedStorageUtils.COMPARE_NBT) { + } else if (mask == CompareFlags.COMPARE_NBT) { ty = 48; } diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index 1dcddfa8e..5ce29fa15 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -17,6 +17,7 @@ import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageUtils; import refinedstorage.api.RefinedStorageCapabilities; +import refinedstorage.api.storage.CompareFlags; import refinedstorage.api.storage.IStorage; import refinedstorage.autocrafting.CraftingPattern; import refinedstorage.autocrafting.task.BasicCraftingTask; @@ -229,7 +230,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr } public CraftingPattern getPattern(ItemStack pattern) { - return getPattern(pattern, RefinedStorageUtils.COMPARE_DAMAGE | RefinedStorageUtils.COMPARE_NBT); + return getPattern(pattern, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); } public CraftingPattern getPattern(ItemStack pattern, int flags) { @@ -403,7 +404,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr } public ItemStack take(ItemStack stack, int size) { - return take(stack, size, RefinedStorageUtils.COMPARE_DAMAGE | RefinedStorageUtils.COMPARE_NBT); + return take(stack, size, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); } public ItemStack take(ItemStack stack, int size, int flags) {