mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
Add LivingEntity knockback API (#8479)
This commit is contained in:
parent
154762a316
commit
cd71f3c427
2 changed files with 50 additions and 0 deletions
28
patches/api/Add-entity-knockback-API.patch
Normal file
28
patches/api/Add-entity-knockback-API.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: MelnCat <melncatuwu@gmail.com>
|
||||||
|
Date: Sun, 16 Oct 2022 12:10:00 -0700
|
||||||
|
Subject: [PATCH] Add entity knockback API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
|
@@ -0,0 +0,0 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||||
|
this.swingOffHand();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Knocks back this entity from a specific direction with a specified strength. Mechanics such
|
||||||
|
+ * as knockback resistance will be factored in.
|
||||||
|
+ *
|
||||||
|
+ * The direction specified in this method will be the direction of the source of the knockback,
|
||||||
|
+ * so the entity will be pushed in the opposite direction.
|
||||||
|
+ * @param strength The strength of the knockback. Must be greater than 0.
|
||||||
|
+ * @param directionX The relative x position of the knockback source direction
|
||||||
|
+ * @param directionZ The relative z position of the knockback source direction
|
||||||
|
+ */
|
||||||
|
+ void knockback(double strength, double directionX, double directionZ);
|
||||||
|
// Paper end
|
||||||
|
}
|
22
patches/server/Add-entity-knockback-API.patch
Normal file
22
patches/server/Add-entity-knockback-API.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: MelnCat <melncatuwu@gmail.com>
|
||||||
|
Date: Sun, 16 Oct 2022 12:10:17 -0700
|
||||||
|
Subject: [PATCH] Add entity knockback API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
|
}
|
||||||
|
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void knockback(double strength, double directionX, double directionZ) {
|
||||||
|
+ Preconditions.checkArgument(strength > 0, "Knockback strength must be > 0");
|
||||||
|
+ getHandle().knockback(strength, directionX, directionZ);
|
||||||
|
+ };
|
||||||
|
// Paper end
|
||||||
|
}
|
Loading…
Reference in a new issue