fix support for 1.19.1 & 1.19.2

This commit is contained in:
Pyrbu 2023-05-26 12:47:31 +01:00
parent 7924fbae62
commit ec9ee770a4
2 changed files with 9 additions and 1 deletions

@ -20,7 +20,7 @@ public class ListCommand implements CommandHandler {
@Override
public void run(CommandContext context) throws CommandExecutionException {
TextComponent.Builder component = Component.text("Npc's:\n").color(NamedTextColor.GOLD).toBuilder();
TextComponent.Builder component = Component.text("Npc List:\n").color(NamedTextColor.GOLD).toBuilder();
for (String id : npcRegistry.getModifiableIds()) {
NpcImpl npc = npcRegistry.get(id).getNpc();
NpcLocation location = npc.getLocation();

@ -1,6 +1,7 @@
package lol.pyr.znpcsplus.packets;
import com.github.retrooper.packetevents.PacketEventsAPI;
import com.github.retrooper.packetevents.manager.server.ServerVersion;
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
import com.github.retrooper.packetevents.protocol.player.GameMode;
import com.github.retrooper.packetevents.protocol.player.UserProfile;
@ -19,12 +20,15 @@ import java.util.EnumSet;
import java.util.concurrent.CompletableFuture;
public class V1_19PacketFactory extends V1_16PacketFactory {
private final boolean oldTabPackets;
public V1_19PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI<Plugin> packetEvents, EntityPropertyRegistryImpl propertyRegistry) {
super(scheduler, metadataFactory, packetEvents, propertyRegistry);
oldTabPackets = packetEvents.getServerManager().getVersion().isOlderThanOrEquals(ServerVersion.V_1_19_2);
}
@Override
public CompletableFuture<Void> addTabPlayer(Player player, PacketEntity entity, PropertyHolder properties) {
if (oldTabPackets) return super.addTabPlayer(player, entity, properties);
if (entity.getType() != EntityTypes.PLAYER) return CompletableFuture.completedFuture(null);
CompletableFuture<Void> future = new CompletableFuture<>();
skinned(player, properties, new UserProfile(entity.getUuid(), Integer.toString(entity.getEntityId()))).thenAccept(profile -> {
@ -39,6 +43,10 @@ public class V1_19PacketFactory extends V1_16PacketFactory {
@Override
public void removeTabPlayer(Player player, PacketEntity entity) {
if (oldTabPackets) {
super.removeTabPlayer(player, entity);
return;
}
if (entity.getType() != EntityTypes.PLAYER) return;
sendPacket(player, new WrapperPlayServerPlayerInfoRemove(entity.getUuid()));
}