PaperMC/patches/api/0386-Add-entity-knockback-API.patch
Jake Potrebic e105354330
Fix incorrect new blockdata in EntityChangeBlockEvent (#9445)
Also fixes EntityBreakDoorEvent not having the correct 'to' block data

Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock
call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of
just using the 'air' state.
2023-07-07 10:25:36 -07:00

28 lines
1.3 KiB
Diff

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 930c328880708cea182ccb031d31305e7d1c529b..14854e1325d61d0112cc928c8a5a92a8a45249d3 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1107,5 +1107,17 @@ 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
}