mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-14 01:04:24 +00:00
30 lines
1.4 KiB
Diff
30 lines
1.4 KiB
Diff
--- ../src_base/common/net/minecraft/src/SlotCrafting.java
|
|
+++ ../src_work/common/net/minecraft/src/SlotCrafting.java
|
|
@@ -1,4 +1,8 @@
|
|
package net.minecraft.src;
|
|
+
|
|
+import net.minecraftforge.common.ForgeHooks;
|
|
+import net.minecraftforge.common.MinecraftForge;
|
|
+import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
|
|
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
|
|
@@ -119,9 +123,15 @@
|
|
|
|
if (var4.getItem().hasContainerItem())
|
|
{
|
|
- ItemStack var5 = new ItemStack(var4.getItem().getContainerItem());
|
|
+ ItemStack var5 = var4.getItem().getContainerItemStack(var4);
|
|
+
|
|
+ if (var5.isItemStackDamageable() && var5.getItemDamage() > var5.getMaxDamage())
|
|
+ {
|
|
+ MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, var5));
|
|
+ var4 = null;
|
|
+ }
|
|
|
|
- if (!var4.getItem().doesContainerItemLeaveCraftingGrid(var4) || !this.thePlayer.inventory.addItemStackToInventory(var5))
|
|
+ if (var5 != null && (!var4.getItem().doesContainerItemLeaveCraftingGrid(var4) || !this.thePlayer.inventory.addItemStackToInventory(var5)))
|
|
{
|
|
if (this.craftMatrix.getStackInSlot(var3) == null)
|
|
{
|