From 2108329ba667d9699ed576b881ff8b87e14639da Mon Sep 17 00:00:00 2001 From: Phillipp Glanz <6745190+TheMeinerLP@users.noreply.github.com> Date: Fri, 21 Nov 2025 22:32:20 +0100 Subject: [PATCH 1/2] fix: improve legacy version detection for translation service --- .../injection/TranslationModule.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java b/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java index fde1e04..e44bf85 100644 --- a/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java +++ b/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java @@ -1,5 +1,6 @@ package net.onelitefeather.antiredstoneclockremastered.injection; +import com.github.zafarkhaja.semver.Version; import com.google.inject.AbstractModule; import com.google.inject.Inject; import com.google.inject.Provides; @@ -20,6 +21,7 @@ import java.nio.file.Path; import java.util.HashSet; import java.util.Locale; +import java.util.Optional; import java.util.ResourceBundle; public final class TranslationModule extends AbstractModule { @@ -33,9 +35,9 @@ protected void configure() { @Provides @Singleton + @SuppressWarnings("deprecation") public TranslationService provideTranslationService() { - ServerBuildInfo buildInfo = ServerBuildInfo.buildInfo(); - if (buildInfo.minecraftVersionId().startsWith("1.20")) { + if (isLegacyVersion()) { LOGGER.info("Using legacy translation service"); return new LegacyTranslationService(); } else { @@ -44,6 +46,19 @@ public TranslationService provideTranslationService() { } } + private boolean isLegacyVersion() { + ServerBuildInfo buildInfo = ServerBuildInfo.buildInfo(); + Optional optionalVersion = Version.tryParse(buildInfo.minecraftVersionId()); + if (optionalVersion.isEmpty()) { + return true; + } + Version version = optionalVersion.get(); + if (version.isHigherThanOrEquivalentTo(Version.of(1, 21, 4))) { + return false; + } + return version.isLowerThanOrEquivalentTo(Version.of(1, 21, 3)); + } + @Inject public void bootstrap(AntiRedstoneClockRemastered plugin, TranslationService translationService) { // Setup translations From 8e843ac98edd8e61428e54f666ec7caf4fa2eb94 Mon Sep 17 00:00:00 2001 From: Phillipp Glanz <6745190+TheMeinerLP@users.noreply.github.com> Date: Fri, 21 Nov 2025 22:36:16 +0100 Subject: [PATCH 2/2] fix: suppress deprecation warning in translation service provider --- .../injection/TranslationModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java b/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java index e44bf85..42e5dfe 100644 --- a/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java +++ b/src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java @@ -33,9 +33,9 @@ public final class TranslationModule extends AbstractModule { protected void configure() { } + @SuppressWarnings("removal") @Provides @Singleton - @SuppressWarnings("deprecation") public TranslationService provideTranslationService() { if (isLegacyVersion()) { LOGGER.info("Using legacy translation service");