Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
ПомогитеНужно чтобы действие делалось только после удаления конфига или строки в нем
config.set("message", "Привет это сообщение можно изменить в конфигурации");
saveConfig();
Как сделать так чтобы это действие срабатывало только после удаления конфига или удаления этой строки (message), возможно ли?
Если строки или файл удаляется не программно(плагином), а вручную(через Проводник или текстовые редакторы), то тогда файл нужно генерировать(если был удален) со стандартными настройками или проверять файл на валидность(полноту) и дополнять при необходимости.
Для этого обычно создают отдельный класс - (Some)Config - (Какой-то)Конфиг.
Пример:
Java:
public class Config
{
private File path;
//config vars(стандарнтые значения конфига)
private int someInteger = 10;
private String someString = "someString";
//etc...
public Config(File path)
{
this.path = path;
}
//Загружает файл. Если файл не создан, генерируется новый со стандартными значениями
//Если поле отсутствует в конфиге, оно будет создано со стандартным значением
public void Load()
{
FileConfiguration config = YamlConfiguration.loadConfiguration(path);
someInteger = config.getInt("some.int", someInteger);
someString = config.getString("some.str", someString);
//etc...
Save();
}
public void Save()
{
//do save
}
//get\set-методы для переменных
}
Если строки или файл удаляется не программно(плагином), а вручную(через Проводник или текстовые редакторы), то тогда файл нужно генерировать(если был удален) со стандартными настройками или проверять файл на валидность(полноту) и дополнять при необходимости.
Для этого обычно создают отдельный класс - (Some)Config - (Какой-то)Конфиг.
Пример:
Java:
public class Config
{
private File path;
//config vars(стандарнтые значения конфига)
private int someInteger = 10;
private String someString = "someString";
//etc...
public Config(File path)
{
this.path = path;
}
//Загружает файл. Если файл не создан, генерируется новый со стандартными значениями
//Если поле отсутствует в конфиге, оно будет создано со стандартным значением
public void Load()
{
FileConfiguration config = YamlConfiguration.loadConfiguration(path);
someInteger = config.getInt("some.int", someInteger);
someString = config.getString("some.str", someString);
//etc...
Save();
}
public void Save()
{
//do save
}
//get\set-методы для переменных
}
Можешь помочь с шедулером у меня он останавливаться не хочет, ну не работает код выполняется каждый тик как его отключить чтобы сообщение было только один раз
@EventHandler
public void playerInteractApple(PlayerInteractEvent ap) {
Player gap = ap.getPlayer();
if (gap.getItemInHand().getType() != Material.GOLDEN_APPLE)return;
int var = 10;
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { @Override
public void run() {
gap.sendMessage("Отчет до 200 кончился выполнение кода");
if(var == 0) {
gap.sendMessage("12345678");
getServer().getScheduler().cancelTask(10);
}
}}, 200L, 0L);
}
}
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.