mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 04:17:44 +01:00
8ed2992da9
Portion of diff was dropped in the mappings update commit. Also remove the option to remove invalid statistics. The server will automatically do this now as of... 1.13?, our option wasn't even doing anything.
35 lines
1.9 KiB
Diff
35 lines
1.9 KiB
Diff
From cf16bcbcc159e8788f7c77444ba2de728b9aa206 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 23fc4d8e1..0b6c25936 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
@@ -375,10 +375,11 @@ 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);
|
|
}
|
|
--
|
|
2.20.0
|
|
|