Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions paper-server/patches/features/0028-Optimize-Hoppers.patch
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ index 9c6e5c3be20dff800938445c31523a8bac86ab06..21500194b5c92baa6ab82503165b1131
/* Drop global time updates
if (this.tickCount % 20 == 0) {
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
index f2747ca200ae1f0bc5d744167487feb1161ce7ea..ed06cffe8a5eba2ca4a34ade81f8185e21d7b651 100644
index 3898d48017e1a4672ac38482a6b58c7d81848e8d..49ed9675da40eb5c11deb8985023de1cf72e1579 100644
--- a/net/minecraft/world/item/ItemStack.java
+++ b/net/minecraft/world/item/ItemStack.java
@@ -813,10 +813,16 @@ public final class ItemStack implements DataComponentHolder {
@@ -825,10 +825,16 @@ public final class ItemStack implements DataComponentHolder {
}

public ItemStack copy() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
}
}
};
@@ -371,10 +_,166 @@
@@ -371,10 +_,178 @@
return InteractionResult.PASS;
} else {
Item item = this.getItem();
Expand All @@ -40,11 +40,17 @@
+ serverLevel.captureTreeGeneration = true;
+ }
+ }
+ List<ItemEntity> capturedDrops;
+ if (item instanceof HoeItem) {
+ serverLevel.captureDrops = new java.util.ArrayList<>();
+ }
+ InteractionResult interactionResult;
+ try {
+ interactionResult = item.useOn(context);
+ } finally {
+ serverLevel.captureBlockStates = false;
+ capturedDrops = serverLevel.captureDrops;
+ serverLevel.captureDrops = null;
+ }
+ DataComponentPatch newPatch = this.components.asPatch();
+ int newCount = this.getCount();
Expand Down Expand Up @@ -183,6 +189,12 @@
+ serverLevel.playSound(player, clickedPos, soundType.getPlaceSound(), net.minecraft.sounds.SoundSource.BLOCKS, (soundType.getVolume() + 1.0F) / 2.0F, soundType.getPitch() * 0.8F);
+ }
+
+ if (capturedDrops != null) {
+ for (ItemEntity drop : capturedDrops) {
+ serverLevel.addFreshEntity(drop);
+ }
+ }
+
+ player.awardStat(Stats.ITEM_USED.get(item));
+ }
}
Expand Down
Loading