diff --git a/patches/server/0721-Allow-explosions-under-0-height.patch b/patches/server/0721-Allow-explosions-under-0-height.patch new file mode 100644 index 0000000000..d1d9b13967 --- /dev/null +++ b/patches/server/0721-Allow-explosions-under-0-height.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shane Freeder +Date: Thu, 24 Jun 2021 01:42:35 +0100 +Subject: [PATCH] Allow explosions under 0 height + +Upstream forgot to update the check here which prevents explosions +occuring under 0 height, however, vanilla already checks that we +are in bounds of the world above this, so this call is entirely +redundant. + +diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java +index d4785160c1477ed13343e30c913b08175011d048..fb50ee3daba9f4fe8cc173c209521679a59f23d7 100644 +--- a/src/main/java/net/minecraft/world/level/Explosion.java ++++ b/src/main/java/net/minecraft/world/level/Explosion.java +@@ -190,7 +190,7 @@ public class Explosion { + f -= ((Float) optional.get() + 0.3F) * 0.3F; + } + +- if (f > 0.0F && this.damageCalculator.shouldBlockExplode(this, this.level, blockposition, iblockdata, f) && blockposition.getY() < 256 && blockposition.getY() >= 0) { // CraftBukkit - don't wrap explosions ++ if (f > 0.0F && this.damageCalculator.shouldBlockExplode(this, this.level, blockposition, iblockdata, f)/* && blockposition.getY() < 256 && blockposition.getY() >= 0*/) { // CraftBukkit - don't wrap explosions // Paper - permit < 0 + set.add(blockposition); + // Paper start - prevent headless pistons from forming + if (!com.destroystokyo.paper.PaperConfig.allowHeadlessPistons && iblockdata.getBlock() == Blocks.MOVING_PISTON) {