1
0
mirror of https://github.com/GeyserMC/Floodgate.git synced 2025-12-23 16:59:18 +00:00

Added a way to get the Floodgate prefix using the API

This commit is contained in:
Tim203
2021-03-26 18:13:04 +01:00
parent bdcc7795c4
commit d27cc9479f
5 changed files with 27 additions and 5 deletions

View File

@@ -40,6 +40,12 @@ public interface FloodgateApi {
return InstanceHolder.getApi();
}
/**
* Returns the character(s) that will be added in front of a Bedrock player's name to prevent
* username duplicates.
*/
String getPlayerPrefix();
/**
* Returns all the online Floodgate players.
*/

View File

@@ -26,6 +26,7 @@
package org.geysermc.floodgate.api;
import java.nio.charset.StandardCharsets;
import org.geysermc.floodgate.config.FloodgateConfigHolder;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
import org.geysermc.floodgate.util.BedrockData;
@@ -33,8 +34,11 @@ import org.geysermc.floodgate.util.BedrockData;
public final class ProxyFloodgateApi extends SimpleFloodgateApi {
private final FloodgateCipher cipher;
public ProxyFloodgateApi(PluginMessageManager pluginMessageManager, FloodgateCipher cipher) {
super(pluginMessageManager);
public ProxyFloodgateApi(
PluginMessageManager pluginMessageManager,
FloodgateConfigHolder configHolder,
FloodgateCipher cipher) {
super(pluginMessageManager, configHolder);
this.cipher = cipher;
}

View File

@@ -35,6 +35,7 @@ import lombok.RequiredArgsConstructor;
import org.geysermc.cumulus.Form;
import org.geysermc.cumulus.util.FormBuilder;
import org.geysermc.floodgate.api.player.FloodgatePlayer;
import org.geysermc.floodgate.config.FloodgateConfigHolder;
import org.geysermc.floodgate.player.FloodgatePlayerImpl;
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
import org.geysermc.floodgate.pluginmessage.channel.FormChannel;
@@ -44,6 +45,12 @@ import org.geysermc.floodgate.util.Utils;
public class SimpleFloodgateApi implements FloodgateApi {
private final Map<UUID, FloodgatePlayer> players = new HashMap<>();
private final PluginMessageManager pluginMessageManager;
private final FloodgateConfigHolder configHolder;
@Override
public String getPlayerPrefix() {
return configHolder.get().getUsernamePrefix();
}
@Override
public Collection<FloodgatePlayer> getPlayers() {

View File

@@ -32,6 +32,7 @@ import java.nio.file.Path;
import org.geysermc.floodgate.api.ProxyFloodgateApi;
import org.geysermc.floodgate.api.SimpleFloodgateApi;
import org.geysermc.floodgate.config.FloodgateConfig;
import org.geysermc.floodgate.config.FloodgateConfigHolder;
import org.geysermc.floodgate.config.ProxyFloodgateConfig;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
@@ -58,7 +59,8 @@ public final class ProxyCommonModule extends CommonModule {
@Singleton
public ProxyFloodgateApi proxyFloodgateApi(
PluginMessageManager pluginMessageManager,
FloodgateConfigHolder configHolder,
FloodgateCipher cipher) {
return new ProxyFloodgateApi(pluginMessageManager, cipher);
return new ProxyFloodgateApi(pluginMessageManager, configHolder, cipher);
}
}

View File

@@ -31,6 +31,7 @@ import com.google.inject.name.Named;
import java.nio.file.Path;
import org.geysermc.floodgate.api.SimpleFloodgateApi;
import org.geysermc.floodgate.config.FloodgateConfig;
import org.geysermc.floodgate.config.FloodgateConfigHolder;
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
public final class ServerCommonModule extends CommonModule {
@@ -47,7 +48,9 @@ public final class ServerCommonModule extends CommonModule {
@Provides
@Singleton
public SimpleFloodgateApi floodgateApi(PluginMessageManager pluginMessageManager) {
return new SimpleFloodgateApi(pluginMessageManager);
public SimpleFloodgateApi floodgateApi(
PluginMessageManager pluginMessageManager,
FloodgateConfigHolder configHolder) {
return new SimpleFloodgateApi(pluginMessageManager, configHolder);
}
}