SteamWar/BungeeCore
Archiviert
13
2

Untested tablist name handling #140

Manuell gemergt
Lixfel hat 2 Commits von untested nach master 2020-10-30 07:31:33 +01:00 zusammengeführt
4 geänderte Dateien mit 30 neuen und 4 gelöschten Zeilen

Datei anzeigen

@ -20,11 +20,14 @@
package de.steamwar.bungeecore.comms;
public class PacketIdManager {
private PacketIdManager(){}
//0x0(X) Standalone Packets
public final static byte PING_PACKET = 0x01;
public static final byte PING_PACKET = 0x01;
public static final byte TABLIST_NAME = 0x02;
//0x1(X) Bungee Inventory
public final static byte INVENTORY_PACKET = 0x10;
public final static byte INVENTORY_CALLBACK_PACKET = 0x11;
public final static byte INVENTORY_CLOSE_PACKET = 0x12;
public static final byte INVENTORY_PACKET = 0x10;
public static final byte INVENTORY_CALLBACK_PACKET = 0x11;
public static final byte INVENTORY_CLOSE_PACKET = 0x12;
}

Datei anzeigen

@ -22,6 +22,7 @@ package de.steamwar.bungeecore.comms;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteStreams;
import de.steamwar.bungeecore.comms.handlers.InventoryCallbackHandler;
import de.steamwar.bungeecore.comms.handlers.TablistNameHandler;
import de.steamwar.bungeecore.listeners.BasicListener;
import net.md_5.bungee.api.event.PluginMessageEvent;
import net.md_5.bungee.event.EventHandler;
@ -53,5 +54,6 @@ public class SpigotReceiver extends BasicListener {
static {
registerHandler(PacketIdManager.INVENTORY_CALLBACK_PACKET, new InventoryCallbackHandler());
registerHandler(PacketIdManager.TABLIST_NAME, new TablistNameHandler());
}
}

Datei anzeigen

@ -0,0 +1,17 @@
package de.steamwar.bungeecore.comms.handlers;
import com.google.common.io.ByteArrayDataInput;
import de.steamwar.bungeecore.Subserver;
import de.steamwar.bungeecore.comms.SpigotHandler;
import de.steamwar.bungeecore.sql.SteamwarUser;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
public class TablistNameHandler implements SpigotHandler {
@Override
public void handle(ByteArrayDataInput byteArrayDataInput) {
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(SteamwarUser.get(byteArrayDataInput.readInt()).getUuid());
Subserver.getSubserver(player).getTablistNames().put(player, byteArrayDataInput.readUTF());
}
}

Datei anzeigen

@ -196,6 +196,10 @@ public class TablistManager extends BasicListener {
}
private String getTablistName(ProxiedPlayer p, boolean sameServer) {
String tablistName = Subserver.getSubserver(p).getTablistNames().get(p);
if(tablistName != null)
return tablistName;
StringBuilder st = new StringBuilder();
if (p.hasPermission("bungeecore.group.admin")) st.append("§4");
else if (p.hasPermission("bungeecore.group.developer")) st.append("§3");