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 55a9c4eb0fe1b912e5ff6c9bb81b46674f71868a..e043a43ebda1df7b78c1368ce33a3648345bcb08 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 bee23867ae7fdc62ee93277ae1959d6a7df7f5b6..4abfe34ee595fef3e1253090410c6309d3459a84 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1113,6 +1113,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) {