Skip to content

Commit ae1396c

Browse files
authored
fix: improve legacy version detection for translation service (#207)
2 parents 83a7b5c + 8e843ac commit ae1396c

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/main/java/net/onelitefeather/antiredstoneclockremastered/injection/TranslationModule.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.onelitefeather.antiredstoneclockremastered.injection;
22

3+
import com.github.zafarkhaja.semver.Version;
34
import com.google.inject.AbstractModule;
45
import com.google.inject.Inject;
56
import com.google.inject.Provides;
@@ -20,6 +21,7 @@
2021
import java.nio.file.Path;
2122
import java.util.HashSet;
2223
import java.util.Locale;
24+
import java.util.Optional;
2325
import java.util.ResourceBundle;
2426

2527
public final class TranslationModule extends AbstractModule {
@@ -31,11 +33,11 @@ public final class TranslationModule extends AbstractModule {
3133
protected void configure() {
3234
}
3335

36+
@SuppressWarnings("removal")
3437
@Provides
3538
@Singleton
3639
public TranslationService provideTranslationService() {
37-
ServerBuildInfo buildInfo = ServerBuildInfo.buildInfo();
38-
if (buildInfo.minecraftVersionId().startsWith("1.20")) {
40+
if (isLegacyVersion()) {
3941
LOGGER.info("Using legacy translation service");
4042
return new LegacyTranslationService();
4143
} else {
@@ -44,6 +46,19 @@ public TranslationService provideTranslationService() {
4446
}
4547
}
4648

49+
private boolean isLegacyVersion() {
50+
ServerBuildInfo buildInfo = ServerBuildInfo.buildInfo();
51+
Optional<Version> optionalVersion = Version.tryParse(buildInfo.minecraftVersionId());
52+
if (optionalVersion.isEmpty()) {
53+
return true;
54+
}
55+
Version version = optionalVersion.get();
56+
if (version.isHigherThanOrEquivalentTo(Version.of(1, 21, 4))) {
57+
return false;
58+
}
59+
return version.isLowerThanOrEquivalentTo(Version.of(1, 21, 3));
60+
}
61+
4762
@Inject
4863
public void bootstrap(AntiRedstoneClockRemastered plugin, TranslationService translationService) {
4964
// Setup translations

0 commit comments

Comments
 (0)