Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.github.tivecs.lab.language;
- import io.github.tivecs.lab.storage.yaml.ConfigManager;
- import org.bukkit.ChatColor;
- import org.bukkit.configuration.file.FileConfiguration;
- import java.io.File;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Set;
- public class Language extends ConfigManager {
- private FileConfiguration config;
- private String languageId, parentLanguageId;
- private boolean asDefaultLanguage = false;
- public Language(File languageFile){
- super(languageFile);
- this.config = getConfig();
- String fileName = languageFile.getName();
- if (fileName.endsWith(".yml")){
- languageId = fileName.substring(0, fileName.length() - 4);
- }else{
- languageId = fileName;
- }
- }
- public void set(String path, List<String> value) {
- super.set(path, value);
- }
- public void setIfNotExists(String path, List<String> value) {
- super.setIfNotExists(path, value);
- }
- @Override
- public void saveConfig() {
- if (config != null){
- HashMap<String, Object> data = getData();
- for (String path : getDataActivityHistory()){
- config.set("messages." + path, data.get(path));
- }
- getDataActivityHistory().clear();
- try {
- config.save(getFile());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- @Override
- public void readConfig() {
- if (config != null){
- getData().clear();
- Set<String> childs = getChilds("messages", false);
- for (String path : childs){
- List<String> msg = config.getStringList("messages." + path);
- int size = msg.size();
- for (int i = 0; i < size; i++){
- msg.set(i, ChatColor.translateAlternateColorCodes('&', msg.get(i)));
- }
- getData().put(path, msg);
- }
- }
- }
- public void readAttribute(){
- if (config != null){
- this.languageId = config.getString("attributes.language-id");
- this.parentLanguageId = config.getString("attributes.parent-language-id");
- this.asDefaultLanguage = config.getBoolean("attributes.as-default-language");
- }
- }
- public String getLanguageId() {
- return languageId;
- }
- public String getParentLanguageId() {
- return parentLanguageId;
- }
- public boolean isAsDefaultLanguage() {
- return asDefaultLanguage;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement