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 a42be7d446e7066b5451f58834901672c293a34b..f02b6803e1fe9f3a18e47cd7b5e6776eb6fe183a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1450,6 +1450,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 4591d57052e2d0499d441efa13e8b43c606665b0..1ad5a4703f7164bb530262e1459dc73302cc8e48 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1072,6 +1072,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) {