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

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

Discussion in 'Разработка плагинов для новичков' started by Boris3000, Oct 4, 2014.

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

    Boris3000 Новичок

    Trophy Points:
    6
    Имя в Minecraft:
    _Borsi2000_
    вот код
    Code:
    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 Старожил Девелопер Пользователь

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

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

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

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

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

    Boris3000 Новичок

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

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

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

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

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

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

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

    Boris3000 Новичок

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

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

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

    Boris3000 Новичок

    Trophy Points:
    6
    Имя в Minecraft:
    _Borsi2000_
    getConfig().options().copyDefaults(true);
    Можно поподробнее как в код мой вписать (onEnable) уже поправил как и др
    Надо так???
    Code:
    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();
            }
        }
    }
    
    
     

Share This Page