From 38131305ce96a54b4138e168bfe84b662da14d0b Mon Sep 17 00:00:00 2001 From: way2muchnoise Date: Fri, 28 Oct 2016 19:17:32 +0200 Subject: [PATCH 1/3] use internal stack for the oredict list --- .../apiimpl/util/OreDictedItemStackList.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java index 3f9c9b907..0ee236e3f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java @@ -35,9 +35,10 @@ public class OreDictedItemStackList implements IItemStackList { @Override public void add(ItemStack stack) { underlyingList.add(stack); - if (underlyingList.get(stack).stackSize == stack.stackSize) { - for (int id : OreDictionary.getOreIDs(stack)) { - stacks.put(id, stack); + ItemStack internalStack = underlyingList.get(stack); + if (internalStack != null && internalStack.stackSize == stack.stackSize) { + for (int id : OreDictionary.getOreIDs(internalStack)) { + stacks.put(id, internalStack); } } } From a1c34e3b8fc87d8c601388bc7b90aef28bc8357f Mon Sep 17 00:00:00 2001 From: way2muchnoise Date: Fri, 28 Oct 2016 21:29:00 +0200 Subject: [PATCH 2/3] OreDictedItemStackList shouldn't let the underlying IItemStackList do oredict related stuff --- .../refinedstorage/apiimpl/util/OreDictedItemStackList.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java index 0ee236e3f..506e4f2b5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/OreDictedItemStackList.java @@ -84,7 +84,8 @@ public class OreDictedItemStackList implements IItemStackList { } } } - return underlyingList.get(stack, flags); + // Check the underlying list but don't do oredict things, as that has been tried before + return underlyingList.get(stack, flags & ~IComparer.COMPARE_OREDICT); } @Nullable From 2325676c677574fbe9a6f0702039568c1f5eb421 Mon Sep 17 00:00:00 2001 From: Speiger Date: Sat, 29 Oct 2016 14:22:54 +0200 Subject: [PATCH 3/3] Fixing a common bug on EU Supporters (#542) * Fixing a common bug on IC2 Supporters As i told in the doc. IC2 has tiers in EU. The limit is 0-13 if you go any higher or lower then you start to reset. Basicly Anything higher is overflowing a Integer also causes longer math etc. HV i think is the perfect voltage for 1 reason: EU Has energy Packets in Both IC2s. That means You can send in 10 Million EU per tick but these are only HV Packets so nothing will explode. So if anyone tries to do this bla bla bla... Anyway if you think 3 is to low. Go higher but stay in range of 0-13 Classic would reset you to LV if you do that... * Update ControllerEnergyIC2.java Removed Info Text --- .../refinedstorage/integration/ic2/ControllerEnergyIC2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/ic2/ControllerEnergyIC2.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/ic2/ControllerEnergyIC2.java index 6572917c5..1699c1475 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/ic2/ControllerEnergyIC2.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/ic2/ControllerEnergyIC2.java @@ -8,7 +8,7 @@ public class ControllerEnergyIC2 implements IControllerEnergyIC2 { private BasicSink sink; public ControllerEnergyIC2(final TileController controller) { - this.sink = new BasicSink(controller, (int) IntegrationIC2.toEU(controller.getEnergy().getMaxEnergyStored()), Integer.MAX_VALUE) { + this.sink = new BasicSink(controller, (int) IntegrationIC2.toEU(controller.getEnergy().getMaxEnergyStored()), 3) { @Override public double getDemandedEnergy() { return Math.max(0.0D, IntegrationIC2.toEU(controller.getEnergy().getMaxEnergyStored()) - IntegrationIC2.toEU(controller.getEnergy().getEnergyStored()));