ServerPlugin Warum kommt eine Fehlermeldung

Dieses Thema im Forum "Programmierung" wurde erstellt von McWizzardDev, 11. Dezember 2015.

  1. McWizzardDev
    Offline

    McWizzardDev

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    58
    Guten Tag,

    ich arbeite gerade an einem BootsPlugin, mit Pets, es geht alles, doch es wird mir eine Fehlermeldung gesendet

    Code:

    Code (Text):
    1. package de.germandev.gadgets.features;
    2.  
    3. import org.bukkit.GameMode;
    4. import org.bukkit.Material;
    5. import org.bukkit.entity.Player;
    6. import org.bukkit.event.EventHandler;
    7. import org.bukkit.event.Listener;
    8. import org.bukkit.event.player.PlayerMoveEvent;
    9. import org.bukkit.event.player.PlayerToggleFlightEvent;
    10. import org.bukkit.util.Vector;
    11.  
    12. import de.germandev.gadgets.main.Main;
    13.  
    14. public class Boots implements Listener{
    15.  
    16.     private Main plugin;
    17.  
    18.     public Boots(Main main) {
    19.         plugin = main;
    20.         plugin.getServer().getPluginManager().registerEvents(this, plugin);
    21.     }
    22.    
    23.  
    24.     @EventHandler
    25.     public void onMove(PlayerMoveEvent e) {
    26.         Player p = e.getPlayer();
    27.         if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§aJumpBoots §8[§c1000§8]")) {
    28.             if(p.getGameMode() == GameMode.SURVIVAL) {
    29.                 if(p.getLocation().add(0, -1, 0).getBlock().getType() != Material.AIR) {
    30.                     p.setAllowFlight(true);
    31.                 }
    32.             }
    33.         }
    34.         if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§7FlyBoots §8[§c3500§8]")) {
    35.             if(p.getGameMode() == GameMode.SURVIVAL) {
    36.                 if(p.getLocation().add(0, -1, 0).getBlock().getType() != Material.AIR) {
    37.                     p.setAllowFlight(true);
    38.                 }
    39.             }
    40.         }
    41.     }
    42.     @EventHandler
    43.     public void onFly(PlayerToggleFlightEvent e) {
    44.         Player p = e.getPlayer();
    45.         if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§aJumpBoots §8[§c1000§8]")) {
    46.         if(p.getGameMode() == GameMode.SURVIVAL) {
    47.             e.setCancelled(true);
    48.             p.setAllowFlight(false);
    49.             p.setFlying(false);
    50.             p.setVelocity(p.getLocation().getDirection().multiply(2).add(new Vector(0,2,0)));
    51.         }
    52.         }
    53.         if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§7FlyBoots §8[§c3500§8]")) {
    54.         if(p.getGameMode() == GameMode.SURVIVAL) {
    55.             e.setCancelled(true);
    56.             p.setAllowFlight(false);
    57.             p.setFlying(false);
    58.             p.setVelocity(p.getLocation().getDirection().multiply(4).add(new Vector(0,5,0)));
    59.         }
    60.         }
    61.     }
    62.    
    63.  
    64. }
    65.  
    Fehlermeldung:

    Code (Text):
    1. [13:58:24 ERROR]: Could not pass event PlayerMoveEvent to Gadgets v1.0
    2. org.bukkit.event.EventException
    3.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot_server.jar:git-Spigot-5f38d38-12698ea]
    4.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot_server.jar:git-Spigot-5f38d38-12698ea]
    5.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    6.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    7.         at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:270) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    8.         at net.minecraft.server.v1_8_R3.PacketPlayInFlying.a(SourceFile:126) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    9.         at net.minecraft.server.v1_8_R3.PacketPlayInFlying$PacketPlayInPositionLook.a(SourceFile:18) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    10.         at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    11.         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_25]
    12.         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_25]
    13.         at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    14.         at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    15.         at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    16.         at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    17.         at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot_server.jar:git-Spigot-5f38d38-12698ea]
    18.         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
    19. Caused by: java.lang.NullPointerException
    20.         at de.germandev.gadgets.features.Boots.onMove(Boots.java:27) ~[?:?]
    21.         at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) ~[?:?]
    22.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
    23.         at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
    24.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot_server.jar:git-Spigot-5f38d38-12698ea]
    25.         ... 15 more
    26.  
    Ich hoffe auf schnelle Antwort

    GermanDev
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Code (Text):
    1. Caused by: java.lang.NullPointerException
    2.         at de.germandev.gadgets.features.Boots.onMove(Boots.java:27) ~[?:?]
    Kann ja wohl nicht all zu schwer sein das zu interpretieren, selbst als Anfänger.
     
    #2
  3. McWizzardDev
    Offline

    McWizzardDev

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    58
    Was muss ich machen, damit dies weg ist?
    Ich kenne mich mit Fehlermeldungen nicht aus xD, außerdem bin ich kein Anfänger
     
    #3
  4. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Dazu sag ich mal einfach nichts.
    Dafür sorgen das der Wert in Zeile 27 nicht mehr null ist.
     
    #4
  5. McWizzardDev
    Offline

    McWizzardDev

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    58
    Also muss ich abfragen ob
    if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§aJumpBoots §8[§c1000§8]")){

    gleich null ist?, aber ich kann ja nicht
    if(p.getEquipment().getBoots().getItemMeta().getDisplayName().equalsIgnoreCase("§aJumpBoots §8[§c1000§8]") == null){


    machen, sry das ich so dumm rüberkomme, aber ich hatte so einen Fehler noch nie xD
     
    #5
  6. Verschraubt
    Offline

    Verschraubt

    Das Prinzip bei der Fehlerbehebung ist meistens relativ ähnlich.

    Wenn du kein Anfänger wärst, würdest du so einen Beitrag nicht erstellen. Außerdem kommentierst du nichts und formatierst den Code nicht richtig.
     
    #6
  7. Das ist der Grund warum es nervt, dass Idioten sich Programmierer nennen (noch lustiger: denken sie hätten Ahnung - denken hier aber viele). Die Fähigkeit die Leistung anderer Personen zu kopieren ist noch lange keine Eigenleistung. Einfache englische Sprachkünste und selbstständiges denken sind her notwendig. - Das Leben ist eben einfacher, wenn man eine Syntax verstehen kann, statt diese einfach nur zu schreiben (Vergleichen wir das mit einem Engländer, der einfach deutsche Worte sagt: "Sauerkraut Berlin nachtclub essen Komiker".).

    Der Wert "null", die Abwesenheit eines Objektes, lässt keine Methodenaufrufe zu. Oder noch einfacher: Null + Methode => Laufzeit Fehler.

    Generelle Faustregel:
    Gehirn + Intelligenz => Produkt
    Produkt - Gehirn !=> Intelligenz
    Oder auch einfacher: Selber denken macht schlau.
     
    #7
  8. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    In Zeile 27 können 2 Sachen null sein.
    Entweder hat der Spieler keine Schuhe an oder die Schuhe haben keine itemmeta.
    Überprüf das einfach...
     
    #8
    jensIO und Verschraubt gefällt das.
  9. McWizzardDev
    Offline

    McWizzardDev

    Registriert seit:
    7. Oktober 2015
    Beiträge:
    58
    Ich bin dumm, es ging dauernd nicht, weil ich das falsche Plugin exportiert habe xD
     
    #9
  10. Verschraubt
    Offline

    Verschraubt



    @McWizzardDev , @GPSforLEGENDS hat doch schon alles gesagt. Prüfe einfach ob der Spieler Schuhe an hat. Wenn dies der Fall ist überprüfst du noch, ob die ItemMeta der Schuhe vorhanden ist.
     
    #10