mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
1. Wet the drys 2. Dry the wets 3. Wet the drys 4. Dry the wets 5. Wet the drys 6. Now dust the wets
41 lines
2.0 KiB
Diff
41 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Sun, 4 Aug 2024 19:34:29 +0800
|
|
Subject: [PATCH] Configurable player knockback zombie
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
|
index 4f0da30fa659ecabdfbd1d17e50888c32501b6e7..f744c9dca670cbbcc7549be17bf51eb683dd1ae0 100644
|
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
|
@@ -1998,6 +1998,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
|
}
|
|
|
|
public void knockback(double strength, double x, double z, @Nullable Entity attacker, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause eventCause) { // Paper - knockback events
|
|
+ if (!canKnockback(attacker, this)) return; // Leaf - Configurable player knockback zombie
|
|
+
|
|
strength *= 1.0 - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
|
|
if (true || !(strength <= 0.0)) { // CraftBukkit - Call event even when force is 0
|
|
// this.hasImpulse = true; // CraftBukkit - Move down
|
|
@@ -2028,6 +2030,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
|
}
|
|
}
|
|
|
|
+ // Leaf start - Configurable player knockback zombie
|
|
+ private boolean canKnockback(@Nullable Entity attacker, LivingEntity target) {
|
|
+ if (!org.dreeam.leaf.config.modules.gameplay.Knockback.canPlayerKnockbackZombie) {
|
|
+ if (attacker instanceof ServerPlayer && target.getType() == EntityType.ZOMBIE) { // Player -> Zombie
|
|
+ return false;
|
|
+ } else if (attacker instanceof Projectile projectile && projectile.getOwner() instanceof ServerPlayer && target.getType() == EntityType.ZOMBIE) { // Player -> projectile -> Zombie
|
|
+ return false;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ return true;
|
|
+ }
|
|
+ // Leaf end - Configurable player knockback zombie
|
|
+
|
|
public void indicateDamage(double xDistance, double zDistance) {
|
|
}
|
|
|