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();
|
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.
|
* Returns all the online Floodgate players.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
package org.geysermc.floodgate.api;
|
package org.geysermc.floodgate.api;
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
||||||
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
||||||
import org.geysermc.floodgate.util.BedrockData;
|
import org.geysermc.floodgate.util.BedrockData;
|
||||||
@@ -33,8 +34,11 @@ import org.geysermc.floodgate.util.BedrockData;
|
|||||||
public final class ProxyFloodgateApi extends SimpleFloodgateApi {
|
public final class ProxyFloodgateApi extends SimpleFloodgateApi {
|
||||||
private final FloodgateCipher cipher;
|
private final FloodgateCipher cipher;
|
||||||
|
|
||||||
public ProxyFloodgateApi(PluginMessageManager pluginMessageManager, FloodgateCipher cipher) {
|
public ProxyFloodgateApi(
|
||||||
super(pluginMessageManager);
|
PluginMessageManager pluginMessageManager,
|
||||||
|
FloodgateConfigHolder configHolder,
|
||||||
|
FloodgateCipher cipher) {
|
||||||
|
super(pluginMessageManager, configHolder);
|
||||||
this.cipher = cipher;
|
this.cipher = cipher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.geysermc.cumulus.Form;
|
import org.geysermc.cumulus.Form;
|
||||||
import org.geysermc.cumulus.util.FormBuilder;
|
import org.geysermc.cumulus.util.FormBuilder;
|
||||||
import org.geysermc.floodgate.api.player.FloodgatePlayer;
|
import org.geysermc.floodgate.api.player.FloodgatePlayer;
|
||||||
|
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||||
import org.geysermc.floodgate.player.FloodgatePlayerImpl;
|
import org.geysermc.floodgate.player.FloodgatePlayerImpl;
|
||||||
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
||||||
import org.geysermc.floodgate.pluginmessage.channel.FormChannel;
|
import org.geysermc.floodgate.pluginmessage.channel.FormChannel;
|
||||||
@@ -44,6 +45,12 @@ import org.geysermc.floodgate.util.Utils;
|
|||||||
public class SimpleFloodgateApi implements FloodgateApi {
|
public class SimpleFloodgateApi implements FloodgateApi {
|
||||||
private final Map<UUID, FloodgatePlayer> players = new HashMap<>();
|
private final Map<UUID, FloodgatePlayer> players = new HashMap<>();
|
||||||
private final PluginMessageManager pluginMessageManager;
|
private final PluginMessageManager pluginMessageManager;
|
||||||
|
private final FloodgateConfigHolder configHolder;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPlayerPrefix() {
|
||||||
|
return configHolder.get().getUsernamePrefix();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<FloodgatePlayer> getPlayers() {
|
public Collection<FloodgatePlayer> getPlayers() {
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import java.nio.file.Path;
|
|||||||
import org.geysermc.floodgate.api.ProxyFloodgateApi;
|
import org.geysermc.floodgate.api.ProxyFloodgateApi;
|
||||||
import org.geysermc.floodgate.api.SimpleFloodgateApi;
|
import org.geysermc.floodgate.api.SimpleFloodgateApi;
|
||||||
import org.geysermc.floodgate.config.FloodgateConfig;
|
import org.geysermc.floodgate.config.FloodgateConfig;
|
||||||
|
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||||
import org.geysermc.floodgate.config.ProxyFloodgateConfig;
|
import org.geysermc.floodgate.config.ProxyFloodgateConfig;
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
||||||
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
||||||
@@ -58,7 +59,8 @@ public final class ProxyCommonModule extends CommonModule {
|
|||||||
@Singleton
|
@Singleton
|
||||||
public ProxyFloodgateApi proxyFloodgateApi(
|
public ProxyFloodgateApi proxyFloodgateApi(
|
||||||
PluginMessageManager pluginMessageManager,
|
PluginMessageManager pluginMessageManager,
|
||||||
|
FloodgateConfigHolder configHolder,
|
||||||
FloodgateCipher cipher) {
|
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 java.nio.file.Path;
|
||||||
import org.geysermc.floodgate.api.SimpleFloodgateApi;
|
import org.geysermc.floodgate.api.SimpleFloodgateApi;
|
||||||
import org.geysermc.floodgate.config.FloodgateConfig;
|
import org.geysermc.floodgate.config.FloodgateConfig;
|
||||||
|
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||||
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
import org.geysermc.floodgate.pluginmessage.PluginMessageManager;
|
||||||
|
|
||||||
public final class ServerCommonModule extends CommonModule {
|
public final class ServerCommonModule extends CommonModule {
|
||||||
@@ -47,7 +48,9 @@ public final class ServerCommonModule extends CommonModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
public SimpleFloodgateApi floodgateApi(PluginMessageManager pluginMessageManager) {
|
public SimpleFloodgateApi floodgateApi(
|
||||||
return new SimpleFloodgateApi(pluginMessageManager);
|
PluginMessageManager pluginMessageManager,
|
||||||
|
FloodgateConfigHolder configHolder) {
|
||||||
|
return new SimpleFloodgateApi(pluginMessageManager, configHolder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user