From 92412e0a721e4aae3085d2a07887622f38c12681 Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Mon, 7 Jul 2025 15:37:26 +0800 Subject: [PATCH] feat: add Old Explosion Damage Calculator support(#25) Co-authored by: MC_XiaoHei As a part of : Leaves (https://github.com/LeavesMC/Leaves/blob/3e96b237749a960f297f211d439ffc9ea7fd2381/leaves-server/minecraft-patches/features/0134-Old-wet-tnt-explode-behavior.patch) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) --- ...0012-Old-Explosion-Damage-Calculator.patch | 21 +++++++++++++++++++ ...ch => 0014-Old-zombie-reinforcement.patch} | 0 ...-support.patch => 0015-I18n-support.patch} | 0 .../config/modules/misc/OldFeatureConfig.java | 3 +++ 4 files changed, 24 insertions(+) create mode 100644 lophine-server/minecraft-patches/features/0012-Old-Explosion-Damage-Calculator.patch rename lophine-server/minecraft-patches/features/{0012-Old-zombie-reinforcement.patch => 0014-Old-zombie-reinforcement.patch} (100%) rename lophine-server/minecraft-patches/features/{0014-I18n-support.patch => 0015-I18n-support.patch} (100%) diff --git a/lophine-server/minecraft-patches/features/0012-Old-Explosion-Damage-Calculator.patch b/lophine-server/minecraft-patches/features/0012-Old-Explosion-Damage-Calculator.patch new file mode 100644 index 0000000..5ee68d7 --- /dev/null +++ b/lophine-server/minecraft-patches/features/0012-Old-Explosion-Damage-Calculator.patch @@ -0,0 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Helvetica Volubi +Date: Mon, 7 Jul 2025 15:33:57 +0800 +Subject: [PATCH] Old Explosion Damage Calculator + +Co-authored by: MC_XiaoHei +As a part of : Leaves (https://github.com/LeavesMC/Leaves/blob/3e96b237749a960f297f211d439ffc9ea7fd2381/leaves-server/minecraft-patches/features/0134-Old-wet-tnt-explode-behavior.patch) +Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) + +diff --git a/net/minecraft/world/level/ServerExplosion.java b/net/minecraft/world/level/ServerExplosion.java +index b3e897a4afee742b5055d652ad7047a660d8ea04..cf8869fac003c73024634078b2f7b36cddda640e 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 (fun.bm.lophine.config.modules.misc.OldFeatureConfig.oldExplosionDamageCalculator) 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/lophine-server/minecraft-patches/features/0012-Old-zombie-reinforcement.patch b/lophine-server/minecraft-patches/features/0014-Old-zombie-reinforcement.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0012-Old-zombie-reinforcement.patch rename to lophine-server/minecraft-patches/features/0014-Old-zombie-reinforcement.patch diff --git a/lophine-server/minecraft-patches/features/0014-I18n-support.patch b/lophine-server/minecraft-patches/features/0015-I18n-support.patch similarity index 100% rename from lophine-server/minecraft-patches/features/0014-I18n-support.patch rename to lophine-server/minecraft-patches/features/0015-I18n-support.patch diff --git a/lophine-server/src/main/java/fun/bm/lophine/config/modules/misc/OldFeatureConfig.java b/lophine-server/src/main/java/fun/bm/lophine/config/modules/misc/OldFeatureConfig.java index 71597ee..7c7575b 100644 --- a/lophine-server/src/main/java/fun/bm/lophine/config/modules/misc/OldFeatureConfig.java +++ b/lophine-server/src/main/java/fun/bm/lophine/config/modules/misc/OldFeatureConfig.java @@ -14,6 +14,9 @@ public class OldFeatureConfig implements IConfigModule { @ConfigInfo(baseName = "old_replaceable_by_mushrooms") public static boolean oldReplaceableByMushrooms = false; + @ConfigInfo(baseName = "old_explosion_damage_calculator") + public static boolean oldExplosionDamageCalculator = false; + @Override public EnumConfigCategory getCategory() { return EnumConfigCategory.MISC;