mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-19 14:59:20 +00:00
Merge remote-tracking branch 'origin/master' into fix-weird-via-issue
This commit is contained in:
@@ -27,6 +27,7 @@ package org.geysermc.floodgate.util;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -122,11 +123,11 @@ public final class SpigotCommandUtil extends CommandUtil {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean whitelistPlayer(UUID uuid, String username) {
|
public boolean whitelistPlayer(UUID uuid, String username) {
|
||||||
return WhitelistUtils.addPlayer(uuid, username);
|
return WhitelistUtils.addPlayer(uuid, username, versionSpecificMethods);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean removePlayerFromWhitelist(UUID uuid, String username) {
|
public boolean removePlayerFromWhitelist(UUID uuid, String username) {
|
||||||
return WhitelistUtils.removePlayer(uuid, username);
|
return WhitelistUtils.removePlayer(uuid, username, versionSpecificMethods);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ public final class WhitelistUtils {
|
|||||||
/**
|
/**
|
||||||
* Whitelist the given Bedrock player.
|
* Whitelist the given Bedrock player.
|
||||||
*
|
*
|
||||||
* @param uuid the UUID of the Bedrock player to be whitelisted
|
* @param uuid the UUID of the Bedrock player to be removed
|
||||||
* @param username the username of the Bedrock player to be whitelisted
|
* @param username the username of the Bedrock player to be removed
|
||||||
* @return true if the player has been whitelisted, false if the player is already whitelisted
|
* @param versionSpecificMethods a reference to the SpigotVersionSpecificMethods used in SpigotCommandUtil
|
||||||
|
* @return true if the player has been removed from the whitelist, false if the player wasn't
|
||||||
*/
|
*/
|
||||||
public static boolean addPlayer(UUID uuid, String username) {
|
public static boolean addPlayer(UUID uuid, String username, SpigotVersionSpecificMethods versionSpecificMethods) {
|
||||||
GameProfile profile = new GameProfile(uuid, username);
|
GameProfile profile = new GameProfile(uuid, username);
|
||||||
|
|
||||||
OfflinePlayer player = ReflectionUtils.newInstance(
|
OfflinePlayer player = ReflectionUtils.newInstance(
|
||||||
@@ -50,7 +51,7 @@ public final class WhitelistUtils {
|
|||||||
if (player.isWhitelisted()) {
|
if (player.isWhitelisted()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
player.setWhitelisted(true);
|
setWhitelist(player, true, versionSpecificMethods);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,10 +60,11 @@ public final class WhitelistUtils {
|
|||||||
*
|
*
|
||||||
* @param uuid the UUID of the Bedrock player to be removed
|
* @param uuid the UUID of the Bedrock player to be removed
|
||||||
* @param username the username of the Bedrock player to be removed
|
* @param username the username of the Bedrock player to be removed
|
||||||
|
* @param versionSpecificMethods a reference to the SpigotVersionSpecificMethods used in SpigotCommandUtil
|
||||||
* @return true if the player has been removed from the whitelist, false if the player wasn't
|
* @return true if the player has been removed from the whitelist, false if the player wasn't
|
||||||
* whitelisted
|
* whitelisted
|
||||||
*/
|
*/
|
||||||
public static boolean removePlayer(UUID uuid, String username) {
|
public static boolean removePlayer(UUID uuid, String username, SpigotVersionSpecificMethods versionSpecificMethods) {
|
||||||
GameProfile profile = new GameProfile(uuid, username);
|
GameProfile profile = new GameProfile(uuid, username);
|
||||||
|
|
||||||
OfflinePlayer player = ReflectionUtils.newInstance(
|
OfflinePlayer player = ReflectionUtils.newInstance(
|
||||||
@@ -72,7 +74,11 @@ public final class WhitelistUtils {
|
|||||||
if (!player.isWhitelisted()) {
|
if (!player.isWhitelisted()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
player.setWhitelisted(false);
|
setWhitelist(player, false, versionSpecificMethods);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void setWhitelist(OfflinePlayer player, boolean whitelist, SpigotVersionSpecificMethods versionSpecificMethods) {
|
||||||
|
versionSpecificMethods.maybeSchedule(() -> player.setWhitelisted(whitelist));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user