- Баллы
- 36
- Имя в Minecraft
- NOTXSK
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
config.set("nickcname.ip", value);
config.set("nickcname.port", value);
config.set("nickcname.uuid", value);
//todo: save
config.getInt("nickcname.port");
Ващет в твоём не надо лишний раз париться, поэтому прям так получай и отправляй.А лучше как достать и отправить игроку весь список
public final class Main extends JavaPlugin {
private File configFile = new File(getDataFolder(), "data.yml");
private FileConfiguration config;
@Override
public void onEnable() {
super.onEnable();
if (!this.configFile.exists()) {
try {
this.configFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
this.config = YamlConfiguration.loadConfiguration(this.configFile);
//saveData(); - НЕ НАДО, Конфиг сам сохранится при выключении сервера.
Bukkit.getPluginManager().registerEvents(new EventsHandler(this), this);
}
void saveData() {
try {
this.config.save(this.configFile);
} catch (IOException e) {
e.printStackTrace();
}
}
public FileConfiguration getDataConfig() {
return config;
}
@Override
public void onDisable() {
super.onDisable();
saveData();
}
}
public final class EventsHandler implements Listener {
private final Main main;
public EventsHandler(Main main) {
this.main = main;
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
final FileConfiguration config = this.main.getDataConfig();
final Player player = event.getPlayer();
final UUID uuid = player.getUniqueId();
final String name = player.getName();
if (!config.contains(name)) {
config.set(name + ".ip", player.getAddress().getAddress()); //UPD
config.set(name + ".uuid", uuid);
player.sendMessage("Your uuid: " + uuid);
//main.SaveData(); - НЕ НАДО, Конфиг сам сохранится при выключении сервера.
}
}
}
config.set(name + ".ip", player.getAddress());
ConfigurationSection nickname = this.getConfig().getConfigurationSection("nickname");
nickname.set("ip", "localhost");
nickname.set("port", 100);
nickname.set("uuid", "uuid");
nickname.getString("ip");
nickname.getInt("port");
nickname.getString("uuid");
Потому, что логика в коде не предусмотрена, взяв при старте сервера все данные в ОЗУ и возвращая их при завершении, парсив новый поверх существующего файла конфига.Почему когда я изменяю конфиг он возращает назад на прежнее значение ?