mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-28 19:22:50 +01:00
47b9a5d178
Optimizes small movements by entities by merging the movement into the entities next larger movement, until enough movement velocity has been hit. This reduces collision detection and able to reduce movement cpu cost by 5-7%. The default option of 0.75 seems to provide all the gains without any noticable behavior change to entity movement. We have to exclude slimes due to weird jumping animation bugs.
36 lines
1.7 KiB
Diff
36 lines
1.7 KiB
Diff
From 1e51c493238f91608639b9fb04b67737ff5b93e5 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 23fc4d8e14..dbbd1f3341 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
|
@@ -378,8 +378,13 @@ public class PlayerInteractManager {
|
|
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();
|
|
+ // Paper start - fixes MC-136865
|
|
+ ItemStack itemstack2 = itemstack1.cloneItemStack(true);
|
|
|
|
+ if (itemstack2.isEmpty()) {
|
|
+ itemstack2.add(1);
|
|
+ }
|
|
+ // Paper end
|
|
iblockdata.getBlock().a(this.world, this.player, blockposition, iblockdata, tileentity, itemstack2);
|
|
}
|
|
// CraftBukkit end
|
|
--
|
|
2.19.1
|
|
|