Development Assistance Help with PlayerInteractEvent

Discussion in 'Plugin Help/Development/Requests' started by DonPaolo, Apr 23, 2015.

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

    DonPaolo

    I have an elevator plugin that allows players to create an elevator and also to use it. When I click the sign used for teleporting it teleports me but I get this in the console. Thanks for helping ;D

    Console:
    Code:
    [15:44:51 ERROR]: Could not pass event PlayerInteractEvent to Bloques v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:305) ~[spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:502) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:487) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.craftbukkit.v1_8_R2.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:226) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.craftbukkit.v1_8_R2.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:193) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at org.bukkit.craftbukkit.v1_8_R2.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:189) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.PlayerConnection.a(PlayerConnection.java
    :1189) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.PacketPlayInArmAnimation.a(PacketPlayInA
    rmAnimation.java:18) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.PacketPlayInArmAnimation.a(PacketPlayInA
    rmAnimation.java:1) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.PlayerConnectionUtils$1.run(SourceFile:1
    3) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.7.0_71]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_71]
            at net.minecraft.server.v1_8_R2.SystemUtils.a(SourceFile:60) [spigot.jar
    :git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:7
    10) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:3
    68) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:6
    51) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java
    :554) [spigot.jar:git-Spigot-2f787bd-a5b7881]
            at java.lang.Thread.run(Unknown Source) [?:1.7.0_71]
    Caused by: java.lang.NullPointerException
            at me.paolo.Bloques.onPlayerInteract(Bloques.java:165) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
    _71]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
    _71]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_71]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_71]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:301) ~[spigot.jar:git-Spigot-2f787bd-a5b7881]
            ... 18 more
    >
    PlayerInteractEvent:
    Code:
          @EventHandler
          public void onPlayerInteract(PlayerInteractEvent event){
              if (event.getClickedBlock().getType() != null && event.getClickedBlock().getType() == Material.WALL_SIGN || event.getClickedBlock().getType() == Material.SIGN || event.getClickedBlock().getType() == Material.SIGN_POST){
                  Sign s = (Sign) event.getClickedBlock().getState();
                  if(event.getAction() == Action.RIGHT_CLICK_BLOCK){
                  if(s.getLine(0).equalsIgnoreCase(ChatColor.RED + "§l [Ascensor]")){
                      if(s.getLine(1).equalsIgnoreCase(ChatColor.RED + "§l Subir")){
                          Player p = event.getPlayer();
                            Block loc = p.getLocation().getBlock().getRelative(BlockFace.DOWN);
                            if(loc.getType() == Material.GLASS){
                                Location loc1 = p.getLocation().add(0, 2, 0);
                                Location loc2 = p.getLocation().add(0, 3, 0);
                                Location loc3 = p.getLocation().add(0, 4, 0);
                                Location loc4 = p.getLocation().add(0, 5, 0);
                                Location loc5 = p.getLocation().add(0, 6, 0);
                                Location loc6 = p.getLocation().add(0, 7, 0);
                                Location loc7 = p.getLocation().add(0, 8, 0);
                                Location loc8 = p.getLocation().add(0, 9, 0);
                                Location loc9 = p.getLocation().add(0, 10, 0);
                                Location loc10 = p.getLocation().add(0, 11, 0);
                                if(loc1.getBlock().getType() == Material.GLASS){
                                    p.teleport(loc1.add(0, 1, 0));
                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                }else{
                                    if(loc2.getBlock().getType() == Material.GLASS){
                                        p.teleport(loc2.add(0, 1, 0));
                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                    }else{
                                        if(loc3.getBlock().getType() == Material.GLASS){
                                            p.teleport(loc3.add(0, 1, 0));
                                            p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                        }else{
                                            if(loc4.getBlock().getType() == Material.GLASS){
                                                p.teleport(loc4.add(0, 1, 0));
                                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                            }else{
                                                if(loc5.getBlock().getType() == Material.GLASS){
                                                    p.teleport(loc5.add(0, 1, 0));
                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                }else{
                                                    if(loc6.getBlock().getType() == Material.GLASS){
                                                        p.teleport(loc6.add(0, 1, 0));
                                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                    }else{
                                                        if(loc7.getBlock().getType() == Material.GLASS){
                                                            p.teleport(loc7.add(0, 1, 0));
                                                            p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                        }else{
                                                            if(loc8.getBlock().getType() == Material.GLASS){
                                                                p.teleport(loc8.add(0, 1, 0));
                                                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                            }else{
                                                                if(loc9.getBlock().getType() == Material.GLASS){
                                                                    p.teleport(loc9.add(0, 1, 0));
                                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                                }else{
                                                                    if(loc10.getBlock().getType() == Material.GLASS){
                                                                        p.teleport(loc10.add(0, 1, 0));
                                                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has subido un piso");
                                                                    }else{
                                                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " No hay ningun bloque de cristal a 10 bloques o menos de tí");
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }else{
                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Necesitas estar en un bloque de cristal para usar el ascensor");
                            }
                      }
                                  if(s.getLine(1).equalsIgnoreCase(ChatColor.RED + "§l Bajar")){
                                      Player p = event.getPlayer();
                                        Block loc = p.getLocation().getBlock().getRelative(BlockFace.DOWN);
                                        if(loc.getType() == Material.GLASS){
                                            Location loc1 = p.getLocation().add(0, -2, 0);
                                            Location loc2 = p.getLocation().add(0, -3, 0);
                                            Location loc3 = p.getLocation().add(0, -4, 0);
                                            Location loc4 = p.getLocation().add(0, -5, 0);
                                            Location loc5 = p.getLocation().add(0, -6, 0);
                                            Location loc6 = p.getLocation().add(0, -7, 0);
                                            Location loc7 = p.getLocation().add(0, -8, 0);
                                            Location loc8 = p.getLocation().add(0, -9, 0);
                                            Location loc9 = p.getLocation().add(0, -10, 0);
                                            Location loc10 = p.getLocation().add(0, -11, 0);
                                            if(loc1.getBlock().getType() == Material.GLASS){
                                                p.teleport(loc1.add(0, 1, 0));
                                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                            }else{
                                                if(loc2.getBlock().getType() == Material.GLASS){
                                                    p.teleport(loc2.add(0, 1, 0));
                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                }else{
                                                    if(loc3.getBlock().getType() == Material.GLASS){
                                                        p.teleport(loc3.add(0, 1, 0));
                                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                    }else{
                                                        if(loc4.getBlock().getType() == Material.GLASS){
                                                            p.teleport(loc4.add(0, 1, 0));
                                                            p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                        }else{
                                                            if(loc5.getBlock().getType() == Material.GLASS){
                                                                p.teleport(loc5.add(0, 1, 0));
                                                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                            }else{
                                                                if(loc6.getBlock().getType() == Material.GLASS){
                                                                    p.teleport(loc6.add(0, 1, 0));
                                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                                }else{
                                                                    if(loc7.getBlock().getType() == Material.GLASS){
                                                                        p.teleport(loc7.add(0, 1, 0));
                                                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                                    }else{
                                                                        if(loc8.getBlock().getType() == Material.GLASS){
                                                                            p.teleport(loc8.add(0, 1, 0));
                                                                            p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                                        }else{
                                                                            if(loc9.getBlock().getType() == Material.GLASS){
                                                                                p.teleport(loc9.add(0, 1, 0));
                                                                                p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                                            }else{
                                                                                if(loc10.getBlock().getType() == Material.GLASS){
                                                                                    p.teleport(loc10.add(0, 1, 0));
                                                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Has bajado un piso");
                                                                                }else{
                                                                                    p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " No hay ningun bloque de cristal a 10 bloques o menos de tí");
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                              }else{
                                        p.sendMessage(ChatColor.GRAY + "[" + ChatColor.WHITE + "Acensor" + ChatColor.GRAY + "]" + ChatColor.DARK_RED + " Necesitas estar en un bloque de cristal para usar el ascensor");
                              }
                                
                        }
                  }
                      }
                  }
              }
     
  2. Offline

    timtower Administrator Administrator Moderator

    Moved to Bukkit alternatives
     
  3. Offline

    DonPaolo

  4. Offline

    DonPaolo

Thread Status:
Not open for further replies.

Share This Page