Войти или зарегистрироваться

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

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
ну и фото как я это запихнул
0_fc346_38a123b4_orig.png
 
1) onEnable()
2) onDisable()
3) Перемести config.yml на уровень выше (в src), и в onEnable() пропиши: getConfig().options().copyDefaults(true); вместо побайтового выноса.
 
Последнее редактирование:
Я конечно не уверен, но конфиг не должен быть в пакете с main классом.
 
да верно от него от него, не знаете ли вы еще каких нибудь уроков(самому сложно)
Я зная паскаль и делфи(Object pascal), научился делать простенькие плагины по туторам этого пацана https://www.youtube.com/channel/UCQGHtdgMm1ydirPXOcO6qAw, ну а дальше пошло поехало, смотрел на код других плагинов...
 
Да, из русских - TheDraggonFantasy самый известный, и нормальный.
Из англоязычных мне нравятся: PogoStick29Dev , TheBCBroz (< Он ещё и ЛПщик (Немного)).
Обожаю PogoStick29dev, всегда полезные туторы, простой и понятный код. TheBCBroz свой код на пастбин не выкладывает, это минус, и у него код не всегда хорош.
 
Класс, а TheDraggon и так смотрю, но того что мне надо пока нету=(
 
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();
        }
    }
}
 
Назад
Верх