diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/BlastingRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/BlastingRecipeMixin.java index 6df2effb..ccdbe8b5 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/BlastingRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/BlastingRecipeMixin.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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; @@ -24,6 +25,9 @@ public abstract class BlastingRecipeMixin extends AbstractCookingRecipe implemen @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe(this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftBlastingRecipe recipe = new CraftBlastingRecipe(CraftNamespacedKey.fromMinecraft(this.getId()), result, CraftRecipe.toBukkit(this.ingredient), this.experience, this.cookingTime); recipe.setGroup(this.group); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/CampfireCookingRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/CampfireCookingRecipeMixin.java index 7537e31e..461764b2 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/CampfireCookingRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/CampfireCookingRecipeMixin.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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; @@ -24,6 +25,9 @@ public abstract class CampfireCookingRecipeMixin extends AbstractCookingRecipe i @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe(this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftCampfireRecipe recipe = new CraftCampfireRecipe(CraftNamespacedKey.fromMinecraft(this.getId()), result, CraftRecipe.toBukkit(this.ingredient), this.experience, this.cookingTime); recipe.setGroup(this.group); 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 c72595d3..775bb88c 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 @@ -30,7 +30,7 @@ public abstract class ShapedRecipeMixin implements IRecipeBridge { @Override public Recipe bridge$toBukkitRecipe() { - if (this.getWidth() < 0 || this.getWidth() > 3 || this.getHeight() < 0 || this.getHeight() > 3) { + if (this.getWidth() < 1 || this.getWidth() > 3 || this.getHeight() < 1 || this.getHeight() > 3 || this.result.isEmpty()) { return new ArclightSpecialRecipe((net.minecraft.world.item.crafting.Recipe) this); } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapelessRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapelessRecipeMixin.java index 161148e6..0410cf71 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapelessRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/ShapelessRecipeMixin.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.CraftingBookCategory; @@ -22,12 +23,15 @@ public abstract class ShapelessRecipeMixin implements IRecipeBridge { @Shadow @Final String group; @Shadow @Final NonNullList ingredients; @Shadow public abstract CraftingBookCategory category(); - // @formatter:off + // @formatter:on @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe((ShapelessRecipe) (Object) this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); - CraftShapelessRecipe recipe = new CraftShapelessRecipe(result, (ShapelessRecipe)(Object) this); + CraftShapelessRecipe recipe = new CraftShapelessRecipe(result, (ShapelessRecipe) (Object) this); recipe.setGroup(this.group); recipe.setCategory(CraftRecipe.getCategory(this.category())); for (Ingredient list : this.ingredients) { diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmeltingRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmeltingRecipeMixin.java index ab971608..6c4e7a9b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmeltingRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmeltingRecipeMixin.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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; @@ -24,6 +25,9 @@ public abstract class SmeltingRecipeMixin extends AbstractCookingRecipe implemen @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe(this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftFurnaceRecipe recipe = new CraftFurnaceRecipe(CraftNamespacedKey.fromMinecraft(this.id), result, CraftRecipe.toBukkit(this.ingredient), this.experience, this.cookingTime); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmithingRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmithingRecipeMixin.java index 97459227..1a931ce3 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmithingRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmithingRecipeMixin.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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -26,6 +27,9 @@ public class SmithingRecipeMixin implements IRecipeBridge { @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe((UpgradeRecipe) (Object) this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); return new CraftSmithingRecipe(CraftNamespacedKey.fromMinecraft(this.id), result, CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition)); } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmokingRecipeMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmokingRecipeMixin.java index 669a67d2..f00b052a 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmokingRecipeMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/item/crafting/SmokingRecipeMixin.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.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; @@ -24,6 +25,9 @@ public abstract class SmokingRecipeMixin extends AbstractCookingRecipe implement @Override public Recipe bridge$toBukkitRecipe() { + if (this.result.isEmpty()) { + return new ArclightSpecialRecipe(this); + } CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftSmokingRecipe recipe = new CraftSmokingRecipe(CraftNamespacedKey.fromMinecraft(this.getId()), result, CraftRecipe.toBukkit(this.ingredient), this.experience, this.cookingTime); recipe.setGroup(this.group); diff --git a/build.gradle b/build.gradle index d49baaeb..ecedee83 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ allprojects { apiVersion = '1.5.1' toolsVersion = '1.3.0' mixinVersion = '0.8.5' - versionName = 'horn' + versionName = 'great-horn' gitHash = getGitHash() }