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

Помогите Ошибка при запуске плагина. В чем может быть проблема?

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

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

    MasterCapeXD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    MasterCapeXD
    Проблема в том, что я проверяю плагин по ошибке, но вроде ошибок не вижу.Версия ядра сервера и API в проекте одна и та же
    Вот
    [18:46:18] [Server thread/ERROR]: Error occurred while enabling cLobby v1.0 (Is it up to date?)
    org.bukkit.plugin.IllegalPluginAccessException: Unable to find handler list for event org.bukkit.event.block.BlockEvent. Static getHandlerList method required!
    at org.bukkit.plugin.SimplePluginManager.getRegistrationClass(SimplePluginManager.java:586) ~[craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.plugin.SimplePluginManager.getRegistrationClass(SimplePluginManager.java:584) ~[craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:528) ~[craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at master.cape.clobby.Main.onEnable(Main.java:26) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:561) [craftbukkit.jar:git-PaperSpigot-0d986bb-18fbb24]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]

    Может ошибка в главном классе?

    Вот, выше onEnable() и onDisable() там явно ошибки нету:
    Код:
        
    public boolean onCommand(CommandSender sender, Command cmd, String label, String [] args)
        {
           
            Player p = (Player) sender;
           
            if(sender instanceof Player)
            {
                if(cmd.getName().equalsIgnoreCase("setlobby"))
                {
                    if(p.hasPermission("clobby.setlobby"))
                    {
                       
                        LocationToConfig(p.getLocation());
                       
                        String set = getConfig().getString("options.LobbyLocation.lobbySet");
                        set = set.replace("&", "\u00a7");
                        p.sendMessage(set);
                       
                    }
                }
            }
           
            return true;
           
        }
    
        public void LocationToConfig(Location loc)
        {
            getConfig().set("options.LobbyLocation.world", loc.getWorld().getName());
            getConfig().set("options.LobbyLocation.x", loc.getX());
            getConfig().set("options.LobbyLocation.y", loc.getY());
            getConfig().set("options.LobbyLocation.z", loc.getZ());
        }
        public Location ConfigToLocation()
        {
            Location loc = new Location(Bukkit.getWorld(getConfig().getString("options.LobbyLocation.world")),
                    getConfig().getDouble("options.LobbyLocation.x"),
                    getConfig().getDouble("options.LobbyLocation.y"),
                    getConfig().getDouble("options.LobbyLocation.z"));
            return loc;
        }
       
    }
    
     
    Последнее редактирование: 24 мар 2017
  2. Хостинг MineCraft
    <
  3. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    at master.cape.clobby.Main.onEnable(Main.java:26) ~[?:?]

    в студию ↑
     
  4. Sonicxd2

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

    Баллы:
    76
    "registerEvents"
     
  5. Автор темы
    MasterCapeXD

    MasterCapeXD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    MasterCapeXD
    Вот содержимое onEnable() и где здесь чет не то?
    Код:
        
    public void onEnable()
        {
            getLogger().info("§aEnabled! ");
           
            //Events
            getServer().getPluginManager().registerEvents(new Blocks(this), this);
            getServer().getPluginManager().registerEvents(new Enchant(this), this);
            getServer().getPluginManager().registerEvents(new Entity(this), this);
           
            //Join
            getServer().getPluginManager().registerEvents(new Join(this), this);
            //Leave
            getServer().getPluginManager().registerEvents(new Leave(this), this);
           
            //Files
            File config = new File(getDataFolder() + File.separator + "config.yml");
            if(!config.exists())
            {
                getConfig().options().copyDefaults(true);
                saveDefaultConfig();
            }
        }
    [DOUBLEPOST=1490380009,1490379887][/DOUBLEPOST]
    Эта строка в классе:
    Код:
    getServer().getPluginManager().registerEvents(new Blocks(this), this);
    Его содержимое:
    Код:
    public class Blocks implements Listener
    {
        private Main plugin;
       
        public Blocks(Main plugin)
        {
            this.plugin = plugin;
        }
       
        @EventHandler
        public void on(BlockBreakEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.break");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockPlaceEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.place");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockBurnEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.burn");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockExplodeEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.explode");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockIgniteEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.ignite");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(LeavesDecayEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.leavesDecay");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockDamageEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.damage");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockDispenseEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.dispense");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockFadeEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.fade");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockFormEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.from");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockGrowEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.grow");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockPhysicsEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.physics");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockPistonEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.pistons");
            e.setCancelled(b);
        }
        @EventHandler
        public void on(BlockSpreadEvent e)
        {
            boolean b = plugin.getConfig().getBoolean("options.Blocks.spread");
            e.setCancelled(b);
        }
    }
     
  6. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    В теории он ругается, что в каком то из ивентов нет метода getHandlerList().
    В каком именно я не знаю, так что метод тыка.
     
  7. !Egorpom

    !Egorpom Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    Egorpom
  8. Автор темы
    MasterCapeXD

    MasterCapeXD Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    MasterCapeXD
    Удалил пару ивентов, ивент с поршнями разделил на два, по совету !Egorpom. Спасибо всем за помощь. Если не будет еще ошибок, закрою тему
     

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