Plugin Help Errors on player move events

Discussion in 'Plugin Help/Development/Requests' started by ComeFme, Aug 16, 2015.

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

    ComeFme

    Hello, I wrote a moving particle effect plugin, the particles are working well in game( they are apearing) but I keep getting errors on my console.

    Here are the codes:

    Code:
    @EventHandler
        public void onVipMove(PlayerMoveEvent event){
            if (event.getPlayer().hasPermission("rpg.dev")){
                ParticleEffect.SPELL_INSTANT.display(0, 0, 0, 1, 2, event.getPlayer().getLocation().add(0, 0, 0), 20);
            }else if (event.getPlayer().hasPermission("rpg.vip")){
                ParticleEffect.FLAME.display(0, 0, 0, 0, 7, event.getPlayer().getLocation().add(0, 0, 1), 20);
                ParticleEffect.FLAME.display(0, 0, 0, 0, 7, event.getPlayer().getLocation().add(1, 0, 0), 20);
            }
            if (event.getPlayer().getEquipment().getBoots().getItemMeta().getDisplayName().equals("Test")){
                ParticleEffect.PORTAL.display(0, 0, 0, 0, 10, event.getPlayer().getLocation().add(0, 0, 0), 20);
            }
           
        }
    and the errors I am getting in the console are the following

    16.08 21:26:33 [Server] INFO Caused by: java.lang.NullPointerException
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInLook.handle(SourceFile:98) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInFlying.a(SourceFile:137) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:234) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit-beta-3020.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16.08 21:26:33 [Server] INFO org.bukkit.event.EventException
    16.08 21:26:33 [Server] ERROR Could not pass event PlayerMoveEvent to RpgEvents v1.0
    16.08 21:26:33 [Multicraft] Skipped 38 lines due to rate limit (30/s)
     
  2. Offline

    Boomer

    Code:
    if (event.getPlayer().getEquipment().getBoots().getItemMeta().getDisplayName().equals("Test")){
    
    This code is triggered for every player every single movement all the time, regardless of the player. And despite the method title, regardless of permissions. Since your other two tests are carried out first, then that if/else block finishes, and a new if block starts all over again.

    This long test assumes that there IS a displayname to check (called test)
    which assumes that the player is wearing boots so that it can get the meta from it...
    Its likely that a bootless player, or a player with boots that aren't named 'test' , turned his head or moved on the server...
     
Thread Status:
Not open for further replies.

Share This Page