From 84f8601b6dafe028bf93635d183e275f20a27199 Mon Sep 17 00:00:00 2001 From: Michael Morrison <517502+mmorrisontx@users.noreply.github.com> Date: Sun, 17 Apr 2022 20:33:46 -0500 Subject: [PATCH] Prefer bedrock strings, since Geyser's gamespy implementation has invalid character encoding Fixes #269 --- protocols/minecraft.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/protocols/minecraft.js b/protocols/minecraft.js index 03aa731..9f80df8 100644 --- a/protocols/minecraft.js +++ b/protocols/minecraft.js @@ -57,11 +57,7 @@ class Minecraft extends Core { // Ordered from least worth to most worth (player names / etc) if (bedrockState) { - if (bedrockState.name) state.name = bedrockState.name; - if (bedrockState.maxplayers) state.maxplayers = bedrockState.maxplayers; if (bedrockState.players.length) state.players = bedrockState.players; - if (bedrockState.map) state.map = bedrockState.map; - if (bedrockState.ping) state.ping = bedrockState.ping; } if (vanillaState) { try { @@ -89,6 +85,12 @@ class Minecraft extends Core { else if (gamespyState.raw.numplayers) state.players.setNum(parseInt(gamespyState.raw.numplayers)); if (gamespyState.ping) state.ping = gamespyState.ping; } + if (bedrockState) { + if (bedrockState.name) state.name = bedrockState.name; + if (bedrockState.maxplayers) state.maxplayers = bedrockState.maxplayers; + if (bedrockState.map) state.map = bedrockState.map; + if (bedrockState.ping) state.ping = bedrockState.ping; + } // remove dupe spaces from name state.name = state.name.replace(/\s+/g, ' '); // remove color codes from name