diff --git a/leaves-server/minecraft-patches/features/0134-Old-wet-tnt-explode-behavior.patch b/leaves-server/minecraft-patches/features/0134-Old-wet-tnt-explode-behavior.patch new file mode 100644 index 00000000..a2ace95b --- /dev/null +++ b/leaves-server/minecraft-patches/features/0134-Old-wet-tnt-explode-behavior.patch @@ -0,0 +1,18 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MC_XiaoHei +Date: Fri, 4 Jul 2025 08:55:31 +0800 +Subject: [PATCH] Old wet tnt explode behavior + + +diff --git a/net/minecraft/world/level/ServerExplosion.java b/net/minecraft/world/level/ServerExplosion.java +index 07e4025ca6c9c31905db2e6921138a0ded479dde..87635f6db2f1e77edc7ba6a26e9818d070a9faf7 100644 +--- a/net/minecraft/world/level/ServerExplosion.java ++++ b/net/minecraft/world/level/ServerExplosion.java +@@ -729,6 +729,7 @@ public class ServerExplosion implements Explosion { + public boolean shouldAffectBlocklikeEntities() { + boolean _boolean = this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); + boolean flag = this.source == null || this.source.getType() != EntityType.BREEZE_WIND_CHARGE && this.source.getType() != EntityType.WIND_CHARGE; ++ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.tntWetExplosionNoItemDamage) flag = flag && (this.source == null || !this.source.isInWater()); // Leaves - Old MC TNT wet explosion no item damage + return _boolean ? flag : this.blockInteraction.shouldAffectBlocklikeEntities() && flag; + } + diff --git a/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java b/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java index 9f5c09f7..2e30c03d 100644 --- a/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java +++ b/leaves-server/src/main/java/org/leavesmc/leaves/LeavesConfig.java @@ -352,6 +352,9 @@ public final class LeavesConfig { @GlobalConfig("keep-leash-connect-when-use-firework") public boolean keepLeashConnectWhenUseFirework = false; + + @GlobalConfig("tnt-wet-explosion-no-item-damage") + public boolean tntWetExplosionNoItemDamage = false; } public ElytraAeronauticsConfig elytraAeronautics = new ElytraAeronauticsConfig();