diff --git a/CHANGELOG.md b/CHANGELOG.md index c5416ac14..f17be577c 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed + +- Fixed JEI transfer for larger processing recipes + ## [1.12.3] - 2023-07-07 ### Fixed diff --git a/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java b/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java index a8027d27a..d80761137 100644 --- a/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java +++ b/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java @@ -19,7 +19,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.Recipe; import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.Nullable; @@ -127,7 +127,13 @@ public class GridRecipeTransferHandler implements IRecipeTransferHandler castRecipe) + { + isCraftingRecipe = castRecipe.getType() == net.minecraft.world.item.crafting.RecipeType.CRAFTING; + } + + if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !isCraftingRecipe) { moveForProcessing(recipeLayout, gridContainer, player); } else { move(recipeLayout); diff --git a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java index 406c219da..a2fec9729 100644 --- a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java +++ b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java @@ -13,7 +13,7 @@ import net.minecraftforge.network.NetworkEvent; import java.util.List; import java.util.function.Supplier; public class GridTransferMessage { - private final ItemStack[][] recipe = new ItemStack[9][]; + private ItemStack[][] recipe; List> inputs; public GridTransferMessage() { @@ -26,6 +26,7 @@ public class GridTransferMessage { public static GridTransferMessage decode(FriendlyByteBuf buf) { GridTransferMessage msg = new GridTransferMessage(); int slots = buf.readInt(); + msg.recipe = new ItemStack[slots][]; for (int i = 0; i < slots; i++) { int numberOfIngredients = buf.readInt(); msg.recipe[i] = new ItemStack[numberOfIngredients];