From 39c2d4d3c9e20507e24f73dfea7e6a439fdb6770 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Wed, 1 Dec 2021 17:58:10 +0800 Subject: [PATCH] Support irregular sized shape recipe --- .../mixin/core/world/item/crafting/ShapedRecipeMixin.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapedRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapedRecipeMixin.java index 72a4cad6..157120d5 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapedRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapedRecipeMixin.java @@ -1,6 +1,7 @@ package io.izzel.arclight.common.mixin.core.world.item.crafting; import io.izzel.arclight.common.bridge.core.item.crafting.IRecipeBridge; +import io.izzel.arclight.common.mod.util.ArclightSpecialRecipe; import net.minecraft.core.NonNullList; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -27,6 +28,9 @@ public abstract class ShapedRecipeMixin implements IRecipeBridge { @Override public Recipe bridge$toBukkitRecipe() { + if (this.getWidth() < 0 || this.getWidth() > 3 || this.getHeight() < 0 || this.getHeight() > 3) { + return new ArclightSpecialRecipe((net.minecraft.world.item.crafting.Recipe) this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftShapedRecipe recipe = new CraftShapedRecipe(result, (ShapedRecipe) (Object) this); recipe.setGroup(this.group);