mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 10:44:39 +01:00
b10550736e
Their chunk is set to null before removal, so we kept them around.
32 lines
No EOL
1.9 KiB
Diff
32 lines
No EOL
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MisterVector <whizkid3000@hotmail.com>
|
|
Date: Thu, 1 Nov 2018 14:50:05 -0700
|
|
Subject: [PATCH] MC-136865: Use valid item for enchantment checks on block
|
|
break
|
|
|
|
When an itemstack runs out of durability, the amount is reduced to
|
|
0 which then marks the item as invalid. This causes the last unit
|
|
of durability to not apply enchantments as the enchantment level
|
|
check sees the item as a dud.
|
|
|
|
keep the clone of the item used to a non empty value so it represents
|
|
the item used.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
index f692da609b..5bc8bd7cdc 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
@@ -0,0 +0,0 @@ public class PlayerInteractManager {
|
|
ItemStack itemstack1 = this.player.getItemInMainHand();
|
|
boolean flag1 = this.player.hasBlock(iblockdata);
|
|
|
|
+ ItemStack itemstack2 = flag && flag1 && event.isDropItems() && !itemstack1.isEmpty() ? itemstack1.cloneItemStack() : ItemStack.a; // Paper - MC-136865 - clone before use
|
|
itemstack1.a(this.world, iblockdata, blockposition, this.player);
|
|
// CraftBukkit start - Check if block should drop items
|
|
if (flag && flag1 && event.isDropItems()) {
|
|
- ItemStack itemstack2 = itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack();
|
|
+ //ItemStack itemstack2 = itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack(); // Paper - MC-136865 - move up
|
|
|
|
iblockdata.getBlock().a(this.world, this.player, blockposition, iblockdata, tileentity, itemstack2);
|
|
}
|
|
--
|