From 441e020192d3e2bf7f9c5ed491e35ae53d4d8c9a Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Sun, 12 Nov 2023 14:19:01 +0800 Subject: [PATCH] Localized DoubleLoginFix --- .../fr/xephi/authme/listener/DoubleLoginFixListener.java | 8 +++++++- src/main/java/fr/xephi/authme/message/MessageKey.java | 4 ++++ .../fr/xephi/authme/message/updater/MessageUpdater.java | 1 + src/main/resources/messages/messages_en.yml | 4 ++++ src/main/resources/messages/messages_zhcn.yml | 6 ++++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/listener/DoubleLoginFixListener.java b/src/main/java/fr/xephi/authme/listener/DoubleLoginFixListener.java index f10b6af6..2c0370a4 100644 --- a/src/main/java/fr/xephi/authme/listener/DoubleLoginFixListener.java +++ b/src/main/java/fr/xephi/authme/listener/DoubleLoginFixListener.java @@ -1,26 +1,32 @@ package fr.xephi.authme.listener; //Prevent Ghost Players +import fr.xephi.authme.message.MessageKey; +import fr.xephi.authme.service.CommonService; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; +import javax.inject.Inject; import java.util.Collection; import java.util.HashSet; public class DoubleLoginFixListener implements Listener { + @Inject + private CommonService service; public DoubleLoginFixListener() { } + @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { Collection PlayerList = Bukkit.getServer().getOnlinePlayers(); HashSet PlayerSet = new HashSet(); for (Player ep : PlayerList) { if (PlayerSet.contains(ep.getName().toLowerCase())) { - ep.kickPlayer("You have been disconnected due to doubled login."); + ep.kickPlayer(service.retrieveSingleMessage(ep.getPlayer(), MessageKey.DOUBLE_LOGIN_FIX)); break; } PlayerSet.add(ep.getName().toLowerCase()); diff --git a/src/main/java/fr/xephi/authme/message/MessageKey.java b/src/main/java/fr/xephi/authme/message/MessageKey.java index 35df8bf1..19ea9e98 100644 --- a/src/main/java/fr/xephi/authme/message/MessageKey.java +++ b/src/main/java/fr/xephi/authme/message/MessageKey.java @@ -4,6 +4,10 @@ package fr.xephi.authme.message; * Keys for translatable messages managed by {@link Messages}. */ public enum MessageKey { + /** + * You have been disconnected due to doubled login. + */ + DOUBLE_LOGIN_FIX("double_login_fix.fix_message"), /** * You are stuck in portal during Login. diff --git a/src/main/java/fr/xephi/authme/message/updater/MessageUpdater.java b/src/main/java/fr/xephi/authme/message/updater/MessageUpdater.java index 58f9f47a..6c441eb2 100644 --- a/src/main/java/fr/xephi/authme/message/updater/MessageUpdater.java +++ b/src/main/java/fr/xephi/authme/message/updater/MessageUpdater.java @@ -152,6 +152,7 @@ public class MessageUpdater { .put("gui_captcha", "3rd party features: GUI Captcha") .put("bedrock_auto_login", "3rd party features: Bedrock Auto Login") .put("login_location_fix", "3rd party features: Login Location Fix") + .put("double_login_fix", "3rd party features: Double Login Fix") .build(); Set addedKeys = new HashSet<>(); diff --git a/src/main/resources/messages/messages_en.yml b/src/main/resources/messages/messages_en.yml index c88069b6..286a0fc5 100644 --- a/src/main/resources/messages/messages_en.yml +++ b/src/main/resources/messages/messages_en.yml @@ -176,3 +176,7 @@ login_location_fix: fix_portal: '&aYou are stuck in portal during Login.' fix_underground: '&aYou are stuck underground during Login.' cannot_fix_underground: '&aYou are stuck underground during Login, but we cant fix it.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cYou have been disconnected due to doubled login.' diff --git a/src/main/resources/messages/messages_zhcn.yml b/src/main/resources/messages/messages_zhcn.yml index f839af70..34997880 100644 --- a/src/main/resources/messages/messages_zhcn.yml +++ b/src/main/resources/messages/messages_zhcn.yml @@ -185,3 +185,9 @@ login_location_fix: fix_portal: '&a你在登录时卡在了地狱门, 现已修正' fix_underground: '&a你被埋住了, 坐标已修正, 下次下线之前请小心!' cannot_fix_underground: '&a你被埋住了, 坐标无法修正, 只好送你去了最高点, 自求多福吧少年~' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&a已修复幽灵玩家, 请重新进入' + +