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