mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-22 02:25:57 +01:00
Add quotes around commands
This commit is contained in:
parent
71eed123b2
commit
4ba83dd520
@ -117,7 +117,7 @@ public class Settings {
|
||||
DEFAULT_LOOK_CLOSE("Enable look close by default", "npc.default.look-close.enabled", false),
|
||||
DEFAULT_LOOK_CLOSE_RANGE("Default look close range in blocks", "npc.default.look-close.range", 10),
|
||||
DEFAULT_NAME_HOLOGRAM_RENDERER(
|
||||
"The default renderer for name holograms, must be one of the following:<br>interaction - matches inbuilt nametags most closely<br>display - allows for different colored backgrounds<br>display_vehicle - allows for different colored backgrounds<br>armorstand - the most stable option, very very small hit to client FPS compared to other options",
|
||||
"The default renderer for name holograms, must be one of the following:<br>interaction - matches inbuilt nametags most closely<br>display - allows for different colored backgrounds<br>display_vehicle - allows for different colored backgrounds<br>armorstand - the most stable option, very very small hit to client FPS compared to other options<br>armorstand_vehicle - the most stable option, very very small hit to client FPS compared to other options",
|
||||
"npc.hologram.default-name-renderer", ""),
|
||||
DEFAULT_NPC_HOLOGRAM_LINE_HEIGHT("Default distance between hologram lines", "npc.hologram.default-line-height",
|
||||
0.4D),
|
||||
|
@ -26,7 +26,6 @@ import net.citizensnpcs.api.npc.NPC;
|
||||
import net.citizensnpcs.api.npc.NPCRegistry;
|
||||
import net.citizensnpcs.api.util.Messaging;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
import net.citizensnpcs.util.Util;
|
||||
|
||||
public class NPCCommandSelector extends NumericPrompt {
|
||||
private final Callback callback;
|
||||
@ -114,7 +113,7 @@ public class NPCCommandSelector extends NumericPrompt {
|
||||
for (NPC test : npcRegistry) {
|
||||
if (test.getName().equalsIgnoreCase(name)) {
|
||||
if (range > 0 && test.isSpawned()
|
||||
&& !Util.locationWithinRange(args.getSenderLocation(), test.getEntity().getLocation(), range)) {
|
||||
&& args.getSenderLocation().distance(test.getEntity().getLocation()) > range) {
|
||||
continue;
|
||||
}
|
||||
possible.add(test);
|
||||
|
@ -2347,7 +2347,7 @@ public class NPCCommands {
|
||||
max = 2,
|
||||
permission = "citizens.npc.panimate")
|
||||
@Requirements(selected = true, ownership = true, types = EntityType.PLAYER)
|
||||
public void playerAnimate(CommandContext args, CommandSender sender, NPC npc, @Arg(1) PlayerAnimation animation)
|
||||
public void playeranimate(CommandContext args, CommandSender sender, NPC npc, @Arg(1) PlayerAnimation animation)
|
||||
throws CommandException {
|
||||
if (animation == null) {
|
||||
Messaging.sendErrorTr(sender, Messages.UNKNOWN_PLAYER_ANIMATION,
|
||||
|
@ -529,6 +529,13 @@ public class ShopTrait extends Trait {
|
||||
callback = consumer;
|
||||
}
|
||||
|
||||
private ItemStack editTitle(ItemStack item, Function<String, String> transform) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(transform.apply(meta.hasDisplayName() ? meta.getDisplayName() : ""));
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialise(MenuContext ctx) {
|
||||
this.ctx = ctx;
|
||||
@ -595,13 +602,13 @@ public class ShopTrait extends Trait {
|
||||
|
||||
NPCShopAction oldCost = modified.cost.stream().filter(template::manages).findFirst().orElse(null);
|
||||
costItems.getSlots().get(pos)
|
||||
.setItemStack(Util.editTitle(template.createMenuItem(oldCost), title -> title + " Cost"));
|
||||
.setItemStack(editTitle(template.createMenuItem(oldCost), title -> title + " Cost"));
|
||||
costItems.getSlots().get(pos).setClickHandler(event -> ctx.getMenu().transition(
|
||||
template.createEditor(oldCost, cost -> modified.changeCost(template::manages, cost))));
|
||||
|
||||
NPCShopAction oldResult = modified.result.stream().filter(template::manages).findFirst().orElse(null);
|
||||
actionItems.getSlots().get(pos)
|
||||
.setItemStack(Util.editTitle(template.createMenuItem(oldResult), title -> title + " Result"));
|
||||
.setItemStack(editTitle(template.createMenuItem(oldResult), title -> title + " Result"));
|
||||
actionItems.getSlots().get(pos).setClickHandler(event -> ctx.getMenu().transition(
|
||||
template.createEditor(oldResult, result -> modified.changeResult(template::manages, result))));
|
||||
|
||||
|
@ -625,8 +625,8 @@ public class LinearWaypointProvider implements EnumerableWaypointProvider {
|
||||
}
|
||||
double margin = getNavigator().getLocalParameters().distanceMargin();
|
||||
getNavigator().getLocalParameters().addSingleUseCallback(cancelReason -> {
|
||||
if (npc.isSpawned() && currentDestination != null && Util.locationWithinRange(npc.getStoredLocation(),
|
||||
currentDestination.getLocation(), margin + 1)) {
|
||||
if (npc.isSpawned() && currentDestination != null
|
||||
&& npc.getStoredLocation().distance(currentDestination.getLocation()) <= margin + 1) {
|
||||
currentDestination.onReach(npc);
|
||||
if (cachePaths && cancelReason == null) {
|
||||
Iterable<Vector> path = getNavigator().getPathStrategy().getPath();
|
||||
|
@ -12,7 +12,6 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -152,13 +151,6 @@ public class Util {
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static ItemStack editTitle(ItemStack item, Function<String, String> transform) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(transform.apply(meta.hasDisplayName() ? meta.getDisplayName() : ""));
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static void face(Entity entity, float yaw, float pitch) {
|
||||
double pitchCos = Math.cos(Math.toRadians(pitch));
|
||||
Vector vector = new Vector(Math.sin(Math.toRadians(yaw)) * -pitchCos, -Math.sin(Math.toRadians(pitch)),
|
||||
@ -201,23 +193,6 @@ public class Util {
|
||||
return center;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the yaw to face along the given velocity (corrected for dragon yaw i.e. facing backwards)
|
||||
*/
|
||||
public static float getDragonYaw(Entity entity, double motX, double motZ) {
|
||||
Location location = entity.getLocation();
|
||||
double x = location.getX();
|
||||
double z = location.getZ();
|
||||
double tX = x + motX;
|
||||
double tZ = z + motZ;
|
||||
if (z > tZ)
|
||||
return (float) -Math.toDegrees(Math.atan((x - tX) / (z - tZ)));
|
||||
if (z < tZ)
|
||||
return (float) -Math.toDegrees(Math.atan((x - tX) / (z - tZ))) + 180.0F;
|
||||
|
||||
return location.getYaw();
|
||||
}
|
||||
|
||||
public static Scoreboard getDummyScoreboard() {
|
||||
return DUMMY_SCOREBOARD;
|
||||
}
|
||||
@ -279,6 +254,23 @@ public class Util {
|
||||
return "CIT-" + id.toString().replace("-", "").substring(0, 12);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the yaw to face along the given velocity (corrected for dragon yaw i.e. facing backwards)
|
||||
*/
|
||||
public static float getYawFromVelocity(Entity entity, double motX, double motZ) {
|
||||
Location location = entity.getLocation();
|
||||
double x = location.getX();
|
||||
double z = location.getZ();
|
||||
double tX = x + motX;
|
||||
double tZ = z + motZ;
|
||||
if (z > tZ)
|
||||
return (float) -Math.toDegrees(Math.atan((x - tX) / (z - tZ)));
|
||||
if (z < tZ)
|
||||
return (float) -Math.toDegrees(Math.atan((x - tX) / (z - tZ))) + 180.0F;
|
||||
|
||||
return location.getYaw();
|
||||
}
|
||||
|
||||
public static boolean inBlock(Entity entity) {
|
||||
// TODO: bounding box aware?
|
||||
Location loc = entity.getLocation();
|
||||
@ -344,12 +336,6 @@ public class Util {
|
||||
return "<yellow>" + Joiner.on("<green>, <yellow>").join(values).replace('_', ' ').toLowerCase(Locale.US);
|
||||
}
|
||||
|
||||
public static boolean locationWithinRange(Location current, Location target, double range) {
|
||||
if (current == null || target == null || (current.getWorld() != target.getWorld()))
|
||||
return false;
|
||||
return current.distance(target) <= range;
|
||||
}
|
||||
|
||||
public static <T extends Enum<?>> T matchEnum(T[] values, String toMatch) {
|
||||
toMatch = toMatch.replace('-', '_').replace(' ', '_');
|
||||
for (T check : values) {
|
||||
@ -450,7 +436,7 @@ public class Util {
|
||||
String bungeeServer = split.size() == 2 && split.get(0).equalsIgnoreCase("server") ? split.get(1) : null;
|
||||
String cmd = command;
|
||||
if (command.startsWith("say")) {
|
||||
cmd = "npc speak " + command.replaceFirst("say", "").trim() + " --target <p>";
|
||||
cmd = "npc speak \"" + command.replaceFirst("say", "").trim() + "\" --target <p>";
|
||||
}
|
||||
if ((cmd.startsWith("npc ") || cmd.startsWith("waypoints ") || cmd.startsWith("wp "))
|
||||
&& !cmd.contains("--id ")) {
|
||||
|
@ -201,7 +201,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
motY *= 0.98;
|
||||
motZ *= 0.98;
|
||||
if (getBukkitEntity().getPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), motX, motZ);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), motX, motZ);
|
||||
}
|
||||
setPosition(locX + motX, locY + motY, locZ + motZ);
|
||||
}
|
||||
|
@ -830,7 +830,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
motY *= 0.98;
|
||||
motZ *= 0.98;
|
||||
if (getBukkitEntity().getPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), motX, motZ);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), motX, motZ);
|
||||
}
|
||||
setPosition(locX + motX, locY + motY, locZ + motZ);
|
||||
}
|
||||
|
@ -883,7 +883,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
motY *= 0.98;
|
||||
motZ *= 0.98;
|
||||
if (getBukkitEntity().getPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), motX, motZ);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), motX, motZ);
|
||||
}
|
||||
setPosition(locX + motX, locY + motY, locZ + motZ);
|
||||
}
|
||||
|
@ -888,7 +888,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
motY *= 0.98;
|
||||
motZ *= 0.98;
|
||||
if (getBukkitEntity().getPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), motX, motZ);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), motX, motZ);
|
||||
}
|
||||
setPosition(locX + motX, locY + motY, locZ + motZ);
|
||||
}
|
||||
|
@ -924,7 +924,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.getX() != 0 || mot.getY() != 0 || mot.getZ() != 0) {
|
||||
mot = mot.d(0.98, 0.98, 0.98);
|
||||
if (getRidingPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z);
|
||||
}
|
||||
setPosition(locX + mot.getX(), locY + mot.getY(), locZ + mot.getZ());
|
||||
setMot(mot);
|
||||
|
@ -994,7 +994,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -217,7 +217,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.getX() != 0 || mot.getY() != 0 || mot.getZ() != 0) {
|
||||
mot = mot.d(0.98, 0.98, 0.98);
|
||||
if (getRidingPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z);
|
||||
}
|
||||
setPosition(locX() + mot.getX(), locY() + mot.getY(), locZ() + mot.getZ());
|
||||
setMot(mot);
|
||||
|
@ -1011,7 +1011,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -217,7 +217,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.getX() != 0 || mot.getY() != 0 || mot.getZ() != 0) {
|
||||
mot = mot.d(0.98, 0.98, 0.98);
|
||||
if (getRidingPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z);
|
||||
}
|
||||
setPosition(locX() + mot.getX(), locY() + mot.getY(), locZ() + mot.getZ());
|
||||
setMot(mot);
|
||||
|
@ -1041,7 +1041,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.x != 0 || mot.y != 0 || mot.z != 0) {
|
||||
mot = mot.multiply(0.98, 0.98, 0.98);
|
||||
if (getFirstPassenger() == null) {
|
||||
setYRot(Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z));
|
||||
setYRot(Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z));
|
||||
}
|
||||
setPos(getX() + mot.x, getY() + mot.y, getZ() + mot.z);
|
||||
setDeltaMovement(mot);
|
||||
|
@ -1049,7 +1049,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.x != 0 || mot.y != 0 || mot.z != 0) {
|
||||
mot = mot.multiply(0.98, 0.98, 0.98);
|
||||
if (getFirstPassenger() == null) {
|
||||
setYRot(Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z));
|
||||
setYRot(Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z));
|
||||
}
|
||||
setPos(getX() + mot.x, getY() + mot.y, getZ() + mot.z);
|
||||
setDeltaMovement(mot);
|
||||
|
@ -1058,7 +1058,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.x != 0 || mot.y != 0 || mot.z != 0) {
|
||||
mot = mot.multiply(0.98, 0.91, 0.98);
|
||||
if (getFirstPassenger() == null) {
|
||||
setYRot(Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z));
|
||||
setYRot(Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z));
|
||||
}
|
||||
setPos(getX() + mot.x, getY() + mot.y, getZ() + mot.z);
|
||||
setDeltaMovement(mot);
|
||||
|
@ -1138,7 +1138,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.x != 0 || mot.y != 0 || mot.z != 0) {
|
||||
mot = mot.multiply(0.98, 0.91, 0.98);
|
||||
if (getFirstPassenger() == null) {
|
||||
setYRot(Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z));
|
||||
setYRot(Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z));
|
||||
}
|
||||
setPos(getX() + mot.x, getY() + mot.y, getZ() + mot.z);
|
||||
setDeltaMovement(mot);
|
||||
|
@ -1124,7 +1124,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
if (mot.x != 0 || mot.y != 0 || mot.z != 0) {
|
||||
mot = mot.multiply(0.98, 0.91, 0.98);
|
||||
if (getFirstPassenger() == null) {
|
||||
setYRot(Util.getDragonYaw(getBukkitEntity(), mot.x, mot.z));
|
||||
setYRot(Util.getYawFromVelocity(getBukkitEntity(), mot.x, mot.z));
|
||||
}
|
||||
setPos(getX() + mot.x, getY() + mot.y, getZ() + mot.z);
|
||||
setDeltaMovement(mot);
|
||||
|
@ -1102,7 +1102,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle.getBukkitEntity().getType() == EntityType.ENDER_DRAGON) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ public class EnderDragonController extends MobEntityController {
|
||||
motY *= 0.98;
|
||||
motZ *= 0.98;
|
||||
if (getBukkitEntity().getPassenger() == null) {
|
||||
yaw = Util.getDragonYaw(getBukkitEntity(), motX, motZ);
|
||||
yaw = Util.getYawFromVelocity(getBukkitEntity(), motX, motZ);
|
||||
}
|
||||
setPosition(locX + motX, locY + motY, locZ + motZ);
|
||||
}
|
||||
|
@ -768,7 +768,7 @@ public class NMSImpl implements NMSBridge {
|
||||
yaw += Math.abs(180 - yaw) * 2;
|
||||
}
|
||||
if (handle instanceof EntityEnderDragon) {
|
||||
yaw = Util.getDragonYaw(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
yaw = Util.getYawFromVelocity(handle.getBukkitEntity(), xDiff, zDiff);
|
||||
} else {
|
||||
yaw = yaw - 90;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user