From bf8fa5d2862ba2657436448dbf4fab94dd4b284e Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Wed, 16 Nov 2016 19:15:24 -0500 Subject: [PATCH] Fix crafting causing crash (#3388) Closes #3387 --- .../java/net/minecraftforge/common/ForgeHooks.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minecraftforge/common/ForgeHooks.java b/src/main/java/net/minecraftforge/common/ForgeHooks.java index 87d61db0a4..82ad3c3c9a 100644 --- a/src/main/java/net/minecraftforge/common/ForgeHooks.java +++ b/src/main/java/net/minecraftforge/common/ForgeHooks.java @@ -125,6 +125,8 @@ import net.minecraftforge.fml.common.FMLLog; import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraftforge.fml.relauncher.ReflectionHelper; +import javax.annotation.Nonnull; + public class ForgeHooks { //TODO: Loot tables? @@ -957,21 +959,20 @@ public class ForgeHooks { return craftingPlayer.get(); } - public static ItemStack getContainerItem(ItemStack stack) + @Nonnull + public static ItemStack getContainerItem(@Nonnull ItemStack stack) { - if (stack == null) return null; - if (stack.getItem().hasContainerItem(stack)) { stack = stack.getItem().getContainerItem(stack); - if (stack != null && stack.isItemStackDamageable() && stack.getMetadata() > stack.getMaxDamage()) + if (!stack.func_190926_b() && stack.isItemStackDamageable() && stack.getMetadata() > stack.getMaxDamage()) { ForgeEventFactory.onPlayerDestroyItem(craftingPlayer.get(), stack, null); - return null; + return ItemStack.field_190927_a; } return stack; } - return null; + return ItemStack.field_190927_a; } public static boolean isInsideOfMaterial(Material material, Entity entity, BlockPos pos)