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 e2d3c81790cbbc514cc4bb045d8565c56fb75e4a..96579becd1d21a4288a6f8fc5980c04cd1934f78 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1139,6 +1139,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 94f65fdc4e5657cc765bf63710621c2d24b7b27b..bd616462bc65063bd19683aa1674072a6f7da94a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1076,6 +1076,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) {