Skip to content

Commit

Permalink
fix npc creation issue in 1.20.3
Browse files Browse the repository at this point in the history
  • Loading branch information
hakan-krgn committed Dec 28, 2023
1 parent efc58ee commit f2000f1
Showing 1 changed file with 19 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
import org.bukkit.entity.Player;

Expand Down Expand Up @@ -177,17 +178,26 @@ public void show(@Nonnull List<Player> players) {
dataWatcher.b(new DataWatcherObject<>(10, DataWatcherRegistry.b), 0);
dataWatcher.b(new DataWatcherObject<>(17, DataWatcherRegistry.a), (byte) 127);

players.forEach(player -> this.scoreboard.g().add(player.getName()));
HCore.sendPacket(players,
new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.a.a, this.nmsPlayer),
new PacketPlayOutEntityMetadata(this.getID(), dataWatcher.c()),
new PacketPlayOutSpawnEntity(this.nmsPlayer),
PacketPlayOutScoreboardTeam.a(this.scoreboard, true));
HCore.asyncScheduler().after(5)
.run(() -> HCore.sendPacket(players, new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.a.e, this.nmsPlayer)));

players.forEach(player -> {
this.scoreboard.g().add(player.getName());

this.nmsPlayer.c = ((CraftPlayer) players.get(0)).getHandle().c;
HCore.sendPacket(player,
new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.a.a, this.nmsPlayer),
new PacketPlayOutEntityMetadata(this.getID(), dataWatcher.c()),
new PacketPlayOutSpawnEntity(this.nmsPlayer),
PacketPlayOutScoreboardTeam.a(this.scoreboard, true));
this.nmsPlayer.c = null;
});
HCore.asyncScheduler().after(5).run(() -> players.forEach(player -> {
this.nmsPlayer.c = ((CraftPlayer) players.get(0)).getHandle().c;
HCore.sendPacket(player, new ClientboundPlayerInfoUpdatePacket(
ClientboundPlayerInfoUpdatePacket.a.e, this.nmsPlayer));
this.nmsPlayer.c = null;
}));
HCore.asyncScheduler().after(2)
.run(() -> this.updateLocation(players));

this.updateEquipments(players);
}

Expand Down

0 comments on commit f2000f1

Please sign in to comment.