Solved Quit & Kick Error

Discussion in 'Plugin Help/Development/Requests' started by malikdbuseck, Jun 3, 2015.

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

    malikdbuseck

    So I'm writing a plugin right now that on the plugins onEnable it kicks all the online players. This is because when the plugin reloads I need it to reset the players scoreboard. However since it is in the onEnable it does it when the plugin is initialized so my PlayerQuitEvent comes with an error. Also in my player quit I need it to save the players info to a config file. Linked below. So I need help trying to combat this error or having a better way for when reload is run for it to kick players.

    Code:
    Could not pass event PlayerQuitEvent to MineoTest v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.PlayerList.disconnect(PlayerList.java:313) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:832) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.PlayerConnection.disconnect(PlayerConnection.java:174) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer.kickPlayer(CraftPlayer.java:221) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at me.malikdbuseck.Game.onEnable(Game.java:53) [League.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(CraftServer.java:746) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.Bukkit.reload(Bukkit.java:534) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.NullPointerException
        at me.malikdbuseck.utils.onJoin.leaveEvent(onJoin.java:53) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[Bukkit.jar:git-Spigot-d0d1d87-bc03b6f]
        ... 24 more
    [11:55:29] [Server thread/INFO]: Malikdbuseck left the game.
    [11:55:29] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    OnEnable Kick code:
    Code:
            for (Player player : Bukkit.getOnlinePlayers()) {
                String League = ChatColor.DARK_AQUA + "-=" + ChatColor.GOLD + "League of Crafters" + ChatColor.DARK_AQUA + "=-";
                player.kickPlayer(League + ChatColor.RED + "\nSome plugins require the players to leave the server \nPlease Join back in 1-2 Minutes.");
    
            }
    
    Player Quit Event:
    Code:
        @EventHandler
        public void leaveEvent(PlayerQuitEvent event){
           
            Player player = event.getPlayer();
            String name = player.getName();
           
            plugin.UsersConfig.set("Player." + name + ".EP", moneyScore.EP.getScore());
            plugin.UsersConfig.set("Player." + name + ".MP", moneyScore.MP.getScore());
            plugin.UsersConfig.set("Player." + name + ".Level", player.getLevel());
            plugin.UsersConfig.saveConfig();
        }
        
     
  2. Offline

    mine-care

    malikdbuseck likes this.
  3. Offline

    Zombie_Striker

    @malikdbuseck
    Line 53 is null, add a check for line 53 to test if it's null.
     
    malikdbuseck likes this.
  4. Offline

    malikdbuseck

    So what I did to fix this is in the Main Class is added a public boolean isreloaded; then at the start of my onEnable is set it true then after the kick I set it to false. Then in my playerquitevent i have if(Game.isrelaoded == false){ run stuff}. Thanks for the help anyways. Next time Ill be sure to try more options.
     
    Last edited: Jun 3, 2015
  5. Offline

    mine-care

    @malikdbuseck btw dont compare booleans with == no need. Use if(!boolean) for false and if(boolean) for true.
     
Thread Status:
Not open for further replies.

Share This Page