mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 17:07:34 +01:00
dc684c60d1
The new behavior of disconnect to block the current thread until the disconnect succeeded is better than throwing it off to happen at some point
32 lines
2.1 KiB
Diff
32 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 8 Oct 2021 13:12:58 -0700
|
|
Subject: [PATCH] Fix cancelled powdered snow bucket placement
|
|
|
|
Cancelling the placement of powdered snow from the powdered
|
|
snow bucket didn't revert grass that became snowy because of the
|
|
placement.
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
index ebc5f2e8d59da4bec25ff156ec95fe49366be59c..823146a66de8ce13e6dc6faf2fd135480bd51c3a 100644
|
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
@@ -422,7 +422,7 @@ public final class ItemStack implements DataComponentHolder {
|
|
int oldCount = this.getCount();
|
|
ServerLevel world = (ServerLevel) context.getLevel();
|
|
|
|
- if (!(item instanceof BucketItem || item instanceof SolidBucketItem)) { // if not bucket
|
|
+ if (!(item instanceof BucketItem/* || item instanceof SolidBucketItem*/)) { // if not bucket // Paper - Fix cancelled powdered snow bucket placement
|
|
world.captureBlockStates = true;
|
|
// special case bonemeal
|
|
if (item == Items.BONE_MEAL) {
|
|
@@ -482,7 +482,7 @@ public final class ItemStack implements DataComponentHolder {
|
|
world.capturedBlockStates.clear();
|
|
if (blocks.size() > 1) {
|
|
placeEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockMultiPlaceEvent(world, entityhuman, enumhand, blocks, blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
|
- } else if (blocks.size() == 1) {
|
|
+ } else if (blocks.size() == 1 && item != Items.POWDER_SNOW_BUCKET) { // Paper - Fix cancelled powdered snow bucket placement
|
|
placeEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(world, entityhuman, enumhand, blocks.get(0), blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
|
}
|
|
|