From 22d92206c44da21510fe4f0e4fbdde2574417b56 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sat, 30 Jul 2016 03:01:36 +0200 Subject: [PATCH] Added support for processing patterns with big stacksizes, fixes #219 --- CHANGELOG.md | 1 + .../ContainerProcessingPatternEncoder.java | 2 +- .../java/refinedstorage/tile/TileCrafter.java | 8 +++---- .../refinedstorage/tile/TileDestructor.java | 16 +++++++------- .../refinedstorage/tile/TileDetector.java | 18 +++++++-------- .../refinedstorage/tile/TileDiskDrive.java | 20 ++++++++--------- .../refinedstorage/tile/TileExporter.java | 14 ++++++------ .../refinedstorage/tile/TileImporter.java | 16 +++++++------- .../refinedstorage/tile/TileInterface.java | 16 +++++++------- .../java/refinedstorage/tile/TileNode.java | 8 +++---- .../tile/TileProcessingPatternEncoder.java | 19 +++++++++------- .../refinedstorage/tile/TileSolderer.java | 16 +++++++------- .../java/refinedstorage/tile/TileStorage.java | 22 +++++++++---------- .../tile/TileWirelessTransmitter.java | 6 ++--- .../externalstorage/TileExternalStorage.java | 18 +++++++-------- 15 files changed, 102 insertions(+), 98 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f0da4503..e56aba6d0 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ **Features** - Added config option to set the base energy usage of the Controller (default is 0) - Added Grid Filter item to filter items in any Grid +- Added support for processing patterns with big stacksizes - Changed Relay recipe to use redstone torch instead of Basic Processor ### 0.8.12 diff --git a/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java b/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java index 9541dac20..c998c2bf8 100755 --- a/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java @@ -20,7 +20,7 @@ public class ContainerProcessingPatternEncoder extends ContainerBase { int y = 20; for (int i = 0; i < 9 * 2; ++i) { - addSlotToContainer(new SlotSpecimen(processingPatternEncoder.getConfiguration(), i, x, y)); + addSlotToContainer(new SlotSpecimen(processingPatternEncoder.getConfiguration(), i, x, y, SlotSpecimen.SPECIMEN_SIZE)); x += 18; diff --git a/src/main/java/refinedstorage/tile/TileCrafter.java b/src/main/java/refinedstorage/tile/TileCrafter.java index b653fc29e..729c487f7 100755 --- a/src/main/java/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/refinedstorage/tile/TileCrafter.java @@ -75,11 +75,11 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(patterns, 0, nbt); - readItems(upgrades, 1, nbt); + readItems(patterns, 0, tag); + readItems(upgrades, 1, tag); } @Override diff --git a/src/main/java/refinedstorage/tile/TileDestructor.java b/src/main/java/refinedstorage/tile/TileDestructor.java index f8964c15d..23fc6bf98 100755 --- a/src/main/java/refinedstorage/tile/TileDestructor.java +++ b/src/main/java/refinedstorage/tile/TileDestructor.java @@ -99,19 +99,19 @@ public class TileDestructor extends TileNode implements ICompareConfig, IModeCon } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } - readItems(filters, 0, nbt); - readItems(upgrades, 1, nbt); + readItems(filters, 0, tag); + readItems(upgrades, 1, tag); } @Override diff --git a/src/main/java/refinedstorage/tile/TileDetector.java b/src/main/java/refinedstorage/tile/TileDetector.java index 3210397a5..b9ece57c2 100755 --- a/src/main/java/refinedstorage/tile/TileDetector.java +++ b/src/main/java/refinedstorage/tile/TileDetector.java @@ -133,22 +133,22 @@ public class TileDetector extends TileNode implements ICompareConfig { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } - if (nbt.hasKey(NBT_AMOUNT)) { - amount = nbt.getInteger(NBT_AMOUNT); + if (tag.hasKey(NBT_AMOUNT)) { + amount = tag.getInteger(NBT_AMOUNT); } - readItems(filter, 0, nbt); + readItems(filter, 0, tag); } @Override diff --git a/src/main/java/refinedstorage/tile/TileDiskDrive.java b/src/main/java/refinedstorage/tile/TileDiskDrive.java index 16ed93660..42ee7a690 100755 --- a/src/main/java/refinedstorage/tile/TileDiskDrive.java +++ b/src/main/java/refinedstorage/tile/TileDiskDrive.java @@ -153,22 +153,22 @@ public class TileDiskDrive extends TileNode implements IStorageProvider, IStorag } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(disks, 0, nbt); - readItems(filters, 1, nbt); + readItems(disks, 0, tag); + readItems(filters, 1, tag); - if (nbt.hasKey(NBT_PRIORITY)) { - priority = nbt.getInteger(NBT_PRIORITY); + if (tag.hasKey(NBT_PRIORITY)) { + priority = tag.getInteger(NBT_PRIORITY); } - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } } diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index b2e035cfb..7c84f5f5d 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -76,17 +76,17 @@ public class TileExporter extends TileNode implements ICompareConfig { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - readItems(filters, 0, nbt); - readItems(upgrades, 1, nbt); + readItems(filters, 0, tag); + readItems(upgrades, 1, tag); - scheduler.read(nbt); + scheduler.read(tag); } @Override diff --git a/src/main/java/refinedstorage/tile/TileImporter.java b/src/main/java/refinedstorage/tile/TileImporter.java index 114ecb758..6a23c3462 100755 --- a/src/main/java/refinedstorage/tile/TileImporter.java +++ b/src/main/java/refinedstorage/tile/TileImporter.java @@ -93,19 +93,19 @@ public class TileImporter extends TileNode implements ICompareConfig, IModeConfi } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } - readItems(filters, 0, nbt); - readItems(upgrades, 1, nbt); + readItems(filters, 0, tag); + readItems(upgrades, 1, tag); } @Override diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index b07bdec97..228044364 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -104,16 +104,16 @@ public class TileInterface extends TileNode implements ICompareConfig { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(importItems, 0, nbt); - readItems(exportSpecimenItems, 1, nbt); - readItems(exportItems, 2, nbt); - readItems(upgrades, 3, nbt); + readItems(importItems, 0, tag); + readItems(exportSpecimenItems, 1, tag); + readItems(exportItems, 2, tag); + readItems(upgrades, 3, tag); - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } } diff --git a/src/main/java/refinedstorage/tile/TileNode.java b/src/main/java/refinedstorage/tile/TileNode.java index 2e9504ae6..b0454af04 100755 --- a/src/main/java/refinedstorage/tile/TileNode.java +++ b/src/main/java/refinedstorage/tile/TileNode.java @@ -126,11 +126,11 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - if (nbt.hasKey(RedstoneMode.NBT)) { - redstoneMode = RedstoneMode.getById(nbt.getInteger(RedstoneMode.NBT)); + if (tag.hasKey(RedstoneMode.NBT)) { + redstoneMode = RedstoneMode.getById(tag.getInteger(RedstoneMode.NBT)); } } diff --git a/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java b/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java index cbc9b1e13..2a90c6dd1 100755 --- a/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java @@ -6,6 +6,7 @@ import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemHandlerHelper; import refinedstorage.RefinedStorageItems; import refinedstorage.inventory.ItemHandlerBasic; import refinedstorage.inventory.ItemValidatorBasic; @@ -26,11 +27,11 @@ public class TileProcessingPatternEncoder extends TileBase { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(patterns, 0, nbt); - readItems(configuration, 1, nbt); + readItems(patterns, 0, tag); + readItems(configuration, 1, tag); } public void onCreatePattern() { @@ -41,10 +42,12 @@ public class TileProcessingPatternEncoder extends TileBase { for (int i = 0; i < 18; ++i) { if (configuration.getStackInSlot(i) != null) { - if (i >= 9) { - ItemPattern.addOutput(pattern, configuration.getStackInSlot(i)); - } else { - ItemPattern.addInput(pattern, configuration.getStackInSlot(i)); + for (int j = 0; j < configuration.getStackInSlot(i).stackSize; ++j) { + if (i >= 9) { + ItemPattern.addOutput(pattern, ItemHandlerHelper.copyStackWithSize(configuration.getStackInSlot(i), 1)); + } else { + ItemPattern.addInput(pattern, ItemHandlerHelper.copyStackWithSize(configuration.getStackInSlot(i), 1)); + } } } } diff --git a/src/main/java/refinedstorage/tile/TileSolderer.java b/src/main/java/refinedstorage/tile/TileSolderer.java index 7312ff6bb..9f21c2ba2 100755 --- a/src/main/java/refinedstorage/tile/TileSolderer.java +++ b/src/main/java/refinedstorage/tile/TileSolderer.java @@ -107,20 +107,20 @@ public class TileSolderer extends TileNode { } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(items, 0, nbt); - readItems(upgrades, 1, nbt); + readItems(items, 0, tag); + readItems(upgrades, 1, tag); recipe = RefinedStorageAPI.SOLDERER_REGISTRY.getRecipe(items); - if (nbt.hasKey(NBT_WORKING)) { - working = nbt.getBoolean(NBT_WORKING); + if (tag.hasKey(NBT_WORKING)) { + working = tag.getBoolean(NBT_WORKING); } - if (nbt.hasKey(NBT_PROGRESS)) { - progress = nbt.getInteger(NBT_PROGRESS); + if (tag.hasKey(NBT_PROGRESS)) { + progress = tag.getInteger(NBT_PROGRESS); } } diff --git a/src/main/java/refinedstorage/tile/TileStorage.java b/src/main/java/refinedstorage/tile/TileStorage.java index aaa420c20..aa31fd033 100755 --- a/src/main/java/refinedstorage/tile/TileStorage.java +++ b/src/main/java/refinedstorage/tile/TileStorage.java @@ -104,25 +104,25 @@ public class TileStorage extends TileNode implements IStorageProvider, IStorageG } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(filters, 0, nbt); + readItems(filters, 0, tag); - if (nbt.hasKey(NBT_PRIORITY)) { - priority = nbt.getInteger(NBT_PRIORITY); + if (tag.hasKey(NBT_PRIORITY)) { + priority = tag.getInteger(NBT_PRIORITY); } - if (nbt.hasKey(NBT_STORAGE)) { - storageTag = nbt.getCompoundTag(NBT_STORAGE); + if (tag.hasKey(NBT_STORAGE)) { + storageTag = tag.getCompoundTag(NBT_STORAGE); } - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } } diff --git a/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java index 499c1d694..2f487a7bd 100755 --- a/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java +++ b/src/main/java/refinedstorage/tile/TileWirelessTransmitter.java @@ -27,10 +27,10 @@ public class TileWirelessTransmitter extends TileNode implements IWirelessTransm } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(upgrades, 0, nbt); + readItems(upgrades, 0, tag); } @Override diff --git a/src/main/java/refinedstorage/tile/externalstorage/TileExternalStorage.java b/src/main/java/refinedstorage/tile/externalstorage/TileExternalStorage.java index bd42ae53e..e553528e0 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/TileExternalStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/TileExternalStorage.java @@ -115,21 +115,21 @@ public class TileExternalStorage extends TileNode implements IStorageProvider, I } @Override - public void read(NBTTagCompound nbt) { - super.read(nbt); + public void read(NBTTagCompound tag) { + super.read(tag); - readItems(filters, 0, nbt); + readItems(filters, 0, tag); - if (nbt.hasKey(NBT_PRIORITY)) { - priority = nbt.getInteger(NBT_PRIORITY); + if (tag.hasKey(NBT_PRIORITY)) { + priority = tag.getInteger(NBT_PRIORITY); } - if (nbt.hasKey(NBT_COMPARE)) { - compare = nbt.getInteger(NBT_COMPARE); + if (tag.hasKey(NBT_COMPARE)) { + compare = tag.getInteger(NBT_COMPARE); } - if (nbt.hasKey(NBT_MODE)) { - mode = nbt.getInteger(NBT_MODE); + if (tag.hasKey(NBT_MODE)) { + mode = tag.getInteger(NBT_MODE); } }