9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 11:59:17 +00:00

feat: old projectile explosion behavior(#516)

This commit is contained in:
MC_XiaoHei
2025-07-04 09:12:37 +08:00
parent 6e8796c4ac
commit 6483a9bb1d
2 changed files with 22 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MC_XiaoHei <xor7xiaohei@gmail.com>
Date: Fri, 4 Jul 2025 09:11:46 +0800
Subject: [PATCH] Old projectile explosion behavior
diff --git a/net/minecraft/world/level/ServerExplosion.java b/net/minecraft/world/level/ServerExplosion.java
index 87635f6db2f1e77edc7ba6a26e9818d070a9faf7..b4a63faf11d4bf153d079aba5cfea7ed022891f7 100644
--- a/net/minecraft/world/level/ServerExplosion.java
+++ b/net/minecraft/world/level/ServerExplosion.java
@@ -551,7 +551,7 @@ public class ServerExplosion implements Explosion {
// Paper end - knockback events
}
// CraftBukkit end
- entity.push(vec3);
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.oldProjectileExplosionBehavior) entity.setDeltaMovement(entity.getDeltaMovement().add(vec3)); else entity.push(vec3); // Leaves - old projectile explosion behavior
if (entity instanceof Player player && !player.isSpectator() && (!player.isCreative() || !player.getAbilities().flying) && !level.paperConfig().environment.disableExplosionKnockback) { // Paper - Option to disable explosion knockback
this.hitPlayers.put(player, vec3);
}

View File

@@ -355,6 +355,9 @@ public final class LeavesConfig {
@GlobalConfig("tnt-wet-explosion-no-item-damage")
public boolean tntWetExplosionNoItemDamage = false;
@GlobalConfig("old-projectile-explosion-behavior")
public boolean oldProjectileExplosionBehavior = false;
}
public ElytraAeronauticsConfig elytraAeronautics = new ElytraAeronauticsConfig();