Fix reading username with 1.19 and Floodgate

Related #856
This commit is contained in:
games647
2022-07-27 09:34:36 +02:00
parent 564f713fce
commit 94979a3cf6

View File

@ -71,15 +71,15 @@ public class ManualNameChange extends PacketAdapter {
@Override
public void onPacketReceiving(PacketEvent packetEvent) {
PacketContainer packet = packetEvent.getPacket();
WrappedGameProfile originalProfile = packet.getGameProfiles().read(0);
String username = readUsername(packet);
if (floodgate.getBedrockPlayer(originalProfile.getName()) == null) {
if (floodgate.getBedrockPlayer(username) == null) {
//not a Floodgate player, no need to add a prefix
return;
}
packet.setMeta("original_name", originalProfile.getName());
String prefixedName = FloodgateApi.getInstance().getPlayerPrefix() + originalProfile.getName();
packet.setMeta("original_name", username);
String prefixedName = FloodgateApi.getInstance().getPlayerPrefix() + username;
setUsername(packet, prefixedName);
}
@ -91,4 +91,12 @@ public class ManualNameChange extends PacketAdapter {
packet.getStrings().write(0, name);
}
}
private String readUsername(PacketContainer packet) {
if (packet.getGameProfiles().size() > 0) {
return packet.getGameProfiles().read(0).getName();
} else {
return packet.getStrings().read(0);
}
}
}