Adjust RotationTrait head yaw cone

This commit is contained in:
fullwall 2023-05-01 00:18:57 +08:00
parent 0899a5fab7
commit 8b1550dc43
2 changed files with 16 additions and 9 deletions

View File

@ -459,15 +459,22 @@ public class RotationTrait extends Trait {
: Util.clamp(params.rotateHeadYawTowards(t, rot.headYaw, getTargetYaw()));
if (!params.headOnly) {
float d = Util.clamp(rot.headYaw - 20);
if (d > rot.bodyYaw) {
rot.bodyYaw = d;
float lo = Util.clamp(rot.headYaw - 20);
float hi = Util.clamp(rot.headYaw + 20);
if (hi < 0 && lo > 0) {
float i = hi;
hi = lo;
lo = i;
}
if (d != rot.bodyYaw) {
d = Util.clamp(rot.headYaw + 20);
if (d < rot.bodyYaw) {
rot.bodyYaw = d;
}
boolean contained = false;
float body = Util.clamp(rot.bodyYaw);
if (hi > 0 && lo < 0) {
contained = body >= hi || body <= lo;
} else {
contained = body >= lo && body <= hi;
}
if (!contained) {
rot.bodyYaw = Math.abs(body - lo) > Math.abs(body - hi) ? hi : lo;
}
}

View File

@ -67,7 +67,7 @@ public class CitizensEntityTracker extends ChunkMap.TrackedEntity {
new ClientboundMoveEntityPacket.Rot(tracker.getId(),
(byte) (tracker.getYRot() * 256.0F / 360.0F),
(byte) (tracker.getXRot() * 256.0F / 360.0F), tracker.onGround));
}, 10);
}, 1);
return;
}
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), () -> {