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

Помогите Почему не работает плагин

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

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

    Boris3000 Новичок

    Баллы:
    6
    Имя в Minecraft:
    _Borsi2000_
    вот код
    Код:
    package ru.slywnow.bukkit.plug;
    
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.InputStream;
    import java.util.logging.Logger;
    
    
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.entity.Player;
    
    import ru.tehkode.permissions.PermissionUser;
    public class main extends JavaPlugin implements Listener {
        public static PermissionUser event;
        public static final Logger commandos  = Logger.getLogger("Minecraft");
        public static String commandiv;
        public FileConfiguration config;
      
    public void OnEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
        getLogger().info("Slywnow Info активировано!");
        config = getConfig();
        File fileConf = new File(getDataFolder(), "config.yml");
        if(!fileConf.exists()){
            InputStream resourceAsStream = main.class.getResourceAsStream("/ru/slywnow/bukkit/plugin/config.yml");
            getDataFolder().mkdirs();
            try {
                FileOutputStream fos = new FileOutputStream(fileConf);
                byte[] buff = new byte[65536];
                int n;
                while((n = resourceAsStream.read(buff)) > 0){
                    fos.write(buff, 0, n);
                    fos.flush();
                }
                fos.close();
                buff = null;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    public void OnDisenable() {
        getLogger().info("SLywnow Info крашнулся, взорвался... или просто выключился");
        saveConfig();
    }
    
        public boolean onCommand(Player player,CommandSender sender, Command command, String label, String args) {
          
    if(command.getName().equalsIgnoreCase("mg")){
        if(args !=null && args.length() <= 1) {
            if(args.length() >= 1) {
                File helpText = new File(getDataFolder(), config.getString("document"));
                StringBuilder fullText = new StringBuilder();
                try {
                    BufferedReader buffer = new BufferedReader(new FileReader(helpText));
                    String line;
                    while((line = buffer.readLine()) != null){
                        fullText.append(line).append("\n");
                    }
                    buffer.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                sender.sendMessage(fullText.toString());
                } }
                return true;
    }
    else if (command.getName().equalsIgnoreCase("f")){
         player.sendMessage("Все ок =)");
        config.set("document", "default");
        return true;
      }
    
            return false;
    }
    }
    
    
    ошибок нет, так же как и предупреждений(желтое обозночение) как запускаю и ввожу команды он пишет команду (пример ответа: /mg) и все, конфиг создал внутри и плагин yml тоже
    plugin.yml:
    name: Info_Slywnow
    main: ru.slywnow.bukkit.plug.main
    description: none
    version: 1.0
    commands:
    mg:
    description: mino-game help
    usage: /<command>
    f:
    description: admin command.
    usage: /<command>
    permissions:
    slywnow.admin:
    description: slywnow.admin
    default: false

    config.yml:
    document: default.txt
    ну и фото как я это запихнул
    [​IMG]
     
  2. Хостинг MineCraft
    <
  3. makssof

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

    Баллы:
    103
    Skype:
    makssofez
    1) onEnable()
    2) onDisable()
    3) Перемести config.yml на уровень выше (в src), и в onEnable() пропиши: getConfig().options().copyDefaults(true); вместо побайтового выноса.
     
    Последнее редактирование: 4 окт 2014
  4. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я конечно не уверен, но конфиг не должен быть в пакете с main классом.
     
  5. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Он просто использовал урок от DmitryMX.
     
  6. Автор темы
    Boris3000

    Boris3000 Новичок

    Баллы:
    6
    Имя в Minecraft:
    _Borsi2000_
    да верно от него от него, не знаете ли вы еще каких нибудь уроков(самому сложно)
     
  7. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я зная паскаль и делфи(Object pascal), научился делать простенькие плагины по туторам этого пацана https://www.youtube.com/channel/UCQGHtdgMm1ydirPXOcO6qAw, ну а дальше пошло поехало, смотрел на код других плагинов...
     
  8. makssof

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

    Баллы:
    103
    Skype:
    makssofez
    Да, из русских - TheDraggonFantasy самый известный, и нормальный.
    Из англоязычных мне нравятся: PogoStick29Dev , TheBCBroz (< Он ещё и ЛПщик (Немного)).
     
  9. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Обожаю PogoStick29dev, всегда полезные туторы, простой и понятный код. TheBCBroz свой код на пастбин не выкладывает, это минус, и у него код не всегда хорош.
     
  10. Автор темы
    Boris3000

    Boris3000 Новичок

    Баллы:
    6
    Имя в Minecraft:
    _Borsi2000_
    Класс, а TheDraggon и так смотрю, но того что мне надо пока нету=(
     
  11. BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Что тебе надо?
     
  12. Автор темы
    Boris3000

    Boris3000 Новичок

    Баллы:
    6
    Имя в Minecraft:
    _Borsi2000_
    getConfig().options().copyDefaults(true);
    Можно поподробнее как в код мой вписать (onEnable) уже поправил как и др
    Надо так???
    Код:
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
        getLogger().info("Slywnow Info активировано!");
        config = getConfig();
        File fileConf = new File(getDataFolder(), "config.yml");
        if(!fileConf.exists()){
            getDataFolder().mkdirs();
            try {
                getConfig().options().copyDefaults(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    
     

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