aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0289-Fix-SpongeAbsortEvent-handling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0289-Fix-SpongeAbsortEvent-handling.patch')
-rw-r--r--patches/server/0289-Fix-SpongeAbsortEvent-handling.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/patches/server/0289-Fix-SpongeAbsortEvent-handling.patch b/patches/server/0289-Fix-SpongeAbsortEvent-handling.patch
new file mode 100644
index 0000000000..a527364310
--- /dev/null
+++ b/patches/server/0289-Fix-SpongeAbsortEvent-handling.patch
@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shane Freeder <[email protected]>
+Date: Sat, 10 Nov 2018 05:15:21 +0000
+Subject: [PATCH] Fix SpongeAbsortEvent handling
+
+Only process drops when the block is actually going to be removed
+
+diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+index 8fe119f1ce36ce9ee63a1ba32df0ae8645b6a669..7304b2659eb45bc4bc9fa7c43e6ca07221d0fc73 100644
+--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
++++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+@@ -129,8 +129,11 @@ public class SpongeBlock extends Block {
+ // NOP
+ } else if (material == Material.WATER_PLANT || material == Material.REPLACEABLE_WATER_PLANT) {
+ BlockEntity tileentity = iblockdata.hasBlockEntity() ? world.getBlockEntity(blockposition2) : null;
+-
+- dropResources(iblockdata, world, blockposition2, tileentity);
++ // Paper start
++ if (block.getHandle().getMaterial() == Material.AIR) {
++ dropResources(iblockdata, world, blockposition2, tileentity);
++ }
++ // Paper end
+ }
+ }
+ world.setBlock(blockposition2, block.getHandle(), block.getFlag());