Solved Protocolib Problems

Discussion in 'Plugin Development' started by MrFrozen, Feb 14, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    MrFrozen

    When I try to startup the plugin Ill see:
    Code:
    [23:39:09] [Server thread/ERROR]: Could not load 'plugins\MRF-WeBility.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/comphenix/protocol/events/PacketListener
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:291) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(CraftServer.java:744) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.Bukkit.reload(Bukkit.java:534) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [s.jar:git-Spigot-d0d1d87-15e81cf]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
    Caused by: java.lang.NoClassDefFoundError: com/comphenix/protocol/events/PacketListener
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_25]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_25]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        ... 14 more
    Caused by: java.lang.ClassNotFoundException: com.comphenix.protocol.events.PacketListener
        at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
        at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_25]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_25]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_25]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[s.jar:git-Spigot-d0d1d87-15e81cf]
        ... 14 more
    And this is my code:
    Code:
    package org.mrfrozen.webility;
    
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import com.comphenix.protocol.PacketType;
    import com.comphenix.protocol.ProtocolLibrary;
    import com.comphenix.protocol.ProtocolManager;
    import com.comphenix.protocol.events.ListenerPriority;
    import com.comphenix.protocol.events.PacketAdapter;
    import com.comphenix.protocol.events.PacketEvent;
    import com.comphenix.protocol.utility.MinecraftReflection;
    
    public class Main extends JavaPlugin implements Listener {
       
        private ProtocolManager protocolManager;
       
        public String prefix = ChatColor.LIGHT_PURPLE + "" + ChatColor.RED + ": " + ChatColor.DARK_GRAY;
       
        public void onEnable () {
            protocolManager = ProtocolLibrary.getProtocolManager();
           
            protocolManager.addPacketListener(new PacketAdapter(this,
                    ListenerPriority.NORMAL,
                    PacketType.Play.Server.SET_SLOT, PacketType.Play.Server.WINDOW_ITEMS) {
                @Override
                public void onPacketSending(PacketEvent event) {
                    if (event.getPacketType() == PacketType.Play.Server.SET_SLOT) {
                        Functions.addGlow(new ItemStack[] { event.getPacket().getItemModifier().read(0) });
                    } else {
                        Functions.addGlow(event.getPacket().getItemArrayModifier().read(0));
                    }
                }
            });
           
            /*ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(
                    this, ConnectionSide.SERVER_SIDE, ListenerPriority.HIGH,
                    PacketType.Play.Server.SET_SLOT, PacketType.Play.Server.WINDOW_ITEMS) {
                @Override
                public void onPacketSending(PacketEvent event) {
                    if (event.getPacketID() == PacketType.Play.Server.SET_SLOT) {
                        Functions.addGlow(new ItemStack[] { event.getPacket().getItemModifier().read(0) });
                    } else {
                        Functions.addGlow(event.getPacket().getItemArrayModifier().read(0));
                    }
                }
            });*/
            /*Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
                @Override
                public void run() {
                   
                }
            }, 0, Functions.Time("1m"));*/
           
        }
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if(cmd.getName().equalsIgnoreCase("webility")) {
                if (sender instanceof Player) {
                    Player player = (Player) sender;
                   
                    // Get a CraftItemStack
                    ItemStack stack = new ItemStack(Material.IRON_AXE, 1);
                    stack = MinecraftReflection.getBukkitItemStack(stack);
                   
                    // We'll co-op Silk Touch 32 (as it doesn't make much sense) to mark this item as glowing
                    stack.addUnsafeEnchantment(Enchantment.SILK_TOUCH, 32);
                    player.getInventory().addItem(stack);
                }
                return true;
            }
            return false;
        }
    }
    What is wrong, I updated the code that is commeted about Protocol but when I startup I get thta error. please help me out
     
  2. Offline

    Konato_K

  3. Offline

    MrFrozen

  4. Offline

    aaomidi

    Have you added it as a dependency in plugin.yml? Your plugin is probably loading before ProtocolLib
     
  5. Offline

    MrFrozen

    O oops forgot that, sounds logic but I started making plugins last week after being stop for 1 yaer so need to get used to it. Thanks!

    Problem Solved!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
Thread Status:
Not open for further replies.

Share This Page