From 6f3b8f0a7786cddc503ee497e2f0e5a75e75d4fc Mon Sep 17 00:00:00 2001 From: Kam Date: Sat, 16 Mar 2024 14:49:32 -0400 Subject: [PATCH] Fix Shift Clicking in Carpentry Bench not showing proper results! --- .../npcs/containers/ContainerCarpentryBench.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java b/src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java index 5326753a8..0df035f26 100644 --- a/src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java +++ b/src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java @@ -55,7 +55,7 @@ public class ContainerCarpentryBench extends Container this.onCraftMatrixChanged(this.craftMatrix); } - + public int getMetadata(){ return worldObj.getBlockMetadata(posX, posY, posZ); } @@ -68,12 +68,12 @@ public class ContainerCarpentryBench extends Container { if(!this.worldObj.isRemote){ RecipeCarpentry recipe = RecipeController.Instance.findMatchingRecipe(this.craftMatrix); - + ItemStack item = null; if(recipe != null && recipe.availability.isAvailable(player)){ item = recipe.getCraftingResult(this.craftMatrix); } - + this.craftResult.setInventorySlotContents(0, item); EntityPlayerMP plmp = (EntityPlayerMP) player; plmp.playerNetServerHandler.sendPacket(new S2FPacketSetSlot(this.windowId, 0, item)); @@ -166,6 +166,16 @@ public class ContainerCarpentryBench extends Container var3.onPickupFromSlot(par1EntityPlayer, var4); } + // Update client-side inventory + if (!this.worldObj.isRemote && player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).sendContainerToPlayer(this); + } + return var2; } + + @Override + public boolean func_94530_a(ItemStack stack, Slot slotIn) { + return slotIn.inventory != this.craftResult && super.func_94530_a(stack, slotIn); + } }