- Баллы
- 66
- Имя в Minecraft
- Slavok2001
Ты даже не представляешь, насколько я тебе благодарен. Все расписал, что мне нужно было. Теперь, в случае чего, буду писать тебе.Вот держи простенький апи для работы с конфигами.
CustomConfig.java
Configs.javaJava:package Example; import java.io.File; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; public class CustomConfig { private YamlConfiguration yml; private File file; CustomConfig(String name) { this.file = new File(Main.plugin().getDataFolder(), name+".yml"); yml = YamlConfiguration.loadConfiguration(file); this.file.getParentFile().mkdirs(); } public FileConfiguration get() { return yml; } public void save() { try { yml.save(file); } catch (Exception e) { e.printStackTrace(); } } public void reload() { try { yml.load(file); } catch (Exception e) { e.printStackTrace(); } } }
Пример использования в главном класса, условно Main.javaJava:package Example; import java.util.HashMap; import java.util.Map; public class Configs { private Map<String, CustomConfig> sfg = new HashMap<String, CustomConfig>(); public CustomConfig get(String name) { if(sfg.get(name)==null) add(name); return sfg.get(name); } public Map<String, CustomConfig> getConfigs() { return sfg; } public void add(String name) { CustomConfig custom = new CustomConfig(name); sfg.put(name, custom); } public void save(String name) { if(sfg.get(name)==null) add(name); try { sfg.get(name).save(); } catch (Exception e) { e.printStackTrace(); } } public void saveAll() { for(String name : sfg.keySet()) { save(name); } } }
Работа с конфигом до некуда простая.Java:package Example; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { private static Main instance; private static Configs config; public static Main plugin() { return instance; } public static Configs config() { return config; } @Override public void onEnable() { instance = this; config = new Configs(); } @Override public void onDisable() { config.saveAll(); } }
Получить-создать конфиг игрока.
CustomConfig cfg = Main.config().get(username);
Записать патч с именем kills со значением 10 .
cfg.get().set("kills", 10);
Сохранить в файл когда нужно. Не обязательно saveAll() в onDisable сохраняет все загруженные конфиги при остановке сервера.
cfg.save();
Прочитать патч с именем kills. "0" как дефольтный аргумент, если записи еще нет.
cfg.get().get("kills", "0");

Тему не закрываю, так как уверен, что у меня еще будут вопросы.