Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Создание конфигов

Тема в разделе "Разработка плагинов для новичков", создана пользователем Tyzun, 18 окт 2013.

  1. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Искал, и так не нашел путящих уроков по созданию конфигов в плагинах, можете посоветовать какой-нить?
     
    Оригинало_о нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    ок, спасибо[DOUBLEPOST=1382168430,1382164800][/DOUBLEPOST]Разобрался как создавать файл конфига с нужными пунктами, но непонял как сделать считывание из конфига, например считывание списка айди предметов.
     
  4. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    Что-то типо этого:
    plugin - ну это наш плагин
    getConfig - конфиг по дефолту
    getInt("my-ID-Blocks") - берем числа из my-ID-Blocks
     
  5. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Это вернёт только одно число.
    Если нужно из одного пути считать список чисел, нужно использовать getConfig().getIntegerList("path"), который вернёт List интегеров. В конфиге числа должны быть записаны в path либо так:
    Код:
    path: [1, 2, 3, 4]
    Либо так
    Код:
    path:
    - 1
    - 2
    - 3
     
  6. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Мучился с плагином, ничего путящего не вышло, сделал вот так
    Код:
    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, запускаю серв, плагин в списке зеленым цветом, но папка с конфигом всеравно не создается. Что я не так сделал?
     
    DavidShabaev нравится это.
  7. Bomber123

    Bomber123 Активный участник Пользователь

    Баллы:
    46
    чувак здесь всё просто вот тебе ахрененный код для конфига.
    Код:
    File config = new File(getDataFolder() + File.separator + "config.yml");
            if(!config.exists()){
                getLogger().info("Creating new ,file config...");
                getConfig().options().copyDefaults(true);
                saveDefaultConfig();
            }
     
  8. Cristalix

    Cristalix Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Superzeka
    1 строчка в коде пожалуйста обьясни что ты с помощью нее делаешь?
     
  9. HunterGaming

    HunterGaming Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    HunterGaming13
    Зачем там File.separator? Если можно сделать так File config = new File(getDataFolder(), "config.yml");
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Может хватит подымать умершую тему?
     

Поделиться этой страницей