1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00
This commit is contained in:
TheBusyBiscuit 2020-07-29 13:03:52 +02:00
parent 8f2dc7cebc
commit eb8e689d2c
4 changed files with 46 additions and 11 deletions

View File

@ -55,6 +55,7 @@
* Fixed #2097
* Fixed Wither Assembler requiring more items than it actually consumes
* Fixed Metrics not updating automatically
* Fixed #2143
## Release Candidate 14 (12 Jul 2020)

View File

@ -52,14 +52,17 @@ public class LocalizationService extends SlimefunLocalization implements Persist
if (serverDefaultLanguage != null) {
translationsEnabled = SlimefunPlugin.getCfg().getBoolean("options.enable-translations");
defaultLanguage = new Language(serverDefaultLanguage, "11b3188fd44902f72602bd7c2141f5a70673a411adb3d81862c69e536166b");
defaultLanguage.setMessagesFile(getConfig().getConfiguration());
loadEmbeddedLanguages();
String language = getConfig().getString(LANGUAGE_PATH);
if (language == null) language = serverDefaultLanguage;
if (language == null) {
language = serverDefaultLanguage;
}
if (hasLanguage(serverDefaultLanguage)) {
setLanguage(serverDefaultLanguage, !serverDefaultLanguage.equals(language));
@ -201,7 +204,7 @@ public class LocalizationService extends SlimefunLocalization implements Persist
*/
public double getProgress(Language lang) {
int defaultKeys = getTotalKeys(languages.get("en"));
if (defaultKeys == 0) {
return 0;
}

View File

@ -144,7 +144,6 @@ public class MetricsService {
int latest = getLatestVersion();
if (latest > Integer.parseInt(currentVersion)) {
cleanUp();
return download(latest);
}
@ -209,6 +208,7 @@ public class MetricsService {
plugin.getLogger().log(Level.INFO, "Successfully downloaded {0} build: #{1}", new Object[] { REPO_NAME, version });
// Replace the metric file with the new one
cleanUp();
Files.move(f.toPath(), metricsModuleFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
metricVersion = String.valueOf(version);

View File

@ -87,25 +87,55 @@ public abstract class SlimefunLocalization extends Localization implements Keyed
public String getMessage(Player p, String key) {
Language language = getLanguage(p);
if (language == null) return "NO LANGUAGE FOUND";
return language.getMessagesFile().getString(key);
if (language == null) {
return "NO LANGUAGE FOUND";
}
String message = language.getMessagesFile().getString(key);
if (message == null) {
Language fallback = getLanguage(SupportedLanguage.ENGLISH.getLanguageId());
return fallback.getMessagesFile().getString(key);
}
return message;
}
public List<String> getMessages(Player p, String key) {
Language language = getLanguage(p);
if (language == null) return Arrays.asList("NO LANGUAGE FOUND");
return language.getMessagesFile().getStringList(key);
if (language == null) {
return Arrays.asList("NO LANGUAGE FOUND");
}
List<String> messages = language.getMessagesFile().getStringList(key);
if (messages.isEmpty()) {
Language fallback = getLanguage(SupportedLanguage.ENGLISH.getLanguageId());
return fallback.getMessagesFile().getStringList(key);
}
return messages;
}
public String getResearchName(Player p, NamespacedKey key) {
Language language = getLanguage(p);
if (language.getResearchesFile() == null) return null;
if (language.getResearchesFile() == null) {
return null;
}
return language.getResearchesFile().getString(key.getNamespace() + "." + key.getKey());
}
public String getCategoryName(Player p, NamespacedKey key) {
Language language = getLanguage(p);
if (language.getCategoriesFile() == null) return null;
if (language.getCategoriesFile() == null) {
return null;
}
return language.getCategoriesFile().getString(key.getNamespace() + "." + key.getKey());
}
@ -118,7 +148,8 @@ public abstract class SlimefunLocalization extends Localization implements Keyed
return value;
}
else {
return getLanguage("en").getResourcesFile().getString(key);
Language fallback = getLanguage(SupportedLanguage.ENGLISH.getLanguageId());
return fallback.getResourcesFile().getString(key);
}
}