- Баллы
- 76
Драсте, форумчане 
Около ~3 месяцов назад пытался заспавнить NPC, а позже уже детектить по нему клики. Призвать - призвал, а вот как детектить - вообще хз.
Идеи на счет "загугли" не катят. Уже тогда все перерыл. (на тот момент, скорее всего как и сейчас ничего не понял там)
Весь код взят с ролика PogoStick29Dev.

Около ~3 месяцов назад пытался заспавнить NPC, а позже уже детектить по нему клики. Призвать - призвал, а вот как детектить - вообще хз.
Идеи на счет "загугли" не катят. Уже тогда все перерыл. (на тот момент, скорее всего как и сейчас ничего не понял там)
Код:
private EntityPlayer npc;
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer();
WorldServer nmsWorld = ((CraftWorld) Bukkit.getWorlds().get(0)).getHandle();
npc = new EntityPlayer(nmsServer, nmsWorld, new GameProfile(UUID.fromString("c793afb5-c4b7-4fdb-a100-b761315913c4"), "PogoStick29"), new PlayerInteractManager(nmsWorld));
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
npc.setLocation(e.getPlayer().getLocation().getX(), e.getPlayer().getLocation().getY(), e.getPlayer().getLocation().getZ(), 0, 0);
PlayerConnection connection = ((CraftPlayer) e.getPlayer()).getHandle().playerConnection;
connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, npc));
connection.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
}
Весь код взят с ролика PogoStick29Dev.