From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: TheTuso Date: Thu, 2 Feb 2023 16:40:41 +0100 Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java index 243726b6f503acc7d8ced18fbc4e697982a3fc4f..8692e54ee6defecf391884488121fef84731eac6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1135,6 +1135,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInPowderedSnow() { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } + + @Override + public double getX() { + return this.entity.getX(); + } + + @Override + public double getY() { + return this.entity.getY(); + } + + @Override + public double getZ() { + return this.entity.getZ(); + } + + @Override + public float getPitch() { + return this.entity.getXRot(); + } + + @Override + public float getYaw() { + return this.entity.getBukkitYaw(); + } // Paper end // Paper start - Collision API @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 97c7bb2032584847f2f8a946c1f8d13fef908edf..310ce32708601d95cda2647e101d02d48ccdbb77 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1075,6 +1075,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.damageItemStack0(this.getHandle().getItemBySlot(nmsSlot), amount, nmsSlot); } + @Override + public float getBodyYaw() { + return this.getHandle().getVisualRotationYInDegrees(); + } + + @Override + public void setBodyYaw(float bodyYaw) { + this.getHandle().setYBodyRot(bodyYaw); + } + private void damageItemStack0(net.minecraft.world.item.ItemStack nmsStack, int amount, net.minecraft.world.entity.EquipmentSlot slot) { nmsStack.hurtAndBreak(amount, this.getHandle(), livingEntity -> { if (slot != null) {