Add way to set custom name directly
This commit is contained in:
parent
d8a4c73f58
commit
8a65d4a5a0
|
@ -17,8 +17,8 @@ import com.comphenix.protocol.wrappers.EnumWrappers;
|
|||
|
||||
import net.citizensnpcs.api.npc.NPC;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait.LocalRotationSession;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait.LocalRotationSession;
|
||||
|
||||
public class ProtocolLibListener {
|
||||
private final Class<?> flagsClass;
|
||||
|
@ -42,7 +42,7 @@ public class ProtocolLibListener {
|
|||
return;
|
||||
|
||||
NPC npc = ((NPCHolder) entity).getNPC();
|
||||
SmoothRotationTrait trait = npc.getTraitNullable(SmoothRotationTrait.class);
|
||||
RotationTrait trait = npc.getTraitNullable(RotationTrait.class);
|
||||
if (trait == null)
|
||||
return;
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ import net.citizensnpcs.trait.SkinLayers;
|
|||
import net.citizensnpcs.trait.SkinLayers.Layer;
|
||||
import net.citizensnpcs.trait.SkinTrait;
|
||||
import net.citizensnpcs.trait.SlimeSize;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.VillagerProfession;
|
||||
import net.citizensnpcs.trait.WitherTrait;
|
||||
import net.citizensnpcs.trait.WolfModifiers;
|
||||
|
@ -2135,7 +2135,7 @@ public class NPCCommands {
|
|||
yaw = NMS.getHeadYaw(npc.getEntity());
|
||||
}
|
||||
}
|
||||
npc.getOrAddTrait(SmoothRotationTrait.class).rotateToHave(yaw, pitch);
|
||||
npc.getOrAddTrait(RotationTrait.class).rotateToHave(yaw, pitch);
|
||||
return;
|
||||
}
|
||||
if (yaw != null) {
|
||||
|
@ -2294,14 +2294,14 @@ public class NPCCommands {
|
|||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "shop (edit|show) (name)",
|
||||
usage = "shop (edit|show|delete) (name)",
|
||||
desc = "NPC shop edit/show",
|
||||
modifiers = { "shop" },
|
||||
min = 1,
|
||||
max = 3,
|
||||
permission = "citizens.npc.shop")
|
||||
public void shop(CommandContext args, Player sender, NPC npc,
|
||||
@Arg(value = 1, completions = { "edit", "show" }) String action) throws CommandException {
|
||||
@Arg(value = 1, completions = { "edit", "show", "delete" }) String action) throws CommandException {
|
||||
ShopTrait trait = npc.getOrAddTrait(ShopTrait.class);
|
||||
NPCShop shop = trait.getDefaultShop();
|
||||
if (args.argsLength() > 1) {
|
||||
|
@ -2317,6 +2317,8 @@ public class NPCCommands {
|
|||
shop.displayEditor(trait, sender);
|
||||
} else if (action.equalsIgnoreCase("show")) {
|
||||
shop.display(sender);
|
||||
} else if (action.equalsIgnoreCase("delete")) {
|
||||
trait.deleteShop(args.getString(2));
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.function.Consumer;
|
|||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Nameable;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
@ -59,6 +60,7 @@ import net.citizensnpcs.util.Util;
|
|||
public class CitizensNPC extends AbstractNPC {
|
||||
private ChunkCoord cachedCoord;
|
||||
private EntityController entityController;
|
||||
private Object minecraftComponentCache;
|
||||
private final CitizensNavigator navigator = new CitizensNavigator(this);
|
||||
private int updateCounter = 0;
|
||||
|
||||
|
@ -241,6 +243,7 @@ public class CitizensNPC extends AbstractNPC {
|
|||
|
||||
@Override
|
||||
public void setName(String name) {
|
||||
minecraftComponentCache = Messaging.minecraftComponentFromRawMessage(name);
|
||||
super.setName(name);
|
||||
|
||||
if (requiresNameHologram() && !hasTrait(HologramTrait.class)) {
|
||||
|
@ -384,7 +387,7 @@ public class CitizensNPC extends AbstractNPC {
|
|||
|
||||
updateFlyableState();
|
||||
updateCustomNameVisibility();
|
||||
updateCustomName();
|
||||
updateScoreboard();
|
||||
|
||||
Messaging.debug("Spawned", CitizensNPC.this, "SpawnReason." + reason);
|
||||
cancel.run();
|
||||
|
@ -465,7 +468,7 @@ public class CitizensNPC extends AbstractNPC {
|
|||
}
|
||||
}
|
||||
if (isLiving) {
|
||||
updateCustomName();
|
||||
updateScoreboard();
|
||||
}
|
||||
updateCounter = 0;
|
||||
}
|
||||
|
@ -505,9 +508,14 @@ public class CitizensNPC extends AbstractNPC {
|
|||
}
|
||||
}
|
||||
|
||||
private void updateCustomName() {
|
||||
if (data().has(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME)) {
|
||||
getOrAddTrait(ScoreboardTrait.class).update();
|
||||
@Override
|
||||
public void updateCustomName() {
|
||||
if (!(getEntity() instanceof Nameable))
|
||||
return;
|
||||
if (minecraftComponentCache != null) {
|
||||
NMS.setCustomName(getEntity(), minecraftComponentCache);
|
||||
} else {
|
||||
super.updateCustomName();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -517,7 +525,7 @@ public class CitizensNPC extends AbstractNPC {
|
|||
nameplateVisible = "false";
|
||||
}
|
||||
if (nameplateVisible.equals("true") || nameplateVisible.equals("hover")) {
|
||||
getEntity().setCustomName(getFullName());
|
||||
updateCustomName();
|
||||
}
|
||||
getEntity().setCustomNameVisible(Boolean.parseBoolean(nameplateVisible));
|
||||
}
|
||||
|
@ -536,6 +544,12 @@ public class CitizensNPC extends AbstractNPC {
|
|||
}
|
||||
}
|
||||
|
||||
private void updateScoreboard() {
|
||||
if (data().has(NPC.Metadata.SCOREBOARD_FAKE_TEAM_NAME)) {
|
||||
getOrAddTrait(ScoreboardTrait.class).update();
|
||||
}
|
||||
}
|
||||
|
||||
private void updateUsingItemState(Player player) {
|
||||
boolean useItem = data().get(NPC.Metadata.USING_HELD_ITEM, false),
|
||||
offhand = data().get(NPC.Metadata.USING_OFFHAND_ITEM, false);
|
||||
|
|
|
@ -52,7 +52,7 @@ import net.citizensnpcs.trait.SkinLayers;
|
|||
import net.citizensnpcs.trait.SkinTrait;
|
||||
import net.citizensnpcs.trait.SleepTrait;
|
||||
import net.citizensnpcs.trait.SlimeSize;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.SneakTrait;
|
||||
import net.citizensnpcs.trait.VillagerProfession;
|
||||
import net.citizensnpcs.trait.WitherTrait;
|
||||
|
@ -91,7 +91,7 @@ public class CitizensTraitFactory implements TraitFactory {
|
|||
registerTrait(TraitInfo.create(Poses.class));
|
||||
registerTrait(TraitInfo.create(Powered.class));
|
||||
registerTrait(TraitInfo.create(RabbitType.class));
|
||||
registerTrait(TraitInfo.create(SmoothRotationTrait.class));
|
||||
registerTrait(TraitInfo.create(RotationTrait.class));
|
||||
registerTrait(TraitInfo.create(Saddle.class));
|
||||
registerTrait(TraitInfo.create(ScoreboardTrait.class));
|
||||
registerTrait(TraitInfo.create(ScriptTrait.class));
|
||||
|
|
|
@ -19,15 +19,15 @@ import net.citizensnpcs.api.util.DataKey;
|
|||
import net.citizensnpcs.util.NMS;
|
||||
import net.citizensnpcs.util.Util;
|
||||
|
||||
@TraitName("smoothrotationtrait")
|
||||
public class SmoothRotationTrait extends Trait {
|
||||
@TraitName("rotationtrait")
|
||||
public class RotationTrait extends Trait {
|
||||
@Persist(reify = true)
|
||||
private final RotationParams globalParameters = new RotationParams();
|
||||
private final RotationSession globalSession = new RotationSession(globalParameters);
|
||||
private final List<LocalRotationSession> localSessions = Lists.newArrayList();
|
||||
|
||||
public SmoothRotationTrait() {
|
||||
super("smoothrotationtrait");
|
||||
public RotationTrait() {
|
||||
super("rotationtrait");
|
||||
}
|
||||
|
||||
public void clearLocalSessions() {
|
|
@ -64,6 +64,14 @@ public class ShopTrait extends Trait {
|
|||
super("shop");
|
||||
}
|
||||
|
||||
public void deleteShop(String name) {
|
||||
if (StoredShops.GLOBAL_SHOPS.containsKey(name)) {
|
||||
StoredShops.GLOBAL_SHOPS.remove(name);
|
||||
} else {
|
||||
StoredShops.NPC_SHOPS.remove(name);
|
||||
}
|
||||
}
|
||||
|
||||
public NPCShop getDefaultShop() {
|
||||
return StoredShops.NPC_SHOPS.computeIfAbsent(npc.getUniqueId().toString(), NPCShop::new);
|
||||
}
|
||||
|
|
|
@ -527,6 +527,10 @@ public class NMS {
|
|||
BRIDGE.setBodyYaw(entity, yaw);
|
||||
}
|
||||
|
||||
public static void setCustomName(Entity entity, Object component) {
|
||||
BRIDGE.setCustomName(entity, component);
|
||||
}
|
||||
|
||||
public static void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
BRIDGE.setDestination(entity, x, y, z, speed);
|
||||
}
|
||||
|
|
|
@ -145,6 +145,8 @@ public interface NMSBridge {
|
|||
|
||||
public void setBodyYaw(Entity entity, float yaw);
|
||||
|
||||
public void setCustomName(Entity entity, Object component);
|
||||
|
||||
public void setDestination(Entity entity, double x, double y, double z, float speed);
|
||||
|
||||
public void setEndermanAngry(Enderman enderman, boolean angry);
|
||||
|
|
|
@ -149,7 +149,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
|
@ -197,6 +197,7 @@ import net.minecraft.server.v1_10_R1.EntityTrackerEntry;
|
|||
import net.minecraft.server.v1_10_R1.EntityTypes;
|
||||
import net.minecraft.server.v1_10_R1.EntityWither;
|
||||
import net.minecraft.server.v1_10_R1.GenericAttributes;
|
||||
import net.minecraft.server.v1_10_R1.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_10_R1.IInventory;
|
||||
import net.minecraft.server.v1_10_R1.MathHelper;
|
||||
import net.minecraft.server.v1_10_R1.MinecraftKey;
|
||||
|
@ -764,7 +765,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityInsentient) handle).aQ += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -788,7 +789,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aQ += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1024,6 +1025,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName(((IChatBaseComponent) component).getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -163,7 +163,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
|
@ -215,6 +215,7 @@ import net.minecraft.server.v1_11_R1.EntityTypes;
|
|||
import net.minecraft.server.v1_11_R1.EntityWither;
|
||||
import net.minecraft.server.v1_11_R1.EnumMoveType;
|
||||
import net.minecraft.server.v1_11_R1.GenericAttributes;
|
||||
import net.minecraft.server.v1_11_R1.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_11_R1.IInventory;
|
||||
import net.minecraft.server.v1_11_R1.MathHelper;
|
||||
import net.minecraft.server.v1_11_R1.MinecraftKey;
|
||||
|
@ -819,7 +820,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aP += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -843,7 +844,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aP += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1080,6 +1081,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName(((IChatBaseComponent) component).getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -165,7 +165,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
|
@ -219,6 +219,7 @@ import net.minecraft.server.v1_12_R1.EntityTypes;
|
|||
import net.minecraft.server.v1_12_R1.EntityWither;
|
||||
import net.minecraft.server.v1_12_R1.EnumMoveType;
|
||||
import net.minecraft.server.v1_12_R1.GenericAttributes;
|
||||
import net.minecraft.server.v1_12_R1.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_12_R1.IInventory;
|
||||
import net.minecraft.server.v1_12_R1.MathHelper;
|
||||
import net.minecraft.server.v1_12_R1.MinecraftKey;
|
||||
|
@ -826,7 +827,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aP += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -851,7 +852,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aP += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1090,6 +1091,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName(((IChatBaseComponent) component).getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -176,7 +176,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
|
@ -236,6 +236,7 @@ import net.minecraft.server.v1_13_R2.EntityWither;
|
|||
import net.minecraft.server.v1_13_R2.EnumMoveType;
|
||||
import net.minecraft.server.v1_13_R2.GenericAttributes;
|
||||
import net.minecraft.server.v1_13_R2.IBlockData;
|
||||
import net.minecraft.server.v1_13_R2.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_13_R2.IInventory;
|
||||
import net.minecraft.server.v1_13_R2.IRegistry;
|
||||
import net.minecraft.server.v1_13_R2.MathHelper;
|
||||
|
@ -862,7 +863,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aS += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -886,7 +887,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aS += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1126,6 +1127,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((IChatBaseComponent) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -184,7 +184,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.CatTrait;
|
||||
import net.citizensnpcs.trait.versioned.FoxTrait;
|
||||
|
@ -256,6 +256,7 @@ import net.minecraft.server.v1_14_R1.EntityWither;
|
|||
import net.minecraft.server.v1_14_R1.EnumMoveType;
|
||||
import net.minecraft.server.v1_14_R1.GenericAttributes;
|
||||
import net.minecraft.server.v1_14_R1.IBlockData;
|
||||
import net.minecraft.server.v1_14_R1.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_14_R1.IInventory;
|
||||
import net.minecraft.server.v1_14_R1.IRegistry;
|
||||
import net.minecraft.server.v1_14_R1.MathHelper;
|
||||
|
@ -929,7 +930,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aM += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -953,7 +954,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aM += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1183,6 +1184,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((IChatBaseComponent) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -185,7 +185,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BeeTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.CatTrait;
|
||||
|
@ -260,6 +260,7 @@ import net.minecraft.server.v1_15_R1.EntityWither;
|
|||
import net.minecraft.server.v1_15_R1.EnumMoveType;
|
||||
import net.minecraft.server.v1_15_R1.GenericAttributes;
|
||||
import net.minecraft.server.v1_15_R1.IBlockData;
|
||||
import net.minecraft.server.v1_15_R1.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_15_R1.IInventory;
|
||||
import net.minecraft.server.v1_15_R1.IRegistry;
|
||||
import net.minecraft.server.v1_15_R1.MathHelper;
|
||||
|
@ -941,7 +942,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aK += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -965,7 +966,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aK += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1195,6 +1196,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((IChatBaseComponent) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -191,7 +191,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.BeeTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.CatTrait;
|
||||
|
@ -269,6 +269,7 @@ import net.minecraft.server.v1_16_R3.EnumMoveType;
|
|||
import net.minecraft.server.v1_16_R3.Fluid;
|
||||
import net.minecraft.server.v1_16_R3.GenericAttributes;
|
||||
import net.minecraft.server.v1_16_R3.IBlockData;
|
||||
import net.minecraft.server.v1_16_R3.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_16_R3.IInventory;
|
||||
import net.minecraft.server.v1_16_R3.IRegistry;
|
||||
import net.minecraft.server.v1_16_R3.MathHelper;
|
||||
|
@ -965,7 +966,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aC += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -989,7 +990,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aC += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1225,6 +1226,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((IChatBaseComponent) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -193,7 +193,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.AxolotlTrait;
|
||||
import net.citizensnpcs.trait.versioned.BeeTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
|
@ -223,6 +223,7 @@ import net.minecraft.ReportedException;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.network.Connection;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.protocol.game.ClientboundMoveEntityPacket;
|
||||
|
@ -970,7 +971,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -994,7 +995,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1221,6 +1222,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).setYRot(yaw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((Component) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -195,7 +195,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.AxolotlTrait;
|
||||
import net.citizensnpcs.trait.versioned.BeeTrait;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
|
@ -225,6 +225,7 @@ import net.minecraft.ReportedException;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.network.Connection;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.protocol.game.ClientboundMoveEntityPacket;
|
||||
|
@ -976,7 +977,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1001,7 +1002,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1228,6 +1229,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).setYRot(yaw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((Component) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -200,7 +200,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.trait.versioned.AllayTrait;
|
||||
import net.citizensnpcs.trait.versioned.AxolotlTrait;
|
||||
import net.citizensnpcs.trait.versioned.BeeTrait;
|
||||
|
@ -234,6 +234,7 @@ import net.minecraft.core.BlockPos;
|
|||
import net.minecraft.core.PositionImpl;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.network.Connection;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.contents.LiteralContents;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
|
@ -324,6 +325,7 @@ public class NMSImpl implements NMSBridge {
|
|||
@Override
|
||||
public boolean addEntityToWorld(org.bukkit.entity.Entity entity, SpawnReason custom) {
|
||||
int viewDistance = -1;
|
||||
|
||||
ChunkMap chunkMap = null;
|
||||
try {
|
||||
if (entity instanceof Player) {
|
||||
|
@ -996,7 +998,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1021,7 +1023,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((LivingEntity) handle).yHeadRot += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1248,6 +1250,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).setYRot(yaw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName((Component) component);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
|
@ -138,7 +138,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.SmoothRotationTrait;
|
||||
import net.citizensnpcs.trait.RotationTrait;
|
||||
import net.citizensnpcs.util.EmptyChannel;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
import net.citizensnpcs.util.NMS;
|
||||
|
@ -175,6 +175,7 @@ import net.minecraft.server.v1_8_R3.EntityTrackerEntry;
|
|||
import net.minecraft.server.v1_8_R3.EntityTypes;
|
||||
import net.minecraft.server.v1_8_R3.EntityWither;
|
||||
import net.minecraft.server.v1_8_R3.GenericAttributes;
|
||||
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
|
||||
import net.minecraft.server.v1_8_R3.IInventory;
|
||||
import net.minecraft.server.v1_8_R3.MathHelper;
|
||||
import net.minecraft.server.v1_8_R3.Navigation;
|
||||
|
@ -711,7 +712,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityInsentient) handle).aK += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -734,7 +735,7 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityLiving) handle).aK += 360F;
|
||||
}
|
||||
} else if (handle instanceof EntityHumanNPC) {
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(SmoothRotationTrait.class).rotateToFace(to);
|
||||
((EntityHumanNPC) handle).getNPC().getOrAddTrait(RotationTrait.class).rotateToFace(to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -965,6 +966,11 @@ public class NMSImpl implements NMSBridge {
|
|||
getHandle(entity).yaw = yaw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCustomName(org.bukkit.entity.Entity entity, Object component) {
|
||||
getHandle(entity).setCustomName(((IChatBaseComponent) component).getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDestination(org.bukkit.entity.Entity entity, double x, double y, double z, float speed) {
|
||||
Entity handle = NMSImpl.getHandle(entity);
|
||||
|
|
Loading…
Reference in New Issue