- Баллы
- 76
- Имя в Minecraft
- Jenka20091
Заголовок
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Можно.Мне не нужен api. Можно ли заспавнить npc, назвать его test и в проверку EntityDamageByEntityEvent проверять на npc и имя
Я просто сейчас с телефона. Разве есть EntityType.NPC?Можно.
Ага щасЯ просто сейчас с телефона. Разве есть EntityType.NPC?
. Ты сказал без api, ну тогда тебе придется написать свое api для неписов.Просто так моба типа PLAYER заспаунить нельзя. Если хочешь без готовых апи - придётся знакомиться с NMS и/или пакетами. Опять же, можешь глянуть исходники того плагина, что скинул вышеМне не нужен api. Можно ли заспавнить npc, назвать его test и в проверку EntityDamageByEntityEvent проверять на npc и имя
ОноНикогда не работал с пакетами: PacketPlayOutNamedEntitySpawn Это?
Одним сообщением тут не отделаться. Поищи туториалы по работе с пакетами и созданию NPC. Такие есть, и там всё рассказаноА как мне его отправить и пользоваться?
public static void npc(Player p, String nameNpc)
{
Location l = p.getLocation();
MinecraftServer nms = ((CraftServer)Bukkit.getServer()).getServer();
WorldServer world = ((CraftWorld)p.getWorld()).getHandle();
GameProfile gP = new GameProfile(UUID.randomUUID(), nameNpc);
EntityPlayer npc = new EntityPlayer(nms, world, gP, new PlayerInteractManager(world));
Player npcP = npc.getBukkitEntity().getPlayer();
npc.setLocation(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch());
PlayerConnection connect = ((CraftPlayer) p).getHandle().playerConnection;
connect.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, npc));
connect.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
}
Похоже на правду, попробуйКод:public static void npc(Player p, String nameNpc) { Location l = p.getLocation(); MinecraftServer nms = ((CraftServer)Bukkit.getServer()).getServer(); WorldServer world = ((CraftWorld)p.getWorld()).getHandle(); GameProfile gP = new GameProfile(UUID.randomUUID(), nameNpc); EntityPlayer npc = new EntityPlayer(nms, world, gP, new PlayerInteractManager(world)); Player npcP = npc.getBukkitEntity().getPlayer(); npc.setLocation(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch()); PlayerConnection connect = ((CraftPlayer) p).getHandle().playerConnection; connect.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, npc)); connect.sendPacket(new PacketPlayOutNamedEntitySpawn(npc)); }
Так?

Деспавн пакетом.А как его убрать?
Как?? Я пакеты вижу первый разДеспавн пакетом.