From 38f164554a97764310c7645e493ccdf120228bd0 Mon Sep 17 00:00:00 2001 From: JitseB Date: Thu, 19 Apr 2018 19:09:10 +0200 Subject: [PATCH] Commit for release v1.0.3. --- src/net/jitse/npclib/NPCLib.java | 23 +++++++++++++++++++ .../{v1_10_r1 => v1_10_R1}/NPC_V1_10_R1.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 7 ++++-- .../PacketPlayOutScoreboardTeamWrapper.java | 2 +- .../{v1_11_r1 => v1_11_R1}/NPC_V1_11_R1.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 7 ++++-- .../PacketPlayOutScoreboardTeamWrapper.java | 2 +- .../{v1_12_r1 => v1_12_R1}/NPC_V1_12_R1.java | 12 +++++----- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 7 ++++-- .../PacketPlayOutScoreboardTeamWrapper.java | 2 +- .../nms/{v1_8_r1 => v1_8_R1}/NPC_V1_8_R1.java | 11 ++++----- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 2 +- .../PacketPlayOutScoreboardTeamWrapper.java | 6 ++++- .../nms/{v1_8_r2 => v1_8_R2}/NPC_V1_8_R2.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 2 +- .../PacketPlayOutScoreboardTeamWrapper.java | 6 ++++- .../nms/{v1_8_r3 => v1_8_R3}/NPC_V1_8_R3.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 2 +- .../PacketPlayOutScoreboardTeamWrapper.java | 6 ++++- .../nms/{v1_9_r1 => v1_9_R1}/NPC_V1_9_R1.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 5 ++-- .../PacketPlayOutScoreboardTeamWrapper.java | 2 +- .../nms/{v1_9_r2 => v1_9_R2}/NPC_V1_9_R2.java | 10 ++++---- ...acketPlayOutEntityHeadRotationWrapper.java | 2 +- .../PacketPlayOutNamedEntitySpawnWrapper.java | 2 +- .../PacketPlayOutPlayerInfoWrapper.java | 7 ++++-- .../PacketPlayOutScoreboardTeamWrapper.java | 2 +- src/net/jitse/npclib/version/Version.java | 16 ++++++------- 42 files changed, 134 insertions(+), 87 deletions(-) rename src/net/jitse/npclib/nms/{v1_10_r1 => v1_10_R1}/NPC_V1_10_R1.java (93%) rename src/net/jitse/npclib/nms/{v1_10_r1 => v1_10_R1}/packets/PacketPlayOutEntityHeadRotationWrapper.java (94%) rename src/net/jitse/npclib/nms/{v1_10_r1 => v1_10_R1}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_10_r1 => v1_10_R1}/packets/PacketPlayOutPlayerInfoWrapper.java (87%) rename src/net/jitse/npclib/nms/{v1_10_r1 => v1_10_R1}/packets/PacketPlayOutScoreboardTeamWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_11_r1 => v1_11_R1}/NPC_V1_11_R1.java (93%) rename src/net/jitse/npclib/nms/{v1_11_r1 => v1_11_R1}/packets/PacketPlayOutEntityHeadRotationWrapper.java (94%) rename src/net/jitse/npclib/nms/{v1_11_r1 => v1_11_R1}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_11_r1 => v1_11_R1}/packets/PacketPlayOutPlayerInfoWrapper.java (87%) rename src/net/jitse/npclib/nms/{v1_11_r1 => v1_11_R1}/packets/PacketPlayOutScoreboardTeamWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_12_r1 => v1_12_R1}/NPC_V1_12_R1.java (91%) rename src/net/jitse/npclib/nms/{v1_12_r1 => v1_12_R1}/packets/PacketPlayOutEntityHeadRotationWrapper.java (94%) rename src/net/jitse/npclib/nms/{v1_12_r1 => v1_12_R1}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_12_r1 => v1_12_R1}/packets/PacketPlayOutPlayerInfoWrapper.java (87%) rename src/net/jitse/npclib/nms/{v1_12_r1 => v1_12_R1}/packets/PacketPlayOutScoreboardTeamWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_8_r1 => v1_8_R1}/NPC_V1_8_R1.java (93%) rename src/net/jitse/npclib/nms/{v1_8_r1 => v1_8_R1}/packets/PacketPlayOutEntityHeadRotationWrapper.java (95%) rename src/net/jitse/npclib/nms/{v1_8_r1 => v1_8_R1}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_8_r1 => v1_8_R1}/packets/PacketPlayOutPlayerInfoWrapper.java (96%) rename src/net/jitse/npclib/nms/{v1_8_r1 => v1_8_R1}/packets/PacketPlayOutScoreboardTeamWrapper.java (86%) rename src/net/jitse/npclib/nms/{v1_8_r2 => v1_8_R2}/NPC_V1_8_R2.java (93%) rename src/net/jitse/npclib/nms/{v1_8_r2 => v1_8_R2}/packets/PacketPlayOutEntityHeadRotationWrapper.java (95%) rename src/net/jitse/npclib/nms/{v1_8_r2 => v1_8_R2}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_8_r2 => v1_8_R2}/packets/PacketPlayOutPlayerInfoWrapper.java (96%) rename src/net/jitse/npclib/nms/{v1_8_r2 => v1_8_R2}/packets/PacketPlayOutScoreboardTeamWrapper.java (86%) rename src/net/jitse/npclib/nms/{v1_8_r3 => v1_8_R3}/NPC_V1_8_R3.java (93%) rename src/net/jitse/npclib/nms/{v1_8_r3 => v1_8_R3}/packets/PacketPlayOutEntityHeadRotationWrapper.java (95%) rename src/net/jitse/npclib/nms/{v1_8_r3 => v1_8_R3}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_8_r3 => v1_8_R3}/packets/PacketPlayOutPlayerInfoWrapper.java (96%) rename src/net/jitse/npclib/nms/{v1_8_r3 => v1_8_R3}/packets/PacketPlayOutScoreboardTeamWrapper.java (86%) rename src/net/jitse/npclib/nms/{v1_9_r1 => v1_9_R1}/NPC_V1_9_R1.java (93%) rename src/net/jitse/npclib/nms/{v1_9_r1 => v1_9_R1}/packets/PacketPlayOutEntityHeadRotationWrapper.java (95%) rename src/net/jitse/npclib/nms/{v1_9_r1 => v1_9_R1}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_9_r1 => v1_9_R1}/packets/PacketPlayOutPlayerInfoWrapper.java (89%) rename src/net/jitse/npclib/nms/{v1_9_r1 => v1_9_R1}/packets/PacketPlayOutScoreboardTeamWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_9_r2 => v1_9_R2}/NPC_V1_9_R2.java (93%) rename src/net/jitse/npclib/nms/{v1_9_r2 => v1_9_R2}/packets/PacketPlayOutEntityHeadRotationWrapper.java (95%) rename src/net/jitse/npclib/nms/{v1_9_r2 => v1_9_R2}/packets/PacketPlayOutNamedEntitySpawnWrapper.java (97%) rename src/net/jitse/npclib/nms/{v1_9_r2 => v1_9_R2}/packets/PacketPlayOutPlayerInfoWrapper.java (89%) rename src/net/jitse/npclib/nms/{v1_9_r2 => v1_9_R2}/packets/PacketPlayOutScoreboardTeamWrapper.java (97%) diff --git a/src/net/jitse/npclib/NPCLib.java b/src/net/jitse/npclib/NPCLib.java index 7acfef5..d97a1dd 100644 --- a/src/net/jitse/npclib/NPCLib.java +++ b/src/net/jitse/npclib/NPCLib.java @@ -40,6 +40,8 @@ public class NPCLib { + versionName + ") is not supported."); } + server.getConsoleSender().sendMessage(ChatColor.BLUE + "[NPCLib] " + ChatColor.WHITE + "Enabled for version " + version.toString() + "."); + registerInternal(); } @@ -82,4 +84,25 @@ public class NPCLib { public NPC createNPC(Skin skin, List lines) { return createNPC(skin, 50, lines); } + + + /** + * Create a new non-player character (NPC). + * + * @param skin The skin you want the NPC to have. + * @return The NPC object you may use to sendShowPackets it to players. + */ + public NPC createNPC(Skin skin) { + return createNPC(skin, 50, null); + } + + + /** + * Create a new non-player character (NPC). + * + * @return The NPC object you may use to sendShowPackets it to players. + */ + public NPC createNPC() { + return createNPC(null, 50, null); + } } diff --git a/src/net/jitse/npclib/nms/v1_10_r1/NPC_V1_10_R1.java b/src/net/jitse/npclib/nms/v1_10_R1/NPC_V1_10_R1.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_10_r1/NPC_V1_10_R1.java rename to src/net/jitse/npclib/nms/v1_10_R1/NPC_V1_10_R1.java index 587cf51..481fc65 100644 --- a/src/net/jitse/npclib/nms/v1_10_r1/NPC_V1_10_R1.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/NPC_V1_10_R1.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_10_r1; +package net.jitse.npclib.nms.v1_10_R1; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_10_r1.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_10_r1.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_10_r1.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_10_r1.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_10_R1.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_10_R1.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_10_R1.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_10_R1.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_10_R1.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 94% rename from src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java index cc49bff..86a6457 100644 --- a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_10_r1.packets; +package net.jitse.npclib.nms.v1_10_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_10_R1.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java index c74ef1a..3a81184 100644 --- a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_10_r1.packets; +package net.jitse.npclib.nms.v1_10_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_10_R1.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 87% rename from src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutPlayerInfoWrapper.java index 19dc674..d07e54a 100644 --- a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,13 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_10_r1.packets; +package net.jitse.npclib.nms.v1_10_R1.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; import net.minecraft.server.v1_10_R1.EnumGamemode; import net.minecraft.server.v1_10_R1.IChatBaseComponent; import net.minecraft.server.v1_10_R1.PacketPlayOutPlayerInfo; +import org.bukkit.ChatColor; import java.util.List; @@ -28,7 +29,9 @@ public class PacketPlayOutPlayerInfoWrapper { .set(packetPlayOutPlayerInfo, action); Object playerInfoData = playerInfoDataConstructor.invoke(packetPlayOutPlayerInfo, - gameProfile, 1, EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b(name)); + gameProfile, 1, EnumGamemode.NOT_SET, + IChatBaseComponent.ChatSerializer.b("{\"text\":\"" + ChatColor.BLUE + "[NPC] " + name + "\"}") + ); Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class); List list = fieldAccessor.get(packetPlayOutPlayerInfo); diff --git a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index b39fccb..1bc7b21 100644 --- a/src/net/jitse/npclib/nms/v1_10_r1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_10_r1.packets; +package net.jitse.npclib.nms.v1_10_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_10_R1.PacketPlayOutScoreboardTeam; diff --git a/src/net/jitse/npclib/nms/v1_11_r1/NPC_V1_11_R1.java b/src/net/jitse/npclib/nms/v1_11_R1/NPC_V1_11_R1.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_11_r1/NPC_V1_11_R1.java rename to src/net/jitse/npclib/nms/v1_11_R1/NPC_V1_11_R1.java index 435db7f..10eb4a5 100644 --- a/src/net/jitse/npclib/nms/v1_11_r1/NPC_V1_11_R1.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/NPC_V1_11_R1.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_11_r1; +package net.jitse.npclib.nms.v1_11_R1; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_11_r1.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_11_r1.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_11_r1.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_11_r1.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_11_R1.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_11_R1.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_11_R1.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_11_R1.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_11_R1.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 94% rename from src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java index 97acf08..6de5178 100644 --- a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_11_r1.packets; +package net.jitse.npclib.nms.v1_11_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_11_R1.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java index 92cb39f..d6e1cff 100644 --- a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_11_r1.packets; +package net.jitse.npclib.nms.v1_11_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_11_R1.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 87% rename from src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutPlayerInfoWrapper.java index 37dcd43..52413e5 100644 --- a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,13 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_11_r1.packets; +package net.jitse.npclib.nms.v1_11_R1.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; import net.minecraft.server.v1_11_R1.EnumGamemode; import net.minecraft.server.v1_11_R1.IChatBaseComponent; import net.minecraft.server.v1_11_R1.PacketPlayOutPlayerInfo; +import org.bukkit.ChatColor; import java.util.List; @@ -28,7 +29,9 @@ public class PacketPlayOutPlayerInfoWrapper { .set(packetPlayOutPlayerInfo, action); Object playerInfoData = playerInfoDataConstructor.invoke(packetPlayOutPlayerInfo, - gameProfile, 1, EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b(name)); + gameProfile, 1, EnumGamemode.NOT_SET, + IChatBaseComponent.ChatSerializer.b("{\"text\":\"" + ChatColor.BLUE + "[NPC] " + name + "\"}") + ); Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class); List list = fieldAccessor.get(packetPlayOutPlayerInfo); diff --git a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 95fd216..0b88683 100644 --- a/src/net/jitse/npclib/nms/v1_11_r1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_11_r1.packets; +package net.jitse.npclib.nms.v1_11_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_11_R1.PacketPlayOutScoreboardTeam; diff --git a/src/net/jitse/npclib/nms/v1_12_r1/NPC_V1_12_R1.java b/src/net/jitse/npclib/nms/v1_12_R1/NPC_V1_12_R1.java similarity index 91% rename from src/net/jitse/npclib/nms/v1_12_r1/NPC_V1_12_R1.java rename to src/net/jitse/npclib/nms/v1_12_R1/NPC_V1_12_R1.java index f2d38ef..07ac757 100644 --- a/src/net/jitse/npclib/nms/v1_12_r1/NPC_V1_12_R1.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/NPC_V1_12_R1.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_12_r1; +package net.jitse.npclib.nms.v1_12_R1; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_12_r1.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_12_r1.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_12_r1.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_12_r1.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_12_R1.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_12_R1.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_12_R1.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_12_R1.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_12_R1.*; import org.bukkit.Bukkit; @@ -75,7 +75,7 @@ public class NPC_V1_12_R1 extends NPC { public void sendShowPackets(Player player) { PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection; - playerConnection.sendPacket(packetPlayOutScoreboardTeamRegister); +// playerConnection.sendPacket(packetPlayOutScoreboardTeamRegister); playerConnection.sendPacket(packetPlayOutPlayerInfoAdd); playerConnection.sendPacket(packetPlayOutNamedEntitySpawn); playerConnection.sendPacket(packetPlayOutEntityHeadRotation); diff --git a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 94% rename from src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java index cefb4f1..2abba78 100644 --- a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_12_r1.packets; +package net.jitse.npclib.nms.v1_12_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_12_R1.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java index 88a5ada..323abde 100644 --- a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_12_r1.packets; +package net.jitse.npclib.nms.v1_12_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_12_R1.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 87% rename from src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutPlayerInfoWrapper.java index fa21219..f13a0a4 100644 --- a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,13 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_12_r1.packets; +package net.jitse.npclib.nms.v1_12_R1.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; import net.minecraft.server.v1_12_R1.EnumGamemode; import net.minecraft.server.v1_12_R1.IChatBaseComponent; import net.minecraft.server.v1_12_R1.PacketPlayOutPlayerInfo; +import org.bukkit.ChatColor; import java.util.List; @@ -28,7 +29,9 @@ public class PacketPlayOutPlayerInfoWrapper { .set(packetPlayOutPlayerInfo, action); Object playerInfoData = playerInfoDataConstructor.invoke(packetPlayOutPlayerInfo, - gameProfile, 1, EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b(name)); + gameProfile, 1, EnumGamemode.NOT_SET, + IChatBaseComponent.ChatSerializer.b("{\"text\":\"" + ChatColor.BLUE + "[NPC] " + name + "\"}") + ); Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class); List list = fieldAccessor.get(packetPlayOutPlayerInfo); diff --git a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index c2158bd..d6e3a98 100644 --- a/src/net/jitse/npclib/nms/v1_12_r1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_12_r1.packets; +package net.jitse.npclib.nms.v1_12_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_12_R1.PacketPlayOutScoreboardTeam; diff --git a/src/net/jitse/npclib/nms/v1_8_r1/NPC_V1_8_R1.java b/src/net/jitse/npclib/nms/v1_8_R1/NPC_V1_8_R1.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_8_r1/NPC_V1_8_R1.java rename to src/net/jitse/npclib/nms/v1_8_R1/NPC_V1_8_R1.java index 27ce999..7544558 100644 --- a/src/net/jitse/npclib/nms/v1_8_r1/NPC_V1_8_R1.java +++ b/src/net/jitse/npclib/nms/v1_8_R1/NPC_V1_8_R1.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r1; +package net.jitse.npclib.nms.v1_8_R1; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_8_r1.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_8_r1.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_8_r1.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_8_r1.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_8_R1.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_8_R1.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_8_R1.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_8_R1.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_8_R1.*; import org.bukkit.Bukkit; @@ -82,7 +82,6 @@ public class NPC_V1_8_R1 extends NPC { hologram.spawn(player); - Bukkit.getScheduler().runTaskLater(plugin, () -> playerConnection.sendPacket(packetPlayOutPlayerInfoRemove), 5); } diff --git a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 95% rename from src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java index a5db0a2..4d6eb40 100644 --- a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r1.packets; +package net.jitse.npclib.nms.v1_8_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R1.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java index 1a99a4c..eac29db 100644 --- a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r1.packets; +package net.jitse.npclib.nms.v1_8_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R1.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 96% rename from src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutPlayerInfoWrapper.java index 3149c3b..283b46e 100644 --- a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r1.packets; +package net.jitse.npclib.nms.v1_8_R1.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; diff --git a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 86% rename from src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 81ce4be..e682a39 100644 --- a/src/net/jitse/npclib/nms/v1_8_r1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,10 +2,11 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r1.packets; +package net.jitse.npclib.nms.v1_8_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R1.PacketPlayOutScoreboardTeam; +import org.bukkit.ChatColor; import java.util.Collection; @@ -27,6 +28,9 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 1); + // Could not get this working in the PacketPlayOutPlayerInfoWrapper class. + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "c", String.class) + .set(packetPlayOutScoreboardTeam, ChatColor.BLUE + "[NPC] "); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( packetPlayOutScoreboardTeam.getClass(), "g", Collection.class); Collection collection = collectionFieldAccessor.get(packetPlayOutScoreboardTeam); diff --git a/src/net/jitse/npclib/nms/v1_8_r2/NPC_V1_8_R2.java b/src/net/jitse/npclib/nms/v1_8_R2/NPC_V1_8_R2.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_8_r2/NPC_V1_8_R2.java rename to src/net/jitse/npclib/nms/v1_8_R2/NPC_V1_8_R2.java index 1fdbfcb..3b29090 100644 --- a/src/net/jitse/npclib/nms/v1_8_r2/NPC_V1_8_R2.java +++ b/src/net/jitse/npclib/nms/v1_8_R2/NPC_V1_8_R2.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r2; +package net.jitse.npclib.nms.v1_8_R2; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_8_r2.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_8_r2.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_8_r2.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_8_r2.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_8_R2.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_8_R2.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_8_R2.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_8_R2.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_8_R2.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 95% rename from src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java index 62a9a7c..5ac6220 100644 --- a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r2.packets; +package net.jitse.npclib.nms.v1_8_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R2.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java index 9d8feb5..f48b8c8 100644 --- a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r2.packets; +package net.jitse.npclib.nms.v1_8_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R2.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 96% rename from src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java index 1e0d427..bca9688 100644 --- a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r2.packets; +package net.jitse.npclib.nms.v1_8_R2.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; diff --git a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 86% rename from src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java index 28287af..89a6e7a 100644 --- a/src/net/jitse/npclib/nms/v1_8_r2/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,10 +2,11 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r2.packets; +package net.jitse.npclib.nms.v1_8_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R2.PacketPlayOutScoreboardTeam; +import org.bukkit.ChatColor; import java.util.Collection; @@ -27,6 +28,9 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 1); + // Could not get this working in the PacketPlayOutPlayerInfoWrapper class. + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "c", String.class) + .set(packetPlayOutScoreboardTeam, ChatColor.BLUE + "[NPC] "); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( packetPlayOutScoreboardTeam.getClass(), "g", Collection.class); Collection collection = collectionFieldAccessor.get(packetPlayOutScoreboardTeam); diff --git a/src/net/jitse/npclib/nms/v1_8_r3/NPC_V1_8_R3.java b/src/net/jitse/npclib/nms/v1_8_R3/NPC_V1_8_R3.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_8_r3/NPC_V1_8_R3.java rename to src/net/jitse/npclib/nms/v1_8_R3/NPC_V1_8_R3.java index df79f85..0fb0193 100644 --- a/src/net/jitse/npclib/nms/v1_8_r3/NPC_V1_8_R3.java +++ b/src/net/jitse/npclib/nms/v1_8_R3/NPC_V1_8_R3.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r3; +package net.jitse.npclib.nms.v1_8_R3; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_8_r3.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_8_r3.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_8_r3.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_8_r3.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_8_R3.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_8_R3.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_8_R3.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_8_R3.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_8_R3.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 95% rename from src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutEntityHeadRotationWrapper.java index 461f80f..e50ebb9 100644 --- a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r3.packets; +package net.jitse.npclib.nms.v1_8_R3.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R3.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutNamedEntitySpawnWrapper.java index 7f75c4b..b23b72b 100644 --- a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r3.packets; +package net.jitse.npclib.nms.v1_8_R3.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R3.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 96% rename from src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutPlayerInfoWrapper.java index 9bda874..3c411df 100644 --- a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r3.packets; +package net.jitse.npclib.nms.v1_8_R3.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; diff --git a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 86% rename from src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutScoreboardTeamWrapper.java index 7549cce..3b6b53c 100644 --- a/src/net/jitse/npclib/nms/v1_8_r3/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_8_R3/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,10 +2,11 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_8_r3.packets; +package net.jitse.npclib.nms.v1_8_R3.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_8_R3.PacketPlayOutScoreboardTeam; +import org.bukkit.ChatColor; import java.util.Collection; @@ -27,6 +28,9 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 1); + // Could not get this working in the PacketPlayOutPlayerInfoWrapper class. + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "c", String.class) + .set(packetPlayOutScoreboardTeam, ChatColor.BLUE + "[NPC] "); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( packetPlayOutScoreboardTeam.getClass(), "g", Collection.class); Collection collection = collectionFieldAccessor.get(packetPlayOutScoreboardTeam); diff --git a/src/net/jitse/npclib/nms/v1_9_r1/NPC_V1_9_R1.java b/src/net/jitse/npclib/nms/v1_9_R1/NPC_V1_9_R1.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_9_r1/NPC_V1_9_R1.java rename to src/net/jitse/npclib/nms/v1_9_R1/NPC_V1_9_R1.java index 615c5a7..a5b9747 100644 --- a/src/net/jitse/npclib/nms/v1_9_r1/NPC_V1_9_R1.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/NPC_V1_9_R1.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r1; +package net.jitse.npclib.nms.v1_9_R1; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_9_r1.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_9_r1.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_9_r1.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_9_r1.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_9_R1.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_9_R1.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_9_R1.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_9_R1.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_9_R1.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 95% rename from src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java index e8a531a..72b2a04 100644 --- a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r1.packets; +package net.jitse.npclib.nms.v1_9_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R1.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java index dd00916..d0a2504 100644 --- a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r1.packets; +package net.jitse.npclib.nms.v1_9_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R1.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 89% rename from src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutPlayerInfoWrapper.java index 3217502..43695c7 100644 --- a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,13 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r1.packets; +package net.jitse.npclib.nms.v1_9_R1.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; import net.minecraft.server.v1_9_R1.IChatBaseComponent; import net.minecraft.server.v1_9_R1.PacketPlayOutPlayerInfo; import net.minecraft.server.v1_9_R1.WorldSettings; +import org.bukkit.ChatColor; import java.util.List; @@ -23,7 +24,7 @@ public class PacketPlayOutPlayerInfoWrapper { .set(packetPlayOutPlayerInfo, action); PacketPlayOutPlayerInfo.PlayerInfoData playerInfoData = new PacketPlayOutPlayerInfo().new PlayerInfoData(gameProfile, 1, - WorldSettings.EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b(name)); + WorldSettings.EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b("{\"text\":\"" + ChatColor.BLUE + "[NPC] " + name + "\"}")); Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class); diff --git a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 93ffe44..5691d41 100644 --- a/src/net/jitse/npclib/nms/v1_9_r1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r1.packets; +package net.jitse.npclib.nms.v1_9_R1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R1.PacketPlayOutScoreboardTeam; diff --git a/src/net/jitse/npclib/nms/v1_9_r2/NPC_V1_9_R2.java b/src/net/jitse/npclib/nms/v1_9_R2/NPC_V1_9_R2.java similarity index 93% rename from src/net/jitse/npclib/nms/v1_9_r2/NPC_V1_9_R2.java rename to src/net/jitse/npclib/nms/v1_9_R2/NPC_V1_9_R2.java index 5e337cb..ef3a0c1 100644 --- a/src/net/jitse/npclib/nms/v1_9_r2/NPC_V1_9_R2.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/NPC_V1_9_R2.java @@ -2,14 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r2; +package net.jitse.npclib.nms.v1_9_R2; import net.jitse.npclib.api.NPC; import net.jitse.npclib.nms.holograms.Hologram; -import net.jitse.npclib.nms.v1_9_r2.packets.PacketPlayOutEntityHeadRotationWrapper; -import net.jitse.npclib.nms.v1_9_r2.packets.PacketPlayOutNamedEntitySpawnWrapper; -import net.jitse.npclib.nms.v1_9_r2.packets.PacketPlayOutPlayerInfoWrapper; -import net.jitse.npclib.nms.v1_9_r2.packets.PacketPlayOutScoreboardTeamWrapper; +import net.jitse.npclib.nms.v1_9_R2.packets.PacketPlayOutEntityHeadRotationWrapper; +import net.jitse.npclib.nms.v1_9_R2.packets.PacketPlayOutNamedEntitySpawnWrapper; +import net.jitse.npclib.nms.v1_9_R2.packets.PacketPlayOutPlayerInfoWrapper; +import net.jitse.npclib.nms.v1_9_R2.packets.PacketPlayOutScoreboardTeamWrapper; import net.jitse.npclib.skin.Skin; import net.minecraft.server.v1_9_R2.*; import org.bukkit.Bukkit; diff --git a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java similarity index 95% rename from src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java index 65496e5..6b2d008 100644 --- a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutEntityHeadRotationWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r2.packets; +package net.jitse.npclib.nms.v1_9_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R2.PacketPlayOutEntityHeadRotation; diff --git a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java index b034b02..39f5a3c 100644 --- a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutNamedEntitySpawnWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r2.packets; +package net.jitse.npclib.nms.v1_9_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R2.DataWatcher; diff --git a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutPlayerInfoWrapper.java b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutPlayerInfoWrapper.java similarity index 89% rename from src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutPlayerInfoWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutPlayerInfoWrapper.java index e853104..67afd64 100644 --- a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutPlayerInfoWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutPlayerInfoWrapper.java @@ -2,13 +2,14 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r2.packets; +package net.jitse.npclib.nms.v1_9_R2.packets; import com.comphenix.tinyprotocol.Reflection; import com.mojang.authlib.GameProfile; import net.minecraft.server.v1_9_R2.IChatBaseComponent; import net.minecraft.server.v1_9_R2.PacketPlayOutPlayerInfo; import net.minecraft.server.v1_9_R2.WorldSettings; +import org.bukkit.ChatColor; import java.util.List; @@ -28,7 +29,9 @@ public class PacketPlayOutPlayerInfoWrapper { .set(packetPlayOutPlayerInfo, action); Object playerInfoData = playerInfoDataConstructor.invoke(packetPlayOutPlayerInfo, - gameProfile, 1, WorldSettings.EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.b(name)); + gameProfile, 1, WorldSettings.EnumGamemode.NOT_SET, + IChatBaseComponent.ChatSerializer.b("{\"text\":\"" + ChatColor.BLUE + "[NPC] " + name + "\"}") + ); Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class); List list = fieldAccessor.get(packetPlayOutPlayerInfo); diff --git a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java similarity index 97% rename from src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutScoreboardTeamWrapper.java rename to src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java index 02e3a9a..1131d1e 100644 --- a/src/net/jitse/npclib/nms/v1_9_r2/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -2,7 +2,7 @@ * Copyright (c) 2018 Jitse Boonstra */ -package net.jitse.npclib.nms.v1_9_r2.packets; +package net.jitse.npclib.nms.v1_9_R2.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_9_R2.PacketPlayOutScoreboardTeam; diff --git a/src/net/jitse/npclib/version/Version.java b/src/net/jitse/npclib/version/Version.java index bc09362..a2acc90 100644 --- a/src/net/jitse/npclib/version/Version.java +++ b/src/net/jitse/npclib/version/Version.java @@ -5,14 +5,14 @@ package net.jitse.npclib.version; import net.jitse.npclib.api.NPC; -import net.jitse.npclib.nms.v1_10_r1.NPC_V1_10_R1; -import net.jitse.npclib.nms.v1_11_r1.NPC_V1_11_R1; -import net.jitse.npclib.nms.v1_12_r1.NPC_V1_12_R1; -import net.jitse.npclib.nms.v1_8_r1.NPC_V1_8_R1; -import net.jitse.npclib.nms.v1_8_r2.NPC_V1_8_R2; -import net.jitse.npclib.nms.v1_8_r3.NPC_V1_8_R3; -import net.jitse.npclib.nms.v1_9_r1.NPC_V1_9_R1; -import net.jitse.npclib.nms.v1_9_r2.NPC_V1_9_R2; +import net.jitse.npclib.nms.v1_10_R1.NPC_V1_10_R1; +import net.jitse.npclib.nms.v1_11_R1.NPC_V1_11_R1; +import net.jitse.npclib.nms.v1_12_R1.NPC_V1_12_R1; +import net.jitse.npclib.nms.v1_8_R1.NPC_V1_8_R1; +import net.jitse.npclib.nms.v1_8_R2.NPC_V1_8_R2; +import net.jitse.npclib.nms.v1_8_R3.NPC_V1_8_R3; +import net.jitse.npclib.nms.v1_9_R1.NPC_V1_9_R1; +import net.jitse.npclib.nms.v1_9_R2.NPC_V1_9_R2; import java.lang.reflect.InvocationTargetException; import java.util.Arrays;