Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Npc {
- private MinecraftServer nmsServer;
- private WorldServer nmsWorld;
- private GameProfile gp;
- public EntityPlayer npc;
- private Player npcPlayer;
- private String name;
- public Npc(String name) {
- this.name = name;
- nmsServer = ((CraftServer) Bukkit.getServer()).getServer();
- nmsWorld = ((CraftWorld) Bukkit.getWorlds().get(0)).getHandle();
- gp = new GameProfile(UUID.fromString(Files.getUuidFetcher().getUuid(name)), "§3" + this.name);
- npc = new EntityPlayer(nmsServer, nmsWorld, gp, new PlayerInteractManager(nmsWorld));
- npcPlayer = npc.getBukkitEntity().getPlayer();
- npcPlayer.setPlayerListName("");
- }
- public void spawn(Player p) {
- npc.setLocation(p.getLocation().getX(), p.getLocation().getY(), p.getLocation().getZ(), 0F, 0F);
- PlayerConnection connection = ((CraftPlayer) p).getHandle().playerConnection;
- connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, npc));
- connection.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
- }
- public void teleport(Player p) {
- PlayerConnection connection = ((CraftPlayer) p).getHandle().playerConnection;
- PacketPlayOutEntityDestroy packet = new PacketPlayOutEntityDestroy(npc.getId());
- connection.sendPacket(packet);
- npc.setLocation(p.getLocation().getX(), p.getLocation().getY(), p.getLocation().getZ(), 0F, 0F);
- connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, npc));
- connection.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement