Skip to content

Commit f09949c

Browse files
committed
GH-957 Remove per-player language feature.
1 parent 68438e2 commit f09949c

36 files changed

+155
-857
lines changed

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ object Versions {
1313

1414
const val PAPERLIB = "1.0.8"
1515
const val ADVENTURE_TEXT_MINIMESSAGE = "4.24.0"
16-
const val ADVENTURE_PLATFORM = "4.4.0"
16+
const val ADVENTURE_PLATFORM = "4.4.1"
1717
const val OKAERI_CONFIGS = "5.0.9"
1818

1919
const val MARIA_DB = "3.5.5"

eternalcore-api/src/main/java/com/eternalcode/core/EternalCoreApi.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.eternalcode.core.feature.catboy.CatboyService;
55
import com.eternalcode.core.feature.home.HomeService;
66
import com.eternalcode.core.feature.jail.JailService;
7-
import com.eternalcode.core.feature.language.LanguageService;
87
import com.eternalcode.core.feature.msg.MsgService;
98
import com.eternalcode.core.feature.ignore.IgnoreService;
109
import com.eternalcode.core.feature.randomteleport.RandomTeleportService;
@@ -24,8 +23,6 @@ public interface EternalCoreApi {
2423

2524
JailService getJailService();
2625

27-
LanguageService getLanguageService();
28-
2926
MsgService getMsgService();
3027

3128
RandomTeleportService getRandomTeleportService();

eternalcore-api/src/main/java/com/eternalcode/core/feature/language/Language.java

Lines changed: 0 additions & 80 deletions
This file was deleted.

eternalcore-api/src/main/java/com/eternalcode/core/feature/language/LanguageProvider.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

eternalcore-api/src/main/java/com/eternalcode/core/feature/language/LanguageService.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

eternalcore-core/src/main/java/com/eternalcode/core/EternalCoreApiImpl.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.eternalcode.core.feature.home.HomeService;
66
import com.eternalcode.core.feature.ignore.IgnoreService;
77
import com.eternalcode.core.feature.jail.JailService;
8-
import com.eternalcode.core.feature.language.LanguageService;
98
import com.eternalcode.core.feature.msg.MsgService;
109
import com.eternalcode.core.feature.randomteleport.RandomTeleportService;
1110
import com.eternalcode.core.feature.spawn.SpawnService;
@@ -46,11 +45,6 @@ public JailService getJailService() {
4645
return this.dependencyProvider.getDependency(JailService.class);
4746
}
4847

49-
@Override
50-
public LanguageService getLanguageService() {
51-
return this.dependencyProvider.getDependency(LanguageService.class);
52-
}
53-
5448
@Override
5549
public MsgService getMsgService() {
5650
return this.dependencyProvider.getDependency(MsgService.class);

eternalcore-core/src/main/java/com/eternalcode/core/adventure/AdventureSetup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class AdventureSetup {
1515

1616
@Bean
1717
AudienceProvider audienceProvider(Plugin plugin) {
18-
return BukkitAudiences.create(plugin);
18+
return BukkitAudiences.builder(plugin).build();
1919
}
2020

2121
@Bean

eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import com.eternalcode.core.feature.warp.WarpSettings;
4040
import com.eternalcode.core.injector.annotations.Bean;
4141
import com.eternalcode.core.injector.annotations.component.ConfigurationFile;
42+
import com.eternalcode.core.translation.TranslationConfig;
43+
import com.eternalcode.core.translation.TranslationSettings;
4244
import eu.okaeri.configs.OkaeriConfig;
4345
import eu.okaeri.configs.annotation.Comment;
4446
import eu.okaeri.configs.annotation.Header;
@@ -64,6 +66,13 @@ public class PluginConfiguration extends AbstractConfigurationFile {
6466
@Comment("# Whether the player should receive information about new plugin updates upon joining the server")
6567
public boolean shouldReceivePluginUpdates = true;
6668

69+
@Bean(proxied = TranslationSettings.class)
70+
@Comment("")
71+
@Comment("# Language Configuration")
72+
@Comment("# Settings that determine the language used within the server.")
73+
@Comment("# Choose the preferred language for all messages and interactions in the plugin.")
74+
TranslationConfig language = new TranslationConfig();
75+
6776
@Bean(proxied = DatabaseSettings.class)
6877
@Comment("")
6978
@Comment("# Database Configuration")
Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package com.eternalcode.core.configuration.serializer;
22

3-
import com.eternalcode.core.feature.language.Language;
3+
import com.eternalcode.core.translation.Language;
44
import eu.okaeri.configs.schema.GenericsDeclaration;
55
import eu.okaeri.configs.serdes.DeserializationData;
66
import eu.okaeri.configs.serdes.ObjectSerializer;
77
import eu.okaeri.configs.serdes.SerializationData;
88

9-
import java.util.Arrays;
10-
import java.util.List;
11-
129
public class LanguageSerializer implements ObjectSerializer<Language> {
1310

1411
@Override
@@ -18,25 +15,18 @@ public boolean supports(Class<? super Language> type) {
1815

1916
@Override
2017
public void serialize(Language language, SerializationData data, GenericsDeclaration generics) {
21-
StringBuilder sb = new StringBuilder(language.getLang());
22-
for (String alias : language.getAliases()) {
23-
sb.append("|").append(alias);
24-
}
25-
data.setValue(sb.toString());
18+
data.setValue(language.name());
2619
}
2720

2821
@Override
2922
public Language deserialize(DeserializationData data, GenericsDeclaration generics) {
3023
String value = data.getValue(String.class);
31-
String[] parts = value.split("\\|");
32-
33-
if (parts.length == 0) {
34-
throw new IllegalArgumentException("Invalid language format: " + value);
24+
25+
try {
26+
return Language.valueOf(value.toUpperCase());
27+
}
28+
catch (IllegalArgumentException exception) {
29+
return Language.EN;
3530
}
36-
37-
String lang = parts[0];
38-
List<String> aliases = Arrays.asList(parts).subList(1, parts.length);
39-
40-
return new Language(lang, aliases);
4131
}
42-
}
32+
}

eternalcore-core/src/main/java/com/eternalcode/core/feature/fullserverbypass/FullServerBypassController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private String getServerFullMessage(Player player) {
6262

6363
if (userOption.isEmpty()) {
6464
return Joiner.on("\n")
65-
.join(this.translationManager.getDefaultMessages().player().fullServerSlots())
65+
.join(this.translationManager.getMessages().player().fullServerSlots())
6666
.toString();
6767
}
6868

0 commit comments

Comments
 (0)