mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-19 14:59:20 +00:00
Added getPlayers and getPlayerCount to the API
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
|
||||
package org.geysermc.floodgate.api;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.cumulus.util.FormBuilder;
|
||||
@@ -39,6 +40,16 @@ public interface FloodgateApi {
|
||||
return InstanceHolder.getApi();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all the online Floodgate players.
|
||||
*/
|
||||
Collection<FloodgatePlayer> getPlayers();
|
||||
|
||||
/**
|
||||
* Returns the number of Floodgate players who are currently online.
|
||||
*/
|
||||
int getPlayerCount();
|
||||
|
||||
/**
|
||||
* Method to determine if the given <b>online</b> player is a bedrock player
|
||||
*
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
package org.geysermc.floodgate.api;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
@@ -39,9 +41,19 @@ import org.geysermc.floodgate.util.Utils;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class SimpleFloodgateApi implements FloodgateApi {
|
||||
public final Map<UUID, FloodgatePlayer> players = new HashMap<>();
|
||||
private final Map<UUID, FloodgatePlayer> players = new HashMap<>();
|
||||
private final PluginMessageHandler pluginMessageHandler;
|
||||
|
||||
@Override
|
||||
public Collection<FloodgatePlayer> getPlayers() {
|
||||
return ImmutableSet.copyOf(players.values());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPlayerCount() {
|
||||
return players.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFloodgatePlayer(UUID uuid) {
|
||||
return getPlayer(uuid) != null;
|
||||
|
||||
@@ -30,7 +30,6 @@ import cloud.commandframework.CommandManager;
|
||||
import cloud.commandframework.context.CommandContext;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.geysermc.floodgate.api.FloodgateApi;
|
||||
import org.geysermc.floodgate.api.SimpleFloodgateApi;
|
||||
import org.geysermc.floodgate.config.FloodgateConfig;
|
||||
import org.geysermc.floodgate.platform.command.FloodgateCommand;
|
||||
import org.geysermc.floodgate.player.UserAudience;
|
||||
@@ -47,7 +46,7 @@ public class TestCommand implements FloodgateCommand {
|
||||
|
||||
@Override
|
||||
public void execute(CommandContext<UserAudience> context) {
|
||||
int players = ((SimpleFloodgateApi) FloodgateApi.getInstance()).players.size();
|
||||
int players = FloodgateApi.getInstance().getPlayers().size();
|
||||
context.getSender().sendMessage(Component.text(players));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user