Refactor Login command to not crash you when you use it

- Replace `TagResolver` with string replacement for resolving login messages.
- Remove unused imports related to `TagResolver` and `Placeholder`.
- Update `resolveLogin` method signature and logic to use string replacements.
This commit is contained in:
akastijn 2025-07-04 21:33:18 +02:00
parent 6bb50a57b6
commit e591a0c9c3

View File

@ -10,8 +10,6 @@ import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.ProxyServer;
import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class Login { public class Login {
@ -27,7 +25,7 @@ public class Login {
} }
AuthService.getLoginCodeAsync(player.getUniqueId()).thenAccept(optionalLoginCode -> { AuthService.getLoginCodeAsync(player.getUniqueId()).thenAccept(optionalLoginCode -> {
optionalLoginCode.ifPresentOrElse((loginCode) -> { optionalLoginCode.ifPresentOrElse((loginCode) -> {
player.sendMessage(MiniMessage.miniMessage().deserialize(Config.YOUR_LOGIN_CODE, resolveLogin(loginCode))); player.sendMessage(MiniMessage.miniMessage().deserialize(resolveLogin(Config.YOUR_LOGIN_CODE, loginCode)));
}, () -> { }, () -> {
player.sendMessage(MiniMessage.miniMessage().deserialize("<red>Failed to get login code.</red>")); player.sendMessage(MiniMessage.miniMessage().deserialize("<red>Failed to get login code.</red>"));
}); });
@ -44,10 +42,9 @@ public class Login {
proxyServer.getCommandManager().register(metaStart, brigadierCommandStart); proxyServer.getCommandManager().register(metaStart, brigadierCommandStart);
} }
private @NotNull TagResolver resolveLogin(String loginCode) { private @NotNull String resolveLogin(String message, String loginCode) {
return TagResolver.resolver( return message
Placeholder.unparsed("login_endpoint", Config.LOGIN_ENDPOINT), .replace("<login_endpoint>", Config.LOGIN_ENDPOINT)
Placeholder.unparsed("code", loginCode) .replace("<code>", loginCode);
);
} }
} }