mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
[CI skip] Refactoring
This commit is contained in:
parent
58ccc4b87a
commit
2424a2ceab
@ -54,7 +54,7 @@ public class LocalizationService extends SlimefunLocalization implements Persist
|
||||
translationsEnabled = SlimefunPlugin.getCfg().getBoolean("options.enable-translations");
|
||||
|
||||
defaultLanguage = new Language(serverDefaultLanguage, "11b3188fd44902f72602bd7c2141f5a70673a411adb3d81862c69e536166b");
|
||||
defaultLanguage.setMessages(getConfig().getConfiguration());
|
||||
defaultLanguage.setMessagesFile(getConfig().getConfiguration());
|
||||
|
||||
loadEmbeddedLanguages();
|
||||
|
||||
@ -147,10 +147,10 @@ public class LocalizationService extends SlimefunLocalization implements Persist
|
||||
getConfig().clear();
|
||||
}
|
||||
|
||||
defaultLanguage.setResearches(streamConfigFile("researches_" + language + ".yml", null));
|
||||
defaultLanguage.setResources(streamConfigFile("resources_" + language + ".yml", null));
|
||||
defaultLanguage.setCategories(streamConfigFile("categories_" + language + ".yml", null));
|
||||
defaultLanguage.setRecipeTypes(streamConfigFile("recipes_" + language + ".yml", null));
|
||||
defaultLanguage.setResearchesFile(streamConfigFile("researches_" + language + ".yml", null));
|
||||
defaultLanguage.setResourcesFile(streamConfigFile("resources_" + language + ".yml", null));
|
||||
defaultLanguage.setCategoriesFile(streamConfigFile("categories_" + language + ".yml", null));
|
||||
defaultLanguage.setRecipeTypesFile(streamConfigFile("recipes_" + language + ".yml", null));
|
||||
|
||||
Slimefun.getLogger().log(Level.INFO, "Loaded language \"{0}\"", language);
|
||||
getConfig().setValue(LANGUAGE_PATH, language);
|
||||
@ -179,11 +179,11 @@ public class LocalizationService extends SlimefunLocalization implements Persist
|
||||
FileConfiguration recipes = streamConfigFile("recipes_" + id + ".yml", null);
|
||||
|
||||
Language language = new Language(id, hash);
|
||||
language.setMessages(messages);
|
||||
language.setResearches(researches);
|
||||
language.setResources(resources);
|
||||
language.setCategories(categories);
|
||||
language.setRecipeTypes(recipes);
|
||||
language.setMessagesFile(messages);
|
||||
language.setResearchesFile(researches);
|
||||
language.setResourcesFile(resources);
|
||||
language.setCategoriesFile(categories);
|
||||
language.setRecipeTypesFile(recipes);
|
||||
|
||||
languages.put(id, language);
|
||||
}
|
||||
@ -201,13 +201,16 @@ public class LocalizationService extends SlimefunLocalization implements Persist
|
||||
*/
|
||||
public double getProgress(Language lang) {
|
||||
int defaultKeys = getTotalKeys(languages.get("en"));
|
||||
if (defaultKeys == 0) return 0;
|
||||
|
||||
if (defaultKeys == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Math.min(DoubleHandler.fixDouble(100.0 * (getTotalKeys(lang) / (double) defaultKeys)), 100.0);
|
||||
}
|
||||
|
||||
private int getTotalKeys(Language lang) {
|
||||
return getKeys(lang.getMessages(), lang.getResearches(), lang.getResources(), lang.getCategories(), lang.getRecipeTypes());
|
||||
return getKeys(lang.getFiles());
|
||||
}
|
||||
|
||||
private int getKeys(FileConfiguration... files) {
|
||||
|
@ -60,43 +60,53 @@ public final class Language {
|
||||
return id;
|
||||
}
|
||||
|
||||
public FileConfiguration getMessages() {
|
||||
FileConfiguration getMessagesFile() {
|
||||
return messages;
|
||||
}
|
||||
|
||||
public FileConfiguration getResearches() {
|
||||
FileConfiguration getResearchesFile() {
|
||||
return researches;
|
||||
}
|
||||
|
||||
public FileConfiguration getResources() {
|
||||
FileConfiguration getResourcesFile() {
|
||||
return resources;
|
||||
}
|
||||
|
||||
public FileConfiguration getCategories() {
|
||||
FileConfiguration getCategoriesFile() {
|
||||
return categories;
|
||||
}
|
||||
|
||||
public FileConfiguration getRecipeTypes() {
|
||||
FileConfiguration getRecipeTypesFile() {
|
||||
return recipeTypes;
|
||||
}
|
||||
|
||||
public void setMessages(FileConfiguration config) {
|
||||
public void setMessagesFile(FileConfiguration config) {
|
||||
Validate.notNull(config);
|
||||
|
||||
this.messages = config;
|
||||
}
|
||||
|
||||
public void setResearches(FileConfiguration config) {
|
||||
public void setResearchesFile(FileConfiguration config) {
|
||||
Validate.notNull(config);
|
||||
|
||||
this.researches = config;
|
||||
}
|
||||
|
||||
public void setResources(FileConfiguration config) {
|
||||
public void setResourcesFile(FileConfiguration config) {
|
||||
Validate.notNull(config);
|
||||
|
||||
this.resources = config;
|
||||
}
|
||||
|
||||
public void setCategories(FileConfiguration config) {
|
||||
public void setCategoriesFile(FileConfiguration config) {
|
||||
Validate.notNull(config);
|
||||
|
||||
this.categories = config;
|
||||
}
|
||||
|
||||
public void setRecipeTypes(FileConfiguration config) {
|
||||
public void setRecipeTypesFile(FileConfiguration config) {
|
||||
Validate.notNull(config);
|
||||
|
||||
this.recipeTypes = config;
|
||||
}
|
||||
|
||||
@ -119,7 +129,8 @@ public final class Language {
|
||||
* @return The localized name of this {@link Language}
|
||||
*/
|
||||
public String getName(Player p) {
|
||||
return SlimefunPlugin.getLocal().getMessage(p, "languages." + id);
|
||||
String name = SlimefunPlugin.getLocal().getMessage(p, "languages." + id);
|
||||
return name != null ? name : toString();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -132,4 +143,13 @@ public final class Language {
|
||||
return this == SlimefunPlugin.getLocal().getDefaultLanguage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Language [ id= " + id + " | default=" + isDefault() + " ]";
|
||||
}
|
||||
|
||||
public FileConfiguration[] getFiles() {
|
||||
return new FileConfiguration[] { getMessagesFile(), getCategoriesFile(), getResearchesFile(), getResourcesFile() };
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -88,37 +88,37 @@ 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.getMessages().getString(key);
|
||||
return language.getMessagesFile().getString(key);
|
||||
}
|
||||
|
||||
public List<String> getMessages(Player p, String key) {
|
||||
Language language = getLanguage(p);
|
||||
if (language == null) return Arrays.asList("NO LANGUAGE FOUND");
|
||||
return language.getMessages().getStringList(key);
|
||||
return language.getMessagesFile().getStringList(key);
|
||||
}
|
||||
|
||||
public String getResearchName(Player p, NamespacedKey key) {
|
||||
Language language = getLanguage(p);
|
||||
if (language.getResearches() == null) return null;
|
||||
return language.getResearches().getString(key.getNamespace() + "." + key.getKey());
|
||||
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.getCategories() == null) return null;
|
||||
return language.getCategories().getString(key.getNamespace() + "." + key.getKey());
|
||||
if (language.getCategoriesFile() == null) return null;
|
||||
return language.getCategoriesFile().getString(key.getNamespace() + "." + key.getKey());
|
||||
}
|
||||
|
||||
public String getResourceString(Player p, String key) {
|
||||
Language language = getLanguage(p);
|
||||
|
||||
String value = language.getResources() != null ? language.getResources().getString(key) : null;
|
||||
String value = language.getResourcesFile() != null ? language.getResourcesFile().getString(key) : null;
|
||||
|
||||
if (value != null) {
|
||||
return value;
|
||||
}
|
||||
else {
|
||||
return getLanguage("en").getResources().getString(key);
|
||||
return getLanguage("en").getResourcesFile().getString(key);
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,15 +127,15 @@ public abstract class SlimefunLocalization extends Localization implements Keyed
|
||||
ItemStack item = recipeType.toItem();
|
||||
NamespacedKey key = recipeType.getKey();
|
||||
|
||||
if (language.getRecipeTypes() == null || !language.getRecipeTypes().contains(key.getNamespace() + "." + key.getKey())) {
|
||||
if (language.getRecipeTypesFile() == null || !language.getRecipeTypesFile().contains(key.getNamespace() + "." + key.getKey())) {
|
||||
language = getLanguage("en");
|
||||
}
|
||||
|
||||
if (!language.getRecipeTypes().contains(key.getNamespace() + "." + key.getKey())) {
|
||||
if (!language.getRecipeTypesFile().contains(key.getNamespace() + "." + key.getKey())) {
|
||||
return item;
|
||||
}
|
||||
|
||||
FileConfiguration config = language.getRecipeTypes();
|
||||
FileConfiguration config = language.getRecipeTypesFile();
|
||||
|
||||
return new CustomItem(item, meta -> {
|
||||
meta.setDisplayName(ChatColor.AQUA + config.getString(key.getNamespace() + "." + key.getKey() + ".name"));
|
||||
|
Loading…
Reference in New Issue
Block a user