forked from GeyserMC/Geyser
Show the supported Bedrock versions in the version command rather than just the default codec
This commit is contained in:
parent
caa5098d2c
commit
37c4192c12
3 changed files with 18 additions and 7 deletions
|
@ -26,6 +26,7 @@
|
||||||
package org.geysermc.connector.command.defaults;
|
package org.geysermc.connector.command.defaults;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.MinecraftConstants;
|
import com.github.steveice10.mc.protocol.MinecraftConstants;
|
||||||
|
import com.nukkitx.protocol.bedrock.BedrockPacketCodec;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.connector.GeyserConnector;
|
||||||
import org.geysermc.connector.command.CommandSender;
|
import org.geysermc.connector.command.CommandSender;
|
||||||
import org.geysermc.connector.command.GeyserCommand;
|
import org.geysermc.connector.command.GeyserCommand;
|
||||||
|
@ -38,6 +39,7 @@ import org.geysermc.connector.utils.WebUtils;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
public class VersionCommand extends GeyserCommand {
|
public class VersionCommand extends GeyserCommand {
|
||||||
|
@ -51,7 +53,15 @@ public class VersionCommand extends GeyserCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(CommandSender sender, String[] args) {
|
public void execute(CommandSender sender, String[] args) {
|
||||||
sender.sendMessage(LanguageUtils.getLocaleStringLog("geyser.commands.version.version", GeyserConnector.NAME, GeyserConnector.VERSION, MinecraftConstants.GAME_VERSION, BedrockProtocol.DEFAULT_BEDROCK_CODEC.getMinecraftVersion()));
|
String bedrockVersions;
|
||||||
|
List<BedrockPacketCodec> supportedCodecs = BedrockProtocol.SUPPORTED_BEDROCK_CODECS;
|
||||||
|
if (supportedCodecs.size() > 1) {
|
||||||
|
bedrockVersions = supportedCodecs.get(0).getMinecraftVersion() + " - " + supportedCodecs.get(supportedCodecs.size() - 1).getMinecraftVersion();
|
||||||
|
} else {
|
||||||
|
bedrockVersions = BedrockProtocol.DEFAULT_BEDROCK_CODEC.getMinecraftVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage(LanguageUtils.getLocaleStringLog("geyser.commands.version.version", GeyserConnector.NAME, GeyserConnector.VERSION, MinecraftConstants.GAME_VERSION, bedrockVersions));
|
||||||
|
|
||||||
// Disable update checking in dev mode
|
// Disable update checking in dev mode
|
||||||
//noinspection ConstantConditions - changes in production
|
//noinspection ConstantConditions - changes in production
|
||||||
|
|
|
@ -30,25 +30,26 @@ import com.nukkitx.protocol.bedrock.v407.Bedrock_v407;
|
||||||
import com.nukkitx.protocol.bedrock.v408.Bedrock_v408;
|
import com.nukkitx.protocol.bedrock.v408.Bedrock_v408;
|
||||||
import com.nukkitx.protocol.bedrock.v409.Bedrock_v409;
|
import com.nukkitx.protocol.bedrock.v409.Bedrock_v409;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.ArrayList;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains information about the supported Bedrock protocols in Geyser.
|
* Contains information about the supported Bedrock protocols in Geyser.
|
||||||
*/
|
*/
|
||||||
public class BedrockProtocol {
|
public class BedrockProtocol {
|
||||||
/**
|
/**
|
||||||
* Default Bedrock codec that should act as a fallback and as the version shown in /geyser version
|
* Default Bedrock codec that should act as a fallback. Should represent the latest available
|
||||||
|
* release of the game that Geyser supports.
|
||||||
*/
|
*/
|
||||||
public static final BedrockPacketCodec DEFAULT_BEDROCK_CODEC = Bedrock_v408.V408_CODEC;
|
public static final BedrockPacketCodec DEFAULT_BEDROCK_CODEC = Bedrock_v408.V408_CODEC;
|
||||||
/**
|
/**
|
||||||
* A list of all supported Bedrock versions that can join Geyser
|
* A list of all supported Bedrock versions that can join Geyser
|
||||||
*/
|
*/
|
||||||
public static final Set<BedrockPacketCodec> SUPPORTED_BEDROCK_CODECS = ConcurrentHashMap.newKeySet();
|
public static final List<BedrockPacketCodec> SUPPORTED_BEDROCK_CODECS = new ArrayList<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
SUPPORTED_BEDROCK_CODECS.add(DEFAULT_BEDROCK_CODEC);
|
|
||||||
SUPPORTED_BEDROCK_CODECS.add(Bedrock_v407.V407_CODEC);
|
SUPPORTED_BEDROCK_CODECS.add(Bedrock_v407.V407_CODEC);
|
||||||
|
SUPPORTED_BEDROCK_CODECS.add(DEFAULT_BEDROCK_CODEC);
|
||||||
SUPPORTED_BEDROCK_CODECS.add(Bedrock_v409.V409_CODEC);
|
SUPPORTED_BEDROCK_CODECS.add(Bedrock_v409.V409_CODEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit ec8b68297c4d62a9e4d640a8c7e77977062628ee
|
Subproject commit 15958f16ca36c9536490f8af67f556eba5665dcb
|
Loading…
Reference in a new issue