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:
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user