diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch index c77182c079..d0c197c400 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch @@ -37,7 +37,7 @@ if (!fluid.is(FluidTags.WATER)) { return BlockPos.TraversalNodeStatus.SKIP; -@@ -78,27 +88,64 @@ +@@ -78,27 +88,68 @@ if (block instanceof BucketPickup) { BucketPickup ifluidsource = (BucketPickup) block; @@ -96,7 +96,11 @@ + } else if (iblockdata.is(Blocks.KELP) || iblockdata.is(Blocks.KELP_PLANT) || iblockdata.is(Blocks.SEAGRASS) || iblockdata.is(Blocks.TALL_SEAGRASS)) { + BlockEntity tileentity = iblockdata.hasBlockEntity() ? world.getBlockEntity(blockposition1) : null; + ++ // Paper start - Fix SpongeAbsortEvent handling ++ if (block.getHandle().isAir()) { + dropResources(iblockdata, world, blockposition1, tileentity); ++ } ++ // Paper end - Fix SpongeAbsortEvent handling + } + } + world.setBlock(blockposition1, block.getHandle(), block.getFlag());