Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Такого файла не существует. И вообще пользуются так:PHP:Main main; public JobEvents(Main main) { main = this.main; } @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { File conf = new File(main.getDataFolder() + File.separator + "config.yml"); if(conf.exists()) { Inventory jobsList = Bukkit.createInventory(e.getPlayer(), 56, "123"); e.getPlayer().openInventory(jobsList); } }
Самый стандартный код проверки, существует ли файл. Но записать файл в переменную не удаётся - кидает NullPointerException. Что не так? Версия - Spigot 1.12.2
Main main; public JobEvents(Main main) { main = this.main; }
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
File conf = new File(main.getDataFolder() + "config.yml");
if(conf.exists()) {
Inventory jobsList = Bukkit.createInventory(e.getPlayer(), 56, "123");
e.getPlayer().openInventory(jobsList);
}
}
Он не получишь конфиг, а NPE. Ему надо проверить существует он или нет.Зачем вручную получать дефолтный конфиг?
main#getConfig() для кого делали?
Где вы такие туториалы берёте, что вас учат работать с эвентами не научив работать с конфигами(хотя бы дефолтными).
Скинь Main, а дальше посмотримТак мне и нужна проверка, есть ли файл (.exists)
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
public void onEnable() {
//
saveConfig();
getCommand("job").setExecutor(new Job());
Bukkit.getPluginManager().registerEvents(new JobEvents(this), this);
}
public void onDisable() {
}
}
щас бы юзать onDisable когда он не нужен. (и давать такие полезные советы,ммм)public void onDisable() { } }
Ясно, я хоть попытаюсь. saveDefaultConfig infoГде то слыхал, что если юзать saveDefaultConfig(), то конфиг полностью принимает вид из плагина. Всё, что было изменено в конфиге, всё пропадёт. Так ли это?
Уважаемый, ты не написал, что тебе это надо для кастом конфигов.Оффтоп. А код нужен для кастомных конфигов.
сеператор кто ставить будет? Тогда так делай:Такого файла не существует. И вообще пользуются так:
Код:Main main; public JobEvents(Main main) { main = this.main; } @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { File conf = new File(main.getDataFolder() + "config.yml"); if(conf.exists()) { Inventory jobsList = Bukkit.createInventory(e.getPlayer(), 56, "123"); e.getPlayer().openInventory(jobsList); } }
File conf = new File(main.getDataFolder(), "config.yml");
Господи, он хочет сделать обычный config.yml, вот только не знает об элементарном. Пусть почитает доки.сеператор кто ставить будет? Тогда так делай:
PHP:File conf = new File(main.getDataFolder(), "config.yml");
//Путь
package you.package.example.test;
//Импорты, не столь обращай на них внимание
import java.io.*
import org.bukkit.*
import org.bukkit.configuration.file.*;
//Имя класса, а так же его тип
public class Config {
//Создаем и указываем файл
File customFile = new File("customfolder/customfile.yml");
//Присваиваем customFile свойства конфига (т.е грузим его как кфг)
static customConfig = YamlConfiguration.loadConfiguration(customFile);
//Создавать конструктор для глупых, я буду статик
//Статичный метод для того чтобы взять конфиг
public static FileConfiguration getCustomConfig()
{
//Если мы используем метод он будет возвращать конфиг
return customConfig;
}
}
//Путь
package you.package.example.test;
//Импорты, не столь обращай на них внимание
import static you.package.example.test.Config.*;
//Имя класса, а так же его тип
public class Listener {
//Статичный метод который будем использовать если нужно создать конфиг
public static void load()
{
//Если конфига не существует
if (!customFile.exists())
{
//Обработка ошибок
try {
//Создаем файл
customFile.createNewFile();
} catch (IOException e) {
//Выводим ошибку
e.printStackTrace();
}
}
//Статичный метод который будем использовать если нужно сохранить конфиг
public static void save()
{
//Обработка ошибок
try {
//Сохраняем файл
getCustomConfig().save(customFile);
} catch (IOException ex) {
//Выводим ошибку
e.printStackTrace();
}
}
//Путь
package you.package.example.test;
//Импорты, не столь обращай на них внимание
import static you.package.example.test.Listener.*;
//Имя класса, а так же его тип + Здесь мы унаследовали JavaPlugin.
public class Main extends JavaPlugin {
@Override
//Метод onEnable, используется при включении плагина.
public void onEnable()
{
//Исполняем наш метод загрузки
load();
}
}