Players connecting through Geyser/Floodgate (G/F further on) are unable to join the game with the VoidWhitelist enabled (been reported two times already). The issue seems to be with the UUID, as G/F changes UUIDs to XUIDs (X-Box unique identifier), so the actual UUID of a player as they enter the game will always look like 00000000-0000-0000-xxxx-xxxxxxxxxxxx.[source]
So to implement the feature it seems like we'll have check whether the joined player isFloodgatePlayer(UUID) and then let them go if they have the G/F flag* in the whitelist storage.
- G/F flags: I think for this purpose we should store a boolean flag that would represent whether this whitelistable entity (player) was added as a G/F user or not. The administration team adds a player with
-floodgate flag, the plugin adds the entity without UUID if the selected storage is JSON and with an empty UUID if it's database and a boolean flag indicating that the entity is related to G/F.
It will be needed it also add & implement findFloodgatePlayer(String) method within WhitelistService to search for those players when they're connecting through G/F.
Players connecting through Geyser/Floodgate (G/F further on) are unable to join the game with the VoidWhitelist enabled (been reported two times already). The issue seems to be with the UUID, as G/F changes UUIDs to XUIDs (X-Box unique identifier), so the actual UUID of a player as they enter the game will always look like
00000000-0000-0000-xxxx-xxxxxxxxxxxx.[source]So to implement the feature it seems like we'll have check whether the joined player
isFloodgatePlayer(UUID)and then let them go if they have the G/F flag* in the whitelist storage.-floodgateflag, the plugin adds the entity without UUID if the selected storage is JSON and with an empty UUID if it's database and a boolean flag indicating that the entity is related to G/F.It will be needed it also add & implement
findFloodgatePlayer(String)method within WhitelistService to search for those players when they're connecting through G/F.