前提・実現したいこと
SpigotでEntityPlayerをNPCとしてスポーンさせようとしているのですが、指定の場所にスポーンさせることはできたのですがそれ以上の設定ができません.
該当のソースコード
Java
1 Location location = player.getLocation(); 2 3 MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer(); 4 WorldServer nmsWorld = ((CraftWorld) player.getWorld()).getHandle(); 5 GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "§a§l" + npcName); 6 changeSkin(gameProfile); 7 8 EntityPlayer npc = new EntityPlayer(nmsServer, nmsWorld, gameProfile, new PlayerInteractManager(nmsWorld)); 9 Player npcPlayer = npc.getBukkitEntity().getPlayer(); 10 11 npcPlayer.setPlayerListName(""); 12 npc.setLocation(location.getX(), location.getY(), location.getZ(), player.getLocation().getYaw(), player.getLocation().getPitch()); 13 npc.setHeadRotation(player.getLocation().getYaw()); //追記 14 npc.setNoGravity(false); //追記 15 npc.setOnGround(false); //追記 16 npc.setPose(EntityPose.FALL_FLYING); //追記 17 npcPlayer.setGliding(true); //追記 18 19 20 PlayerConnection connection = ((CraftPlayer)player).getHandle().playerConnection; 21 connection.sendPacket(new PacketPlayOutEntityHeadRotation(npc, (byte) ((player.getLocation().getYaw() * 256f)/360f))); //追記 22 connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, npc)); 23 connection.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
試したこと
追記したところはすべてその通りに動いてくれません.何通りか違うやり方を試して同じ内容のものを書いていますがどれも反応しません.
何かわかればよろしくお願いいたします.
補足情報(FW/ツールのバージョンなど)
IntelliJ
Gradle
あなたの回答
tips
プレビュー