Add /npc piglin --dancing

This commit is contained in:
fullwall 2022-07-07 23:34:15 +08:00
parent 35dd4078dd
commit 98c2d3492a
147 changed files with 490 additions and 183 deletions

View File

@ -0,0 +1,34 @@
package net.citizensnpcs.trait.versioned;
import org.bukkit.entity.Piglin;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
import net.citizensnpcs.api.trait.TraitName;
import net.citizensnpcs.util.NMS;
@TraitName("piglintrait")
public class PiglinTrait extends Trait {
@Persist
private boolean dancing;
public PiglinTrait() {
super("piglintrait");
}
public boolean isDancing() {
return dancing;
}
@Override
public void run() {
if (npc.isSpawned() && npc.getEntity() instanceof Piglin) {
NMS.setPiglinDancing(npc.getEntity(), dancing);
}
}
public void setDancing(boolean dancing) {
this.dancing = dancing;
}
}

View File

@ -287,6 +287,8 @@ public class Messages {
public static final String PATHFINDING_OPTIONS_USE_NEW_FINDER = "citizens.commands.npc.pathopt.use-new-finder";
public static final String PATHFINDING_RANGE_SET = "citizens.commands.npc.pathfindingrange.set";
public static final String PHANTOM_STATE_SET = "citizens.commands.npc.phantom.phantom-set";
public static final String PIGLIN_DANCING_SET = "citizens.commands.npc.piglin.dancing-set";
public static final String PIGLIN_DANCING_UNSET = "citizens.commands.npc.piglin.dancing-unset";
public static final String PLAYER_NOT_FOUND_FOR_SPAWN = "citizens.commands.npc.create.no-player-for-spawn";
public static final String POLAR_BEAR_REARING = "citizens.commands.npc.polarbear.rearing-set";
public static final String POLAR_BEAR_STOPPED_REARING = "citizens.commands.npc.polarbear.rearing-unset";

View File

@ -559,6 +559,10 @@ public class NMS {
BRIDGE.setPeekShulker(entity, peek);
}
public static void setPiglinDancing(Entity entity, boolean dancing) {
BRIDGE.setPiglinDancing(entity, dancing);
}
public static void setPitch(Entity entity, float pitch) {
BRIDGE.setPitch(entity, pitch);
}

View File

@ -159,6 +159,8 @@ public interface NMSBridge {
public void setPeekShulker(Entity entity, int peek);
public void setPiglinDancing(Entity entity, boolean dancing);
public void setPitch(Entity entity, float pitch);
public void setPolarBearRearing(Entity entity, boolean rearing);

View File

@ -181,6 +181,8 @@ citizens.commands.npc.playerlist.added=Added [[{0}]] to the player list.
citizens.commands.npc.playerlist.removed=Removed [[{0}]] from the player list.
citizens.commands.npc.polarbear.rearing-set=[[{0}]] is now rearing.
citizens.commands.npc.polarbear.rearing-unset=[[{0}]] is no longer rearing.
citizens.commands.npc.piglin.dancing-set=[[{0}]] is now dancing.
citizens.commands.npc.piglin.dancing-unset=[[{0}]] is no longer dancing.
citizens.commands.npc.pose.added=Pose added.
citizens.commands.npc.pose.already-exists=The pose [[{0}]] already exists.
citizens.commands.npc.pose.invalid-name=Invalid pose name.

View File

@ -22,6 +22,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_10_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_10_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_10_R1.network.EmptySocket;
@ -292,7 +293,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY, getBukkitEntity().getWorld())) {
moveWithFallDamage(0, 0);
}
if (Math.abs(motX) < EPSILON && Math.abs(motY) < EPSILON && Math.abs(motZ) < EPSILON) {

View File

@ -1062,6 +1062,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -1685,7 +1689,6 @@ public class NMSImpl implements NMSBridge {
EntityType.HORSE, EntityType.GHAST);
private static final Field CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getField(CraftBossBar.class, "handle");
private static final float DEFAULT_SPEED = 1F;
private static final Field ENDERDRAGON_BATTLE_BAR_FIELD = NMS.getField(EnderDragonBattle.class, "c");
private static final Field ENDERDRAGON_BATTLE_FIELD = NMS.getField(EntityEnderDragon.class, "bK");
@ -1707,6 +1710,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle RESULT_INVENTORY = NMS.getGetter(ContainerAnvil.class, "h");
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;
private static Field TRACKED_ENTITY_SET = NMS.getField(EntityTracker.class, "c");
private static final Field WITHER_BOSS_BAR_FIELD = NMS.getField(EntityWither.class, "bG");

View File

@ -22,6 +22,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_11_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_11_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_11_R1.network.EmptySocket;
@ -356,7 +357,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY, getBukkitEntity().getWorld())) {
moveWithFallDamage(0, 0);
}
if (Math.abs(motX) < EPSILON && Math.abs(motY) < EPSILON && Math.abs(motZ) < EPSILON) {

View File

@ -1119,6 +1119,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -1748,7 +1752,6 @@ public class NMSImpl implements NMSBridge {
EntityType.HORSE, EntityType.GHAST);
private static final Field CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getField(CraftBossBar.class, "handle");
private static final float DEFAULT_SPEED = 1F;
private static final Field ENDERDRAGON_BATTLE_BAR_FIELD = NMS.getField(EnderDragonBattle.class, "c");
private static final Field ENDERDRAGON_BATTLE_FIELD = NMS.getField(EntityEnderDragon.class, "bJ");
@ -1769,6 +1772,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle RESULT_INVENTORY = NMS.getGetter(ContainerAnvil.class, "h");
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;
private static Field TRACKED_ENTITY_SET = NMS.getField(EntityTracker.class, "c");
private static final Field WITHER_BOSS_BAR_FIELD = NMS.getField(EntityWither.class, "bF");

View File

@ -23,6 +23,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_12_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_12_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_12_R1.network.EmptySocket;
@ -382,7 +383,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY, getBukkitEntity().getWorld())) {
moveWithFallDamage(0, 0, 0);
}
if (Math.abs(motX) < EPSILON && Math.abs(motY) < EPSILON && Math.abs(motZ) < EPSILON) {

View File

@ -1124,6 +1124,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -1729,7 +1733,7 @@ public class NMSImpl implements NMSBridge {
public static void stopNavigation(NavigationAbstract navigation) {
navigation.p();
}
};
public static void updateAI(EntityLiving entity) {
if (entity instanceof EntityInsentient) {
@ -1742,7 +1746,7 @@ public class NMSImpl implements NMSBridge {
} else if (entity instanceof EntityHumanNPC) {
((EntityHumanNPC) entity).updateAI();
}
};
}
public static void updateNavigation(NavigationAbstract navigation) {
navigation.d();
@ -1753,7 +1757,6 @@ public class NMSImpl implements NMSBridge {
private static final Set<EntityType> BAD_CONTROLLER_LOOK = EnumSet.of(EntityType.POLAR_BEAR, EntityType.SILVERFISH,
EntityType.SHULKER, EntityType.ENDERMITE, EntityType.ENDER_DRAGON, EntityType.BAT, EntityType.SLIME,
EntityType.MAGMA_CUBE, EntityType.HORSE, EntityType.GHAST);
private static final Field CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getField(CraftBossBar.class, "handle");
private static final float DEFAULT_SPEED = 1F;
private static final Field ENDERDRAGON_BATTLE_BAR_FIELD = NMS.getField(EnderDragonBattle.class, "c");
@ -1775,6 +1778,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle RESULT_INVENTORY = NMS.getGetter(ContainerAnvil.class, "h");
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;
private static Field TRACKED_ENTITY_SET = NMS.getField(EntityTracker.class, "c");
private static final Field WITHER_BOSS_BAR_FIELD = NMS.getField(EntityWither.class, "bG");

View File

@ -23,6 +23,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_13_R2.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_13_R2.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_13_R2.network.EmptySocket;
@ -357,7 +358,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY, getBukkitEntity().getWorld())) {
moveWithFallDamage(0, 0, 0);
}
if (Math.abs(motX) < EPSILON && Math.abs(motY) < EPSILON && Math.abs(motZ) < EPSILON) {

View File

@ -1160,6 +1160,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -1890,7 +1894,6 @@ public class NMSImpl implements NMSBridge {
private static final Field CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getField(CraftBossBar.class, "handle");
private static final float DEFAULT_SPEED = 1F;
private static final Field ENDERDRAGON_BATTLE_BAR_FIELD = NMS.getField(EnderDragonBattle.class, "c", false);
private static final Field ENDERDRAGON_BATTLE_FIELD = NMS.getField(EntityEnderDragon.class, "bR");
private static DataWatcherObject<Boolean> ENDERMAN_ANGRY;
@ -1913,6 +1916,7 @@ public class NMSImpl implements NMSBridge {
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;
private static Field TRACKED_ENTITY_SET = NMS.getField(EntityTracker.class, "c");
private static final Field WITHER_BOSS_BAR_FIELD = NMS.getField(EntityWither.class, "bL", false);
static {

View File

@ -22,6 +22,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_14_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_14_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_14_R1.network.EmptySocket;
@ -361,7 +362,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY, getBukkitEntity().getWorld())) {
moveWithFallDamage(new Vec3D(0, 0, 0));
}
Vec3D mot = getMot();

View File

@ -1219,6 +1219,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -1979,7 +1983,6 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle BLOCK_POSITION_B_D = NMS.getMethodHandle(BlockPosition.PooledBlockPosition.class,
"c", false, double.class, double.class, double.class);
private static final MethodHandle BUKKITENTITY_FIELD_SETTER = NMS.getSetter(Entity.class, "bukkitEntity");
private static final MethodHandle CHUNKMAP_UPDATE_PLAYER_STATUS = NMS.getMethodHandle(PlayerChunkMap.class, "a",
true, EntityPlayer.class, boolean.class);
@ -2023,6 +2026,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle RESULT_INVENTORY = NMS.getGetter(ContainerAnvil.class, "resultInventory");
private static final MethodHandle SIZE_FIELD_GETTER = NMS.getGetter(Entity.class, "size");
private static final MethodHandle SIZE_FIELD_SETTER = NMS.getSetter(Entity.class, "size");
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;

View File

@ -22,6 +22,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_15_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_15_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_15_R1.network.EmptySocket;
@ -361,7 +362,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY(), getBukkitEntity().getWorld())) {
moveWithFallDamage(new Vec3D(0, 0, 0));
}
Vec3D mot = getMot();

View File

@ -1252,6 +1252,10 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a((byte) peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;
@ -2058,7 +2062,6 @@ public class NMSImpl implements NMSBridge {
true, EntityPlayer.class, boolean.class);
private static final Map<Class<?>, EntityTypes<?>> CITIZENS_ENTITY_TYPES = Maps.newHashMap();
private static final MethodHandle CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getSetter(CraftBossBar.class, "handle");
private static final float DEFAULT_SPEED = 1F;
private static final MethodHandle ENDERDRAGON_BATTLE_FIELD = NMS.getGetter(EntityEnderDragon.class, "bN");
@ -2101,6 +2104,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle SET_POSE = NMS.getMethodHandle(Entity.class, "setPose", true, EntityPose.class);
private static final MethodHandle SIZE_FIELD_GETTER = NMS.getGetter(Entity.class, "size");
private static final MethodHandle SIZE_FIELD_SETTER = NMS.getSetter(Entity.class, "size");
private static Field SKULL_PROFILE_FIELD;
private static MethodHandle TEAM_FIELD;

View File

@ -27,6 +27,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_16_R3.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_16_R3.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_16_R3.network.EmptySocket;
@ -391,7 +392,8 @@ public class EntityHumanNPC extends EntityPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(locY(), getBukkitEntity().getWorld())) {
moveWithFallDamage(new Vec3D(0, 0, 0));
}
Vec3D mot = getMot();

View File

@ -41,6 +41,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -384,6 +385,30 @@ public class Commands {
}
}
@Command(
aliases = { "npc" },
usage = "piglin (--dancing [true|false])",
desc = "Sets piglin modifiers.",
modifiers = { "piglin" },
min = 1,
max = 1,
permission = "citizens.npc.piglin")
@Requirements(selected = true, ownership = true, types = { EntityType.PIGLIN })
public void piglin(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
PiglinTrait trait = npc.getOrAddTrait(PiglinTrait.class);
boolean hasArg = false;
if (args.hasValueFlag("dancing")) {
boolean dancing = Boolean.valueOf(args.getFlag("dancing"));
trait.setDancing(dancing);
Messaging.sendTr(sender, dancing ? Messages.PIGLIN_DANCING_SET : Messages.PIGLIN_DANCING_UNSET,
npc.getName());
hasArg = true;
}
if (!hasArg) {
throw new CommandUsageException();
}
}
@Command(
aliases = { "npc" },
usage = "polarbear (-r)",

View File

@ -39,6 +39,7 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.FishHook;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Ocelot;
import org.bukkit.entity.Piglin;
import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.Wither;
@ -201,6 +202,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -250,6 +252,7 @@ import net.minecraft.server.v1_16_R3.EntityInsentient;
import net.minecraft.server.v1_16_R3.EntityLiving;
import net.minecraft.server.v1_16_R3.EntityMinecartAbstract;
import net.minecraft.server.v1_16_R3.EntityPanda;
import net.minecraft.server.v1_16_R3.EntityPiglin;
import net.minecraft.server.v1_16_R3.EntityPlayer;
import net.minecraft.server.v1_16_R3.EntityPolarBear;
import net.minecraft.server.v1_16_R3.EntityPose;
@ -781,6 +784,7 @@ public class NMSImpl implements NMSBridge {
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(MushroomCowTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PiglinTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
@ -1278,6 +1282,13 @@ public class NMSImpl implements NMSBridge {
((EntityShulker) getHandle(shulker)).a(peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
if (!(getHandle(entity) instanceof Piglin))
return;
((EntityPiglin) getHandle(entity)).u(dancing);
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).pitch = pitch;

View File

@ -27,6 +27,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_17_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_17_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_17_R1.network.EmptySocket;
@ -171,7 +172,8 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(getY(), getBukkitEntity().getWorld())) {
moveWithFallDamage(Vec3.ZERO);
}

View File

@ -43,6 +43,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -420,6 +421,30 @@ public class Commands {
}
}
@Command(
aliases = { "npc" },
usage = "piglin (--dancing [true|false])",
desc = "Sets piglin modifiers.",
modifiers = { "piglin" },
min = 1,
max = 1,
permission = "citizens.npc.piglin")
@Requirements(selected = true, ownership = true, types = { EntityType.PIGLIN })
public void piglin(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
PiglinTrait trait = npc.getOrAddTrait(PiglinTrait.class);
boolean hasArg = false;
if (args.hasValueFlag("dancing")) {
boolean dancing = Boolean.valueOf(args.getFlag("dancing"));
trait.setDancing(dancing);
Messaging.sendTr(sender, dancing ? Messages.PIGLIN_DANCING_SET : Messages.PIGLIN_DANCING_UNSET,
npc.getName());
hasArg = true;
}
if (!hasArg) {
throw new CommandUsageException();
}
}
@Command(
aliases = { "npc" },
usage = "polarbear (-r)",

View File

@ -205,6 +205,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -274,6 +275,7 @@ import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
import net.minecraft.world.entity.boss.wither.WitherBoss;
import net.minecraft.world.entity.monster.EnderMan;
import net.minecraft.world.entity.monster.Shulker;
import net.minecraft.world.entity.monster.piglin.Piglin;
import net.minecraft.world.entity.projectile.FishingHook;
import net.minecraft.world.entity.vehicle.AbstractMinecart;
import net.minecraft.world.inventory.AnvilMenu;
@ -784,6 +786,7 @@ public class NMSImpl implements NMSBridge {
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PiglinTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
@ -1276,6 +1279,13 @@ public class NMSImpl implements NMSBridge {
((Shulker) getHandle(shulker)).setRawPeekAmount(peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
if (!(getHandle(entity) instanceof Piglin))
return;
((Piglin) getHandle(entity)).setDancing(dancing);
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).setXRot(pitch);

View File

@ -28,6 +28,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_18_R2.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_18_R2.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_18_R2.network.EmptySocket;
@ -172,7 +173,8 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(getY(), getBukkitEntity().getWorld())) {
moveWithFallDamage(Vec3.ZERO);
}

View File

@ -43,6 +43,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -421,6 +422,30 @@ public class Commands {
}
}
@Command(
aliases = { "npc" },
usage = "piglin (--dancing [true|false])",
desc = "Sets piglin modifiers.",
modifiers = { "piglin" },
min = 1,
max = 1,
permission = "citizens.npc.piglin")
@Requirements(selected = true, ownership = true, types = { EntityType.PIGLIN })
public void piglin(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
PiglinTrait trait = npc.getOrAddTrait(PiglinTrait.class);
boolean hasArg = false;
if (args.hasValueFlag("dancing")) {
boolean dancing = Boolean.valueOf(args.getFlag("dancing"));
trait.setDancing(dancing);
Messaging.sendTr(sender, dancing ? Messages.PIGLIN_DANCING_SET : Messages.PIGLIN_DANCING_UNSET,
npc.getName());
hasArg = true;
}
if (!hasArg) {
throw new CommandUsageException();
}
}
@Command(
aliases = { "npc" },
usage = "polarbear (-r)",

View File

@ -207,6 +207,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
import net.citizensnpcs.trait.versioned.PandaTrait;
import net.citizensnpcs.trait.versioned.ParrotTrait;
import net.citizensnpcs.trait.versioned.PhantomTrait;
import net.citizensnpcs.trait.versioned.PiglinTrait;
import net.citizensnpcs.trait.versioned.PolarBearTrait;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.trait.versioned.ShulkerTrait;
@ -277,6 +278,7 @@ import net.minecraft.world.entity.boss.wither.WitherBoss;
import net.minecraft.world.entity.item.FallingBlockEntity;
import net.minecraft.world.entity.monster.EnderMan;
import net.minecraft.world.entity.monster.Shulker;
import net.minecraft.world.entity.monster.piglin.Piglin;
import net.minecraft.world.entity.projectile.FishingHook;
import net.minecraft.world.entity.vehicle.AbstractMinecart;
import net.minecraft.world.inventory.AnvilMenu;
@ -788,6 +790,7 @@ public class NMSImpl implements NMSBridge {
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(MushroomCowTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PiglinTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
@ -1283,6 +1286,13 @@ public class NMSImpl implements NMSBridge {
((Shulker) getHandle(shulker)).setRawPeekAmount(peek);
}
@Override
public void setPiglinDancing(org.bukkit.entity.Entity entity, boolean dancing) {
if (!(getHandle(entity) instanceof Piglin))
return;
((Piglin) getHandle(entity)).setDancing(dancing);
}
@Override
public void setPitch(org.bukkit.entity.Entity entity, float pitch) {
getHandle(entity).setXRot(pitch);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -201,7 +202,7 @@ public class AllayController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -16,6 +16,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -208,7 +209,7 @@ public class AxolotlController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -168,7 +168,7 @@ public class BatController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -163,7 +163,7 @@ public class BeeController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -157,7 +157,7 @@ public class BlazeController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -197,7 +198,7 @@ public class CatController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -195,7 +196,7 @@ public class CaveSpiderController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -206,7 +207,7 @@ public class ChickenController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -228,7 +229,7 @@ public class CodController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -213,7 +214,7 @@ public class CowController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -198,7 +199,7 @@ public class CreeperController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -182,7 +183,7 @@ public class DolphinController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -183,7 +184,7 @@ public class DrownedController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -173,7 +173,7 @@ public class EnderDragonController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -17,6 +17,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -204,7 +205,7 @@ public class EndermanController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -192,7 +193,7 @@ public class EndermiteController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -28,6 +28,7 @@ import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.event.NPCEnderTeleportEvent;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
import net.citizensnpcs.nms.v1_19_R1.network.EmptyNetHandler;
import net.citizensnpcs.nms.v1_19_R1.network.EmptyNetworkManager;
import net.citizensnpcs.nms.v1_19_R1.network.EmptySocket;
@ -174,7 +175,8 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
boolean navigating = npc.getNavigator().isNavigating();
if (!navigating && getBukkitEntity() != null
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))) {
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
&& SpigotUtil.checkYSafe(getY(), getBukkitEntity().getWorld())) {
moveWithFallDamage(Vec3.ZERO);
}

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -178,7 +179,7 @@ public class EvokerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -191,7 +192,7 @@ public class FoxController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -192,7 +193,7 @@ public class FrogController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -157,7 +157,7 @@ public class GhastController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class GiantController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class GlowSquidController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -191,7 +192,7 @@ public class GoatController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -193,7 +194,7 @@ public class GuardianController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -193,7 +194,7 @@ public class GuardianElderController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -180,7 +181,7 @@ public class HoglinController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -18,6 +18,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -237,7 +238,7 @@ public class HorseController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -18,6 +18,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -236,7 +237,7 @@ public class HorseDonkeyController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -18,6 +18,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -236,7 +237,7 @@ public class HorseMuleController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -18,6 +18,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -236,7 +237,7 @@ public class HorseSkeletonController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -18,6 +18,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -236,7 +237,7 @@ public class HorseZombieController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -178,7 +179,7 @@ public class IllusionerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class IronGolemController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -17,6 +17,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -208,7 +209,7 @@ public class LlamaController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -191,7 +192,7 @@ public class MagmaCubeController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -201,7 +202,7 @@ public class MushroomCowController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -198,7 +199,7 @@ public class OcelotController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -191,7 +192,7 @@ public class PandaController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -171,7 +171,7 @@ public class ParrotController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -224,7 +225,7 @@ public class PhantomController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -199,7 +200,7 @@ public class PigController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -178,7 +179,7 @@ public class PigZombieController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -180,7 +181,7 @@ public class PiglinBruteController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -180,7 +181,7 @@ public class PiglinController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -191,7 +192,7 @@ public class PillagerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -167,7 +167,7 @@ public class PolarBearController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -16,6 +16,7 @@ import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -231,7 +232,7 @@ public class PufferFishController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -213,7 +214,7 @@ public class RabbitController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -196,7 +197,7 @@ public class RavagerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -219,7 +220,7 @@ public class SalmonController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -191,7 +192,7 @@ public class SheepController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -190,7 +191,7 @@ public class ShulkerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -184,7 +185,7 @@ public class SilverfishController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class SkeletonController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class SkeletonStrayController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class SkeletonWitherController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -192,7 +193,7 @@ public class SlimeController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -199,7 +200,7 @@ public class SnowmanController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class SpiderController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class SquidController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -177,7 +178,7 @@ public class StriderController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -219,7 +220,7 @@ public class TadpoleController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -17,6 +17,7 @@ import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -209,7 +210,7 @@ public class TraderLlamaController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -221,7 +222,7 @@ public class TropicalFishController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -196,7 +197,7 @@ public class TurtleController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -154,7 +154,7 @@ public class VexController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -223,7 +224,7 @@ public class VillagerController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -192,7 +193,7 @@ public class VindicatorController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -230,7 +231,7 @@ public class WanderingTraderController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -184,7 +185,7 @@ public class WardenController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -14,6 +14,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -186,7 +187,7 @@ public class WitchController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -13,7 +13,7 @@ import net.citizensnpcs.nms.v1_19_R1.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
@ -160,7 +160,7 @@ public class WitherController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

View File

@ -15,6 +15,7 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.PositionImpl;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.server.level.ServerLevel;
@ -199,7 +200,7 @@ public class WolfController extends MobEntityController {
}
@Override
public Entity teleportTo(ServerLevel worldserver, BlockPos location) {
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
if (npc == null)
return super.teleportTo(worldserver, location);
return NMSImpl.teleportAcrossWorld(this, worldserver, location);

Some files were not shown because too many files have changed in this diff Show More