Problem connecting to bukkit listener

Discussion in 'Plugin Development' started by 99storm2, Apr 16, 2014.

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

    99storm2

    I am new to coding and i was following a tutorial to make a scoreboard to count my steps i take. I put it on my server and i got an error saying "java.lang.ClassCastException: me.storm2.info.main cannot be cast to org.bukkit.event.Listener" heres the full error and my main class. I am new to coding so im not very good at debugging and trying to find the problem so i thought anyone that could help find this problem would help me gain more experience with it.



    Code:
    [18:26:19 ERROR]: Error occurred while enabling Scoreboard v1.0 (Is it up to date?)
    java.lang.ClassCastException: me.storm2.info.main cannot be cast to org.bukkit.event.Listener
        at me.storm2.info.main.onEnable(main.java:27) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugin(CraftServer.java:441) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.enablePlugins(CraftServer.java:375) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.reload(CraftServer.java:786) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.Bukkit.reload(Bukkit.java:288) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:696) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchServerCommand(CraftServer.java:683) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.aB(DedicatedServer.java:296) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:261) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-21-g1ab090e-b3050jnks]
    
    Main file
    Code:
    package me.storm2.info;
     
    import java.util.HashMap;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.OfflinePlayer;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scoreboard.DisplaySlot;
    import org.bukkit.scoreboard.Objective;
    import org.bukkit.scoreboard.Score;
    import org.bukkit.scoreboard.Scoreboard;
     
    public class main extends JavaPlugin
    {
        private Scoreboard board;
        private Objective o;
        private Score s;
        private HashMap<OfflinePlayer, Score> scores = new HashMap<OfflinePlayer, Score>();
        @Override
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents((Listener) this, this);
            board = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
            o = board.registerNewObjective("steps", "dummy");
            o.setDisplayName("Steps");
            o.setDisplaySlot(DisplaySlot.SIDEBAR);
            this.getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "Scoreboard has been enabled!");
        }
        @Override
        public void onDisable(){
            this.getServer().getConsoleSender().sendMessage(ChatColor.RED + "Scoreboard has been disabled");
        }
     
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            p.setScoreboard(board);
            if (scores.get(p) == null) scores.put(p, o.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.GREEN + "Number: ")));
        }
        @EventHandler
        public void onPlayerMove(PlayerMoveEvent e) {
            if (e.getFrom().getBlockX() == e.getTo().getBlockX() && e.getFrom().getBlockY() == e.getTo().getBlockY() && e.getFrom().getBlockZ() == e.getTo().getBlockZ()) return;
            s.setScore(s.getScore() + 1);
            scores.get(e.getPlayer()).setScore(scores.get(e.getPlayer()).getScore() + 1);
        }
     
    }
    
     
  2. Offline

    Azubuso

    99storm2
    Remove the Listener cast at line 27 and have your class implement Listener:
    Code:java
    1. public class main extends JavaPlugin implements Listener
     
  3. Offline

    99storm2

  4. Offline

    Azubuso

Thread Status:
Not open for further replies.

Share This Page