Error when Joining

Discussion in 'Plugin Development' started by AbstractionPvP, Jan 4, 2015.

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

    AbstractionPvP

    Hi, everything is working when I join the server, but an error is being shown. I'm not sure why. Any help is appreciated

    The error is showing something wrong with line 44.

    Code:
    package DivinanceMC.Listeners;
    
    import net.minecraft.server.v1_7_R4.ChatSerializer;
    import net.minecraft.server.v1_7_R4.IChatBaseComponent;
    import net.minecraft.server.v1_7_R4.PlayerConnection;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.GameMode;
    import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
    import org.bukkit.entity.Damageable;
    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.PlayerLoginEvent;
    import org.bukkit.scoreboard.Scoreboard;
    import org.bukkit.scoreboard.Team;
    import org.spigotmc.ProtocolInjector;
    
    import DivinanceMC.mUHC.mUHC;
    
    public class Join implements Listener {
    
        Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard();
     
        Team team;
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
            Player player = event.getPlayer();
        
            team = scoreboard.getPlayerTeam(player);
        
            Damageable damageable = (Damageable) player;
        
            int players = Bukkit.getOnlinePlayers().length;
        
            PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
            if (!player.hasPlayedBefore());
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.WHITE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            
            if (player.hasPlayedBefore());
            if (team.equals(scoreboard.getTeam("0")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.BLACK + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("1")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_BLUE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("2")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_GREEN + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("3")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_AQUA + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("4")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("5")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_PURPLE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("6")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.GOLD + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("7")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.GRAY + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("8")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.DARK_GRAY + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("9")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.BLUE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("a")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.GREEN + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("b")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.AQUA + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("c")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.RED + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("d")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.LIGHT_PURPLE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("e")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.YELLOW + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
            else if(team.equals(scoreboard.getTeam("f")))
                event.setJoinMessage(mUHC.getStars(player) + ChatColor.WHITE + player.getName() + ChatColor.GRAY + " joined the server. " + ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + players + ChatColor.DARK_GRAY + "/" + ChatColor.GOLD + mUHC.MAX_PLAYERS + ChatColor.DARK_GRAY + "]");
    
                player.setHealth(damageable.getMaxHealth());
                player.setFoodLevel(20);
                player.setSaturation(8F);
                player.setLevel(0);
                player.setExp(0F);
                player.getInventory().clear();
                player.getInventory().setArmorContents(null);
                player.setGameMode(GameMode.ADVENTURE);
                player.setAllowFlight(true);
                player.hidePlayer(player);
            
                player.sendMessage(mUHC.Prefix + "Welcome to " + ChatColor.GOLD + "mUHC" + ChatColor.GRAY + ".");
            
                IChatBaseComponent top = ChatSerializer.a("{'extra': [{text: 'UHC   ', color: 'red'}],'color': 'gray', 'text': '   m'}");
                IChatBaseComponent bottom = ChatSerializer.a("{'extra': [{text: '5:00 PM (EST)   ', color: 'gray'}],'color': 'dark_gray', 'text': '   ยป '}");
                    connection.sendPacket(new ProtocolInjector.PacketTabHeader(top, bottom));
        }
    
    }
     
  2. Offline

    taylory5

    What's the error?
     
  3. Offline

    API_Tutorials

  4. Offline

    AbstractionPvP

    @API_Tutorials
    [13:23:40] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to mUHC v1.0
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[1.8.jar:git-Bukkit-1649]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[1.8.jar:git-Bukkit-1649]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [1.8.jar:git-Bukkit-1649]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.PlayerList.c(PlayerList.java:265) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.PlayerList.a(PlayerList.java:152) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.LoginListener.c(LoginListener.java:119) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.LoginListener.a(LoginListener.java:44) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:189) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [1.8.jar:git-Bukkit-1649]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [1.8.jar:git-Bukkit-1649]
    Caused by: java.lang.NullPointerException
    at DivinanceMC.Listeners.Join.onPlayerJoin(Join.java:44) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[1.8.jar:git-Bukkit-1649]
    ... 14 more
     
  5. Offline

    ZodiacTheories

  6. Offline

    AbstractionPvP

    @ZodiacTheories No scoreboard is supposed to show up. Only the join message is supposed to change according to what scoreboard teams they are on.
     
  7. Offline

    ZodiacTheories

    @AbstractionPvP

    Code:
    if (team.equals(scoreboard.getTeam("0")))
    this is where the error is. You put scoreboard.getTeam(), but there is no scoreboard (
    )

    This means that the scoreboard returns null (not 100% sure though)
     
  8. Offline

    AbstractionPvP

    @ZodiacTheories If I'm on any other team (1,2,3,4,etc.), the join message works. scoreboard.getTeam() is to get the team the player is on, not an actual scoreboard.
     
Thread Status:
Not open for further replies.

Share This Page