add locales
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package sh.okx.rankup;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||
import com.google.common.base.Preconditions;
|
||||
import lombok.Getter;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
@@ -14,11 +15,7 @@ import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import sh.okx.rankup.commands.InfoCommand;
|
||||
import sh.okx.rankup.commands.PrestigeCommand;
|
||||
import sh.okx.rankup.commands.PrestigesCommand;
|
||||
import sh.okx.rankup.commands.RanksCommand;
|
||||
import sh.okx.rankup.commands.RankupCommand;
|
||||
import sh.okx.rankup.commands.*;
|
||||
import sh.okx.rankup.gui.Gui;
|
||||
import sh.okx.rankup.gui.GuiListener;
|
||||
import sh.okx.rankup.messages.EmptyMessageBuilder;
|
||||
@@ -33,25 +30,22 @@ import sh.okx.rankup.ranks.Rankups;
|
||||
import sh.okx.rankup.requirements.OperationRegistry;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.RequirementRegistry;
|
||||
import sh.okx.rankup.requirements.operation.AllOperation;
|
||||
import sh.okx.rankup.requirements.operation.AnyOperation;
|
||||
import sh.okx.rankup.requirements.operation.NoneOperation;
|
||||
import sh.okx.rankup.requirements.operation.OneOperation;
|
||||
import sh.okx.rankup.requirements.requirement.GroupRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsAchievementRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsTotalRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOPowerLevelRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOSkillRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.MoneyRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.PermissionRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.PlaceholderRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.PlaytimeMinutesRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.XpLevelRequirement;
|
||||
import sh.okx.rankup.requirements.operation.*;
|
||||
import sh.okx.rankup.requirements.requirement.*;
|
||||
import sh.okx.rankup.requirements.requirement.advancedachievements.*;
|
||||
import sh.okx.rankup.requirements.requirement.mcmmo.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.WeakHashMap;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -90,12 +84,16 @@ public class Rankup extends JavaPlugin {
|
||||
reload();
|
||||
|
||||
Metrics metrics = new Metrics(this);
|
||||
metrics.addCustomChart(new Metrics.SimplePie("confirmation") {
|
||||
@Override
|
||||
public String getValue() {
|
||||
return getConfig().getString("confirmation.type");
|
||||
metrics.addCustomChart(new Metrics.SimplePie("confirmation",
|
||||
() -> config.getString("confirmation.type")));
|
||||
metrics.addCustomChart(new Metrics.AdvancedPie("requirements", () -> {
|
||||
Map<String, Integer> map = new HashMap<>();
|
||||
addAll(map, rankups);
|
||||
if (prestiges != null) {
|
||||
addAll(map, prestiges);
|
||||
}
|
||||
});
|
||||
return map;
|
||||
}));
|
||||
|
||||
if (config.getBoolean("ranks")) {
|
||||
getCommand("ranks").setExecutor(new RanksCommand(this));
|
||||
@@ -136,7 +134,7 @@ public class Rankup extends JavaPlugin {
|
||||
autoRankup.runTaskTimer(this, time, time);
|
||||
}
|
||||
|
||||
if (config.getInt("version") < 2) {
|
||||
if (config.getInt("version") < 3) {
|
||||
getLogger().severe("You are using an outdated config!");
|
||||
getLogger().severe("This means that some things might not work!");
|
||||
getLogger().severe("To update, please rename ALL your config files (or the folder they are in),");
|
||||
@@ -147,6 +145,15 @@ public class Rankup extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
private void addAll(Map<String, Integer> map, RankList<? extends Rank> ranks) {
|
||||
for (Rank rank : ranks.ranks) {
|
||||
for (Requirement requirement : rank.getRequirements()) {
|
||||
String name = requirement.getName();
|
||||
map.put(name, map.getOrDefault(name, 0) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes all rankup inventories on disable
|
||||
* so players cannot grab items from the inventory
|
||||
@@ -163,8 +170,13 @@ public class Rankup extends JavaPlugin {
|
||||
}
|
||||
|
||||
private void loadConfigs() {
|
||||
messages = loadConfig("messages.yml");
|
||||
saveLocales();
|
||||
|
||||
config = loadConfig("config.yml");
|
||||
String locale = config.getString("locale");
|
||||
File localeFile = new File(new File(getDataFolder(), "locale"), locale + ".yml");
|
||||
messages = YamlConfiguration.loadConfiguration(localeFile);
|
||||
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, this::refreshRanks);
|
||||
}
|
||||
|
||||
@@ -178,6 +190,18 @@ public class Rankup extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
private void saveLocales() {
|
||||
saveLocale("en");
|
||||
}
|
||||
|
||||
private void saveLocale(String locale) {
|
||||
String name = "locale/" + locale + ".yml";
|
||||
File file = new File(getDataFolder(), name);
|
||||
if (!file.exists()) {
|
||||
saveResource("locale/" + locale + ".yml", false);
|
||||
}
|
||||
}
|
||||
|
||||
private FileConfiguration loadConfig(String name) {
|
||||
File file = new File(getDataFolder(), name);
|
||||
if (!file.exists()) {
|
||||
|
||||
Reference in New Issue
Block a user