Skip to content

Commit 265a326

Browse files
committed
fix #37 by providing a larger internalPatternInventory
1 parent 11d67be commit 265a326

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

src/main/java/net/neganote/gtutilities/integration/ae2/machine/ExpandedPatternBufferPartMachine.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import net.minecraft.network.chat.Component;
1616
import net.minecraft.world.item.ItemStack;
1717

18+
import appeng.api.inventories.InternalInventory;
1819
import appeng.crafting.pattern.EncodedPatternItem;
1920

2021
import java.lang.reflect.Field;
@@ -46,6 +47,28 @@ public ExpandedPatternBufferPartMachine(IMachineBlockEntity info) {
4647
recipeHandlerField.setAccessible(true);
4748
recipeHandlerField.set(this, new InternalSlotRecipeHandler(this, newInternalInv));
4849

50+
Field internalPatternInventoryField = MEPatternBufferPartMachine.class
51+
.getDeclaredField("internalPatternInventory");
52+
internalPatternInventoryField.setAccessible(true);
53+
internalPatternInventoryField.set(this, new InternalInventory() {
54+
55+
@Override
56+
public int size() {
57+
return EXPANDED_MAX_PATTERN_COUNT;
58+
}
59+
60+
@Override
61+
public ItemStack getStackInSlot(int slotIndex) {
62+
return getPatternInventory().getStackInSlot(slotIndex);
63+
}
64+
65+
@Override
66+
public void setItemDirect(int slotIndex, ItemStack stack) {
67+
getPatternInventory().setStackInSlot(slotIndex, stack);
68+
getPatternInventory().onContentsChanged(slotIndex);
69+
callPrivatePatternChange(slotIndex);
70+
}
71+
});
4972
} catch (Exception e) {
5073
throw new RuntimeException("FATAL: Failed to initialize Expanded Pattern Buffer via reflection.", e);
5174
}

0 commit comments

Comments
 (0)