From 7ba2727701a32eb715460ea38619d3a3ca27a835 Mon Sep 17 00:00:00 2001 From: Me0wo <152751263+Sn0wo2@users.noreply.github.com> Date: Wed, 2 Sep 2026 01:20:54 +0800 Subject: [PATCH 1/4] feat: support fractional reconnect delays --- .../autoreconnectrf/AutoReconnect.java | 28 ++++++++++++------- .../autoreconnectrf/config/Config.java | 21 ++++++++------ .../gui/screen/YaclScreenProvider.java | 6 ++-- .../util/DisconnectScreenUtil.java | 4 +-- .../assets/autoreconnectrf/lang/en_us.json | 2 +- .../assets/autoreconnectrf/lang/ru_ru.json | 2 +- .../assets/autoreconnectrf/lang/uk_ua.json | 2 +- .../assets/autoreconnectrf/lang/zh_cn.json | 2 +- .../assets/autoreconnectrf/lang/zh_tw.json | 2 +- 9 files changed, 41 insertions(+), 28 deletions(-) diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java index 0beb660..c21e0d1 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java @@ -42,6 +42,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.DoubleConsumer; import java.util.function.IntConsumer; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -210,12 +211,18 @@ public static ScheduledFuture schedule(Runnable command, long delay, TimeUnit * Initiates the countdown for the next reconnect attempt, if any. */ public static void startCountdown(final IntConsumer callback) { - int delay = Config.get().getDelayForAttempt(reconnectStrategy.nextAttempt()); - if (delay >= 0) { - countdown(delay, callback); + startCountdownPrecise(seconds -> callback.accept( + seconds < 0D ? -1 : (int) Math.ceil(seconds) + )); + } + + public static void startCountdownPrecise(final DoubleConsumer callback) { + float delay = Config.get().getDelayForAttemptSeconds(reconnectStrategy.nextAttempt()); + if (delay >= 0F) { + countdown(Math.round(delay * 1000D), callback); } else { // No more attempts configured - callback.accept(-1); + callback.accept(-1D); } } @@ -233,19 +240,20 @@ private static void cancelCountdown() { /** * Simulated reconnect countdown timer using delayed recursion. */ - private static void countdown(int seconds, final IntConsumer callback) { + private static void countdown(long remainingMillis, final DoubleConsumer callback) { if (reconnectStrategy == null) return; // Should not happen - if (seconds == 0) { + if (remainingMillis <= 0L) { // Execute on main thread Minecraft.getInstance().execute(AutoReconnect::reconnect); } else { - callback.accept(seconds); + callback.accept(remainingMillis / 1000D); + long stepMillis = Math.min(1000L, remainingMillis); synchronized (countdown) { // Just to be sure countdown.set(schedule( - () -> countdown(seconds - 1, callback), - 1, - TimeUnit.SECONDS + () -> countdown(remainingMillis - stepMillis, callback), + stepMillis, + TimeUnit.MILLISECONDS )); } } diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java index bc86a1e..e90e883 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java @@ -58,13 +58,13 @@ public static Options options() { public static class Options { - public static final Supplier> delaysDefault = () -> new ArrayList<>(List.of( - 3, - 10, - 30, - 60 + public static final Supplier> delaysDefault = () -> new ArrayList<>(List.of( + 3F, + 10F, + 30F, + 60F )); - public List delays = delaysDefault.get(); + public List delays = delaysDefault.get(); public static final boolean initialDefault = false; public boolean initial = initialDefault; @@ -127,11 +127,16 @@ public Iterator getMessages() { // Utils public int getDelayForAttempt(int attempt) { + float delay = getDelayForAttemptSeconds(attempt); + return delay < 0F ? -1 : Math.round(delay); + } + + public float getDelayForAttemptSeconds(int attempt) { if (attempt < options.delays.size()) return options.delays.get(attempt); if (options.infinite) return options.delays.getLast(); // repeat last - return -1; // no more attempts configured + return -1F; // no more attempts configured } public boolean hasAttempts() { @@ -196,7 +201,7 @@ private void validate() { if (options.delays == null) { options.delays = Options.delaysDefault.get(); } else if (!options.delays.isEmpty()) { - options.delays = options.delays.stream().filter(i -> i > 0).toList(); + options.delays = options.delays.stream().filter(i -> i > 0F).toList(); } if (options.autoMessages == null) { options.autoMessages = Options.autoMessagesDefault.get(); diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/gui/screen/YaclScreenProvider.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/gui/screen/YaclScreenProvider.java index 08cbfb8..29de2cd 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/gui/screen/YaclScreenProvider.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/gui/screen/YaclScreenProvider.java @@ -75,7 +75,7 @@ static Screen getConfigScreen(Screen parent) { ConfigCategory.Builder attemptsCat = ConfigCategory.createBuilder().name(localized("option", "attempts")); - attemptsCat.group(ListOption.createBuilder() + attemptsCat.group(ListOption.createBuilder() .name(localized("option", "attempts.delays")) .description(OptionDescription.of(localized("option", "attempts.delays.tooltip"))) .binding( @@ -83,9 +83,9 @@ static Screen getConfigScreen(Screen parent) { () -> options.delays, val -> options.delays = val ) - .controller(option -> IntegerFieldControllerBuilder.create(option).min(1) + .controller(option -> FloatFieldControllerBuilder.create(option).min(0.001F) .formatValue((val) -> localized("option", "attempts.delays.value", val))) - .initial(0) + .initial(0F) .insertEntriesAtEnd(true) .minimumNumberOfEntries(1) .build()); diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java index f7ea76d..2d94a71 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java @@ -59,7 +59,7 @@ else if (button.getMessage().getContents() instanceof TranslatableContents tc) * Starts the reconnect countdown with a listener to update the button text. */ public static void startCountdown(Button reconnectButton) { - AutoReconnect.startCountdown((seconds) -> { + AutoReconnect.startCountdownPrecise((seconds) -> { if (seconds < 0) { // Out of attempts; deactivate button reconnectButton.setMessage(localized("message", "reconnectFailed") @@ -67,7 +67,7 @@ public static void startCountdown(Button reconnectButton) { reconnectButton.active = false; } else { // Attempts ongoing; update time on button - reconnectButton.setMessage(localized("message", "reconnectIn", seconds) + reconnectButton.setMessage(localized("message", "reconnectIn", Float.toString((float) seconds)) .withStyle(s -> s.withColor(ChatFormatting.GREEN))); } }); diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json index d4056b4..e8db267 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Reconnect", - "message.autoreconnectrf.reconnectIn": "Reconnecting in %d...", + "message.autoreconnectrf.reconnectIn": "Reconnecting in %s...", "message.autoreconnectrf.reconnectFailed": "Could not reconnect!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json index 6d54325..6f185ba 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json @@ -10,7 +10,7 @@ "message.autoreconnectrf.configScreenDisabled": "Экран конфигурации недоступен в этой версии.", "message.autoreconnectrf.reconnect": "Переподключиться", - "message.autoreconnectrf.reconnectIn": "Переподключение через %d...", + "message.autoreconnectrf.reconnectIn": "Переподключение через %s...", "message.autoreconnectrf.reconnectFailed": "Не удалось переподключиться!", "message.autoreconnectrf.debug.disconnected": "Отключено отладочной командой!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json index cee8f04..ae41de2 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Перепід'єднатися", - "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %d...", + "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %s...", "message.autoreconnectrf.reconnectFailed": "Не вдалося перепід'єднатися!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json index 9823ef7..5537778 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "重新连接", - "message.autoreconnectrf.reconnectIn": "在 %d 秒后重新连接...", + "message.autoreconnectrf.reconnectIn": "在 %s 秒后重新连接...", "message.autoreconnectrf.reconnectFailed": "无法重新连接!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json index 72d612f..19b5fc6 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json @@ -9,7 +9,7 @@ "message.autoreconnectrf.configScreenDisabled": "此版本無法使用設定畫面。", "message.autoreconnectrf.reconnect": "重新連線", - "message.autoreconnectrf.reconnectIn": "將在 %d 秒後重新連線...", + "message.autoreconnectrf.reconnectIn": "將在 %s 秒後重新連線...", "message.autoreconnectrf.reconnectFailed": "無法重新連線!", "message.autoreconnectrf.debug.disconnected": "因偵錯指令而斷線!", From 37a1f98daf5d596d8bcaa31e034aa7c8e400a8a6 Mon Sep 17 00:00:00 2001 From: Me0wo <152751263+Sn0wo2@users.noreply.github.com> Date: Thu, 3 Sep 2026 04:08:21 +0800 Subject: [PATCH 2/4] fix: make startCountdown accept float --- .../autoreconnectrf/AutoReconnect.java | 21 +++++++------------ .../util/DisconnectScreenUtil.java | 6 +++--- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java index c21e0d1..1f3e3cf 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/AutoReconnect.java @@ -42,8 +42,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import java.util.function.DoubleConsumer; -import java.util.function.IntConsumer; +import java.util.function.Consumer; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -210,19 +209,13 @@ public static ScheduledFuture schedule(Runnable command, long delay, TimeUnit /** * Initiates the countdown for the next reconnect attempt, if any. */ - public static void startCountdown(final IntConsumer callback) { - startCountdownPrecise(seconds -> callback.accept( - seconds < 0D ? -1 : (int) Math.ceil(seconds) - )); - } - - public static void startCountdownPrecise(final DoubleConsumer callback) { - float delay = Config.get().getDelayForAttemptSeconds(reconnectStrategy.nextAttempt()); + public static void startCountdown(final Consumer callback) { + float delay = Config.get().getDelayForAttempt(reconnectStrategy.nextAttempt()); if (delay >= 0F) { countdown(Math.round(delay * 1000D), callback); } else { // No more attempts configured - callback.accept(-1D); + callback.accept(-1F); } } @@ -240,15 +233,15 @@ private static void cancelCountdown() { /** * Simulated reconnect countdown timer using delayed recursion. */ - private static void countdown(long remainingMillis, final DoubleConsumer callback) { + private static void countdown(long remainingMillis, final Consumer callback) { if (reconnectStrategy == null) return; // Should not happen if (remainingMillis <= 0L) { // Execute on main thread Minecraft.getInstance().execute(AutoReconnect::reconnect); } else { - callback.accept(remainingMillis / 1000D); - long stepMillis = Math.min(1000L, remainingMillis); + callback.accept(remainingMillis / 1000F); + long stepMillis = Math.min(100L, remainingMillis); synchronized (countdown) { // Just to be sure countdown.set(schedule( () -> countdown(remainingMillis - stepMillis, callback), diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java index 2d94a71..0bb1ab2 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java @@ -59,15 +59,15 @@ else if (button.getMessage().getContents() instanceof TranslatableContents tc) * Starts the reconnect countdown with a listener to update the button text. */ public static void startCountdown(Button reconnectButton) { - AutoReconnect.startCountdownPrecise((seconds) -> { - if (seconds < 0) { + AutoReconnect.startCountdown((seconds) -> { + if (seconds < 0F) { // Out of attempts; deactivate button reconnectButton.setMessage(localized("message", "reconnectFailed") .withStyle(s -> s.withColor(ChatFormatting.RED))); reconnectButton.active = false; } else { // Attempts ongoing; update time on button - reconnectButton.setMessage(localized("message", "reconnectIn", Float.toString((float) seconds)) + reconnectButton.setMessage(localized("message", "reconnectIn", seconds) .withStyle(s -> s.withColor(ChatFormatting.GREEN))); } }); From 583064b802d79e8370364bbbdee8e98d6dfb1755 Mon Sep 17 00:00:00 2001 From: Me0wo <152751263+Sn0wo2@users.noreply.github.com> Date: Thu, 3 Sep 2026 04:09:49 +0800 Subject: [PATCH 3/4] fix: change lang resources to use %f --- .../java/dev/terminalmc/autoreconnectrf/config/Config.java | 7 +------ .../main/resources/assets/autoreconnectrf/lang/en_us.json | 2 +- .../main/resources/assets/autoreconnectrf/lang/ru_ru.json | 2 +- .../main/resources/assets/autoreconnectrf/lang/uk_ua.json | 2 +- .../main/resources/assets/autoreconnectrf/lang/zh_cn.json | 2 +- .../main/resources/assets/autoreconnectrf/lang/zh_tw.json | 2 +- 6 files changed, 6 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java index e90e883..46276d5 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/config/Config.java @@ -126,12 +126,7 @@ public Iterator getMessages() { // Utils - public int getDelayForAttempt(int attempt) { - float delay = getDelayForAttemptSeconds(attempt); - return delay < 0F ? -1 : Math.round(delay); - } - - public float getDelayForAttemptSeconds(int attempt) { + public float getDelayForAttempt(int attempt) { if (attempt < options.delays.size()) return options.delays.get(attempt); if (options.infinite) diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json index e8db267..6e682d8 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Reconnect", - "message.autoreconnectrf.reconnectIn": "Reconnecting in %s...", + "message.autoreconnectrf.reconnectIn": "Reconnecting in %f...", "message.autoreconnectrf.reconnectFailed": "Could not reconnect!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json index 6f185ba..e5770f5 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json @@ -10,7 +10,7 @@ "message.autoreconnectrf.configScreenDisabled": "Экран конфигурации недоступен в этой версии.", "message.autoreconnectrf.reconnect": "Переподключиться", - "message.autoreconnectrf.reconnectIn": "Переподключение через %s...", + "message.autoreconnectrf.reconnectIn": "Переподключение через %f...", "message.autoreconnectrf.reconnectFailed": "Не удалось переподключиться!", "message.autoreconnectrf.debug.disconnected": "Отключено отладочной командой!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json index ae41de2..129f1b1 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Перепід'єднатися", - "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %s...", + "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %f...", "message.autoreconnectrf.reconnectFailed": "Не вдалося перепід'єднатися!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json index 5537778..85cd170 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "重新连接", - "message.autoreconnectrf.reconnectIn": "在 %s 秒后重新连接...", + "message.autoreconnectrf.reconnectIn": "在 %f 秒后重新连接...", "message.autoreconnectrf.reconnectFailed": "无法重新连接!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json index 19b5fc6..aaa618d 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json @@ -9,7 +9,7 @@ "message.autoreconnectrf.configScreenDisabled": "此版本無法使用設定畫面。", "message.autoreconnectrf.reconnect": "重新連線", - "message.autoreconnectrf.reconnectIn": "將在 %s 秒後重新連線...", + "message.autoreconnectrf.reconnectIn": "將在 %f 秒後重新連線...", "message.autoreconnectrf.reconnectFailed": "無法重新連線!", "message.autoreconnectrf.debug.disconnected": "因偵錯指令而斷線!", From 2de80a6ccbf6aa32731d4070149af05fff387bda Mon Sep 17 00:00:00 2001 From: NotRyken <127091011+NotRyken@users.noreply.github.com> Date: Thu, 3 Sep 2026 17:45:25 +0800 Subject: [PATCH 4/4] Improve countdown display --- .../autoreconnectrf/util/DisconnectScreenUtil.java | 5 ++++- .../main/resources/assets/autoreconnectrf/lang/en_us.json | 4 ++-- .../main/resources/assets/autoreconnectrf/lang/ru_ru.json | 4 ++-- .../main/resources/assets/autoreconnectrf/lang/uk_ua.json | 4 ++-- .../main/resources/assets/autoreconnectrf/lang/zh_cn.json | 4 ++-- .../main/resources/assets/autoreconnectrf/lang/zh_tw.json | 4 ++-- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java index 0bb1ab2..636ba4c 100644 --- a/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java +++ b/common/src/main/java/dev/terminalmc/autoreconnectrf/util/DisconnectScreenUtil.java @@ -67,7 +67,10 @@ public static void startCountdown(Button reconnectButton) { reconnectButton.active = false; } else { // Attempts ongoing; update time on button - reconnectButton.setMessage(localized("message", "reconnectIn", seconds) + String secondsStr = seconds >= 10 + ? String.valueOf(seconds.intValue()) // %d (down) + : String.valueOf((int) (seconds * 10) / 10F); // %.1f effective (down) + reconnectButton.setMessage(localized("message", "reconnectIn", secondsStr) .withStyle(s -> s.withColor(ChatFormatting.GREEN))); } }); diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json index 6e682d8..b250929 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/en_us.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Reconnect", - "message.autoreconnectrf.reconnectIn": "Reconnecting in %f...", + "message.autoreconnectrf.reconnectIn": "Reconnecting in %s...", "message.autoreconnectrf.reconnectFailed": "Could not reconnect!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", @@ -34,7 +34,7 @@ "option.autoreconnectrf.messages": "AutoMessages", "option.autoreconnectrf.messages.tooltip": "Messages to send after a successful automatic reconnect.", - "option.autoreconnectrf.messages.instance": "AutoMessage %d", + "option.autoreconnectrf.messages.instance": "AutoMessage %s", "option.autoreconnectrf.messages.instance.tooltip": "A single AutoMessage object for a specific server, realm or world.", "option.autoreconnectrf.messages.instance.id": "Connection ID", "option.autoreconnectrf.messages.instance.id.tooltip": "The server IP, realm name, or world name on which this AutoMessage should be used.", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json index e5770f5..a263051 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/ru_ru.json @@ -10,7 +10,7 @@ "message.autoreconnectrf.configScreenDisabled": "Экран конфигурации недоступен в этой версии.", "message.autoreconnectrf.reconnect": "Переподключиться", - "message.autoreconnectrf.reconnectIn": "Переподключение через %f...", + "message.autoreconnectrf.reconnectIn": "Переподключение через %s...", "message.autoreconnectrf.reconnectFailed": "Не удалось переподключиться!", "message.autoreconnectrf.debug.disconnected": "Отключено отладочной командой!", @@ -38,7 +38,7 @@ "option.autoreconnectrf.messages": "Автосообщения", "option.autoreconnectrf.messages.tooltip": "Сообщения для отправки после успешного автоматического переподключения.", - "option.autoreconnectrf.messages.instance": "Автосообщение %d", + "option.autoreconnectrf.messages.instance": "Автосообщение %s", "option.autoreconnectrf.messages.instance.tooltip": "Одиночный объект автосообщений для конкретного сервера, реалма или мира.", "option.autoreconnectrf.messages.instance.id": "Идентификатор подключения", "option.autoreconnectrf.messages.instance.id.tooltip": "IP-адрес сервера, название реалма или название мира, для которого применяется это автосообщение.", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json index 129f1b1..b3804da 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/uk_ua.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "Перепід'єднатися", - "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %f...", + "message.autoreconnectrf.reconnectIn": "Перепід'єднання через %s...", "message.autoreconnectrf.reconnectFailed": "Не вдалося перепід'єднатися!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", @@ -34,7 +34,7 @@ "option.autoreconnectrf.messages": "АвтоПовідомлення", "option.autoreconnectrf.messages.tooltip": "Повідомлення для надсилання після успішного автоматичного перепід'єднання.", - "option.autoreconnectrf.messages.instance": "Об'єкт АвтоПовідомлень %d", + "option.autoreconnectrf.messages.instance": "Об'єкт АвтоПовідомлень %s", "option.autoreconnectrf.messages.instance.tooltip": "Окремий об'єкт АвтоПовідомлень для конкретного світу, сервера чи реалму.", "option.autoreconnectrf.messages.instance.id": "Connection ID", "option.autoreconnectrf.messages.instance.id.tooltip": "The server IP, realm name, or world name on which this AutoMessage should be used.", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json index 85cd170..ba89b3e 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_cn.json @@ -6,7 +6,7 @@ "message.autoreconnectrf.configScreenDisabled": "Config screen is not available on this version.", "message.autoreconnectrf.reconnect": "重新连接", - "message.autoreconnectrf.reconnectIn": "在 %f 秒后重新连接...", + "message.autoreconnectrf.reconnectIn": "在 %s 秒后重新连接...", "message.autoreconnectrf.reconnectFailed": "无法重新连接!", "message.autoreconnectrf.debug.disconnected": "Disconnected by debug command!", @@ -34,7 +34,7 @@ "option.autoreconnectrf.messages": "自动消息规则", "option.autoreconnectrf.messages.tooltip": "自动重新连接服务器成功后发送的聊天消息。", - "option.autoreconnectrf.messages.instance": "实例 %d", + "option.autoreconnectrf.messages.instance": "实例 %s", "option.autoreconnectrf.messages.instance.tooltip": "单独针对一个特定世界,服务器或 Realms 的自动消息对象。", "option.autoreconnectrf.messages.instance.id": "Connection ID", "option.autoreconnectrf.messages.instance.id.tooltip": "The server IP, realm name, or world name on which this AutoMessage should be used.", diff --git a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json index aaa618d..02a694e 100644 --- a/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json +++ b/common/src/main/resources/assets/autoreconnectrf/lang/zh_tw.json @@ -9,7 +9,7 @@ "message.autoreconnectrf.configScreenDisabled": "此版本無法使用設定畫面。", "message.autoreconnectrf.reconnect": "重新連線", - "message.autoreconnectrf.reconnectIn": "將在 %f 秒後重新連線...", + "message.autoreconnectrf.reconnectIn": "將在 %s 秒後重新連線...", "message.autoreconnectrf.reconnectFailed": "無法重新連線!", "message.autoreconnectrf.debug.disconnected": "因偵錯指令而斷線!", @@ -37,7 +37,7 @@ "option.autoreconnectrf.messages": "自動訊息", "option.autoreconnectrf.messages.tooltip": "成功自動重新連線後要傳送的訊息。", - "option.autoreconnectrf.messages.instance": "自動訊息 %d", + "option.autoreconnectrf.messages.instance": "自動訊息 %s", "option.autoreconnectrf.messages.instance.tooltip": "適用於特定伺服器、Realm 或世界的單一自動訊息設定。", "option.autoreconnectrf.messages.instance.id": "連線 ID", "option.autoreconnectrf.messages.instance.id.tooltip": "應使用此自動訊息的伺服器 IP、Realm 名稱或世界名稱。",