From b8499a7a8ac80b600cb3b8f67f73350e19f1bc5c Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Thu, 21 May 2026 08:36:24 +0200 Subject: [PATCH] Fix Tablist --- .../velocitycore/tablist/Tablist.java | 2 +- .../tablist/UpdateTeamsPacket21.java | 103 ------------------ 2 files changed, 1 insertion(+), 104 deletions(-) delete mode 100644 VelocityCore/src/de/steamwar/velocitycore/tablist/UpdateTeamsPacket21.java diff --git a/VelocityCore/src/de/steamwar/velocitycore/tablist/Tablist.java b/VelocityCore/src/de/steamwar/velocitycore/tablist/Tablist.java index 206626ca..8b53a1f9 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/tablist/Tablist.java +++ b/VelocityCore/src/de/steamwar/velocitycore/tablist/Tablist.java @@ -51,7 +51,7 @@ public class Tablist extends ChannelInboundHandlerAdapter { private static final UUID[] swUuids = IntStream.range(0, 80).mapToObj(i -> UUID.randomUUID()).toArray(UUID[]::new); private static final String[] swNames = IntStream.range(0, 80).mapToObj(i -> " »SW« " + String.format("%02d", i)).toArray(String[]::new); - public static final UpdateTeamsPacket createTeamPacket = new UpdateTeamsPacket21("zzzzzsw-tab", UpdateTeamsPacket.Mode.CREATE, Component.empty(), Component.empty(), Component.empty(), UpdateTeamsPacket.NameTagVisibility.NEVER, UpdateTeamsPacket.CollisionRule.ALWAYS, 21, (byte) 0x00, Arrays.stream(Tablist.swNames).toList()); + public static final UpdateTeamsPacket createTeamPacket = new UpdateTeamsPacket("zzzzzsw-tab", UpdateTeamsPacket.Mode.CREATE, Component.empty(), Component.empty(), Component.empty(), UpdateTeamsPacket.NameTagVisibility.NEVER, UpdateTeamsPacket.CollisionRule.ALWAYS, 21, (byte) 0x00, Arrays.stream(Tablist.swNames).toList()); private final Map directTabItems; private final List current = new ArrayList<>(); diff --git a/VelocityCore/src/de/steamwar/velocitycore/tablist/UpdateTeamsPacket21.java b/VelocityCore/src/de/steamwar/velocitycore/tablist/UpdateTeamsPacket21.java deleted file mode 100644 index 131bf413..00000000 --- a/VelocityCore/src/de/steamwar/velocitycore/tablist/UpdateTeamsPacket21.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.velocitycore.tablist; - -import com.velocitypowered.api.network.ProtocolVersion; -import com.velocitypowered.proxy.protocol.ProtocolUtils; -import com.velocitypowered.proxy.protocol.packet.UpdateTeamsPacket; -import com.velocitypowered.proxy.protocol.packet.chat.ComponentHolder; -import io.netty.buffer.ByteBuf; -import net.kyori.adventure.text.Component; - -import java.util.List; - -public class UpdateTeamsPacket21 extends UpdateTeamsPacket { - - private String name; - private Mode mode; - private Component displayName; - private Component prefix; - private Component suffix; - private NameTagVisibility nameTagVisibility; - private CollisionRule collisionRule; - private int color; - private byte friendlyFlags; - private List players; - - public UpdateTeamsPacket21(String name, Mode mode, Component displayName, Component prefix, Component suffix, NameTagVisibility nameTagVisibility, CollisionRule collisionRule, int color, byte friendlyFlags, List players) { - super(name, mode, displayName, prefix, suffix, nameTagVisibility, collisionRule, color, friendlyFlags, players); - this.name = name; - this.mode = mode; - this.displayName = displayName; - this.prefix = prefix; - this.suffix = suffix; - this.nameTagVisibility = nameTagVisibility; - this.collisionRule = collisionRule; - this.color = color; - this.friendlyFlags = friendlyFlags; - this.players = players; - } - - @Override - public void encode(ByteBuf byteBuf, ProtocolUtils.Direction direction, ProtocolVersion protocolVersion) { - ProtocolUtils.writeString(byteBuf, this.name); - byteBuf.writeByte(this.mode.ordinal()); - switch (this.mode) { - case CREATE: - case UPDATE: - (new ComponentHolder(protocolVersion, this.displayName)).write(byteBuf); - if (protocolVersion.lessThan(ProtocolVersion.MINECRAFT_1_13)) { - (new ComponentHolder(protocolVersion, this.prefix)).write(byteBuf); - (new ComponentHolder(protocolVersion, this.suffix)).write(byteBuf); - } - - byteBuf.writeByte(this.friendlyFlags); - if (protocolVersion.noLessThan(ProtocolVersion.MINECRAFT_1_21_5)) { - ProtocolUtils.writeVarInt(byteBuf, this.nameTagVisibility.ordinal()); - ProtocolUtils.writeVarInt(byteBuf, this.collisionRule.ordinal()); - } else { - ProtocolUtils.writeString(byteBuf, this.nameTagVisibility.getValue()); - ProtocolUtils.writeString(byteBuf, this.collisionRule.getValue()); - } - if (protocolVersion.greaterThan(ProtocolVersion.MINECRAFT_1_12_2)) { - ProtocolUtils.writeVarInt(byteBuf, this.color); - (new ComponentHolder(protocolVersion, this.prefix)).write(byteBuf); - (new ComponentHolder(protocolVersion, this.suffix)).write(byteBuf); - } else { - byteBuf.writeByte((byte) this.color); - } - - ProtocolUtils.writeVarInt(byteBuf, this.players.size()); - - for (String player : this.players) { - ProtocolUtils.writeString(byteBuf, player); - } - break; - case ADD_PLAYER: - case REMOVE_PLAYER: - ProtocolUtils.writeVarInt(byteBuf, this.players.size()); - - for (String player : this.players) { - ProtocolUtils.writeString(byteBuf, player); - } - case REMOVE: - } - } -}