Show the supported Bedrock versions in the version command rather than just the default codec

This commit is contained in:
RednedEpic 2020-08-28 19:11:32 -05:00
parent caa5098d2c
commit 37c4192c12
3 changed files with 18 additions and 7 deletions

View File

@ -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

View File

@ -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