Fix yaw/pitch calculations for face towards yaw/pitch
This commit is contained in:
parent
70c4ab6da8
commit
7f1bb5b2b7
|
@ -372,7 +372,7 @@ public class NPCCommands {
|
|||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "command|cmd (add [command] | remove [id] | permissions [permissions] | sequential | random | (exp|item)cost [cost]) (-l[eft]/-r[ight]) (-p[layer] -o[p]), --(g)cooldown [seconds] --delay [ticks] --permissions [perms] --n [max # of uses]",
|
||||
usage = "command|cmd (add [command] | remove [id] | permissions [permissions] | sequential | random | (exp|item)cost [cost]) (-l[eft]/-r[ight]) (-p[layer] -o[p]), --cooldown|--gcooldown [seconds] --delay [ticks] --permissions [perms] --n [max # of uses]",
|
||||
desc = "Controls commands which will be run when clicking on an NPC",
|
||||
help = Messages.NPC_COMMAND_HELP,
|
||||
modifiers = { "command", "cmd" },
|
||||
|
@ -1178,7 +1178,7 @@ public class NPCCommands {
|
|||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "lookclose --range [range] -r[ealistic looking] --(random|r)look [true|false] --(random|r)pitchrange [min,max] --(random|r)yawrange [min,max]",
|
||||
usage = "lookclose --range [range] -r[ealistic looking] --randomlook [true|false] --randompitchrange [min,max] --randomyawrange [min,max]",
|
||||
desc = "Toggle whether a NPC will look when a player is near",
|
||||
modifiers = { "lookclose", "look", "rotate" },
|
||||
min = 1,
|
||||
|
|
|
@ -102,7 +102,7 @@ public class LookClose extends Trait implements Toggleable, CommandConfigurable
|
|||
min = dist;
|
||||
lookingAt = player;
|
||||
}
|
||||
|
||||
|
||||
if (old != lookingAt) {
|
||||
NPCLookCloseChangeTargetEvent event = new NPCLookCloseChangeTargetEvent(npc, old, lookingAt);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
|
|
|
@ -72,8 +72,9 @@ public class Util {
|
|||
}
|
||||
|
||||
public static void face(Entity entity, float yaw, float pitch) {
|
||||
Vector vector = new Vector(Math.cos(yaw) * Math.cos(pitch), Math.sin(pitch), Math.sin(yaw) * Math.cos(pitch))
|
||||
.normalize();
|
||||
double pitchCos = Math.cos(Math.toRadians(pitch));
|
||||
Vector vector = new Vector(Math.sin(Math.toRadians(yaw)) * -pitchCos, -Math.sin(Math.toRadians(pitch)),
|
||||
Math.cos(Math.toRadians(yaw)) * pitchCos).normalize();
|
||||
faceLocation(entity, entity.getLocation(AT_LOCATION).clone().add(vector));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue