Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Я для себя работу с конфигом давно привёл к подобным процедурам:
https://github.com/fromgate/PlayEff...e/fromgate/playeffect/PlayEffect.java#L52-L72
При старте плагина всегда вызываю последовательно loadCfg() и saveCfg(). Это приводит к тому, что при первом запуске плагина создается конфиг с дефолтными значениями.
Что-то типо этого:ок, спасибо
Разобрался как создавать файл конфига с нужными пунктами, но непонял как сделать считывание из конфига, например считывание списка айди предметов.
plugin - ну это наш плагинplugin.getConfig().getInt("my-ID-Blocks")
Это вернёт только одно число.Что-то типо этого:
plugin - ну это наш плагин
getConfig - конфиг по дефолту
getInt("my-ID-Blocks") - берем числа из my-ID-Blocks
path: [1, 2, 3, 4]
path:
- 1
- 2
- 3
package ru.tyzun.limits;
import java.io.File;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Limits extends JavaPlugin implements Listener {
public void OnEnable(){
getServer().getPluginManager().registerEvents(this, this);
File configFile = new File(getDataFolder(), "config.yml");
if (!configFile.exists())
saveDefaultConfig();
reloadConfig();
}
@EventHandler
public void Bedrock(BlockBreakEvent e){
Player pl = e.getPlayer();
if((this.getConfig().getIntegerList("break").contains(Integer.valueOf(e.getBlock().getTypeId()))) && (!pl.hasPermission("limits.break"))){
e.setCancelled(true);
}
}
}
Мучился с плагином, ничего путящего не вышло, сделал вот так
JavaScript:package ru.tyzun.limits; import java.io.File; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.java.JavaPlugin; public class Limits extends JavaPlugin implements Listener { public void OnEnable(){ getServer().getPluginManager().registerEvents(this, this); File configFile = new File(getDataFolder(), "config.yml"); if (!configFile.exists()) saveDefaultConfig(); reloadConfig(); } @EventHandler public void Bedrock(BlockBreakEvent e){ Player pl = e.getPlayer(); if((this.getConfig().getIntegerList("break").contains(Integer.valueOf(e.getBlock().getTypeId()))) && (!pl.hasPermission("limits.break"))){ e.setCancelled(true); } } }
Файл config.yml присутствует рядом с plugin.yml, запускаю серв, плагин в списке зеленым цветом, но папка с конфигом всеравно не создается. Что я не так сделал?
File config = new File(getDataFolder() + File.separator + "config.yml");
if(!config.exists()){
getLogger().info("Creating new ,file config...");
getConfig().options().copyDefaults(true);
saveDefaultConfig();
}
1 строчка в коде пожалуйста обьясни что ты с помощью нее делаешь?чувак здесь всё просто вот тебе ахрененный код для конфига.
JavaScript:File config = new File(getDataFolder() + File.separator + "config.yml"); if(!config.exists()){ getLogger().info("Creating new ,file config..."); getConfig().options().copyDefaults(true); saveDefaultConfig(); }
Зачем там File.separator? Если можно сделать так File config = new File(getDataFolder(), "config.yml");чувак здесь всё просто вот тебе ахрененный код для конфига.
JavaScript:File config = new File(getDataFolder() + File.separator + "config.yml"); if(!config.exists()){ getLogger().info("Creating new ,file config..."); getConfig().options().copyDefaults(true); saveDefaultConfig(); }
Там вверху есть такая ссылочка "Перестать следить за темой" 😉Может хватит подымать умершую тему?
Выдаёт 404, что там было?Если config.yml рядом с plugin.yml (т.е. я так понимаю он в jar) - то таким образом Вы его не прочитаете. Он ещё не попал в директорию плагина. Его нужно там создать или скопировать. По моему так.
В любом случае, не понимаю к чему эта возня с файлами. При обращении к getConfig() создание файла (и директории плагина) происходит автоматически. Я выше приводил ссылку на свой плагин, посмотрите процедурки -- проще не бывает.
Вы бы ещё самую первую открытую тему апнули.
Там вверху есть такая ссылочка "Перестать следить за темой" 😉
Исходники плагина. Очевидно же.Выдаёт 404, что там было?
А где они теперь?)Исходники плагина. Очевидно же.
Там же, просто пути к файлу поменялись. Сможете подняться до более верхнего уровня пути в URL? 🙂А где они теперь?)
Постараюсь 😗Там же, просто пути к файлу поменялись. Сможете подняться до более верхнего уровня пути в URL? 🙂