[Gelöst] leaveVehicle() NullPointerException

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

[Gelöst] leaveVehicle() NullPointerException

Beitragvon iTzAnge » Do 5. Feb 2015, 10:51

Hey, ich wollte ein kleines Stackfeature in mein Plugin einbauen.
Es klappt auch alles, allerdings bekomme ich wenn die Entity die ich gestackt (und danach wieder geworfen) habe kein Spieler ist eine NPE, obwohl ingame alles so abläuft wie es aublaufen sollte.

Hier mein code:

Code: Alles auswählen
  1.    @EventHandler
  2.    public void onInteractPassenger(PlayerInteractEvent e) {
  3.       Player p = e.getPlayer();
  4.       Action a = e.getAction();
  5.       Location loc = p.getLocation();
  6.       
  7.       if(a.equals(Action.LEFT_CLICK_AIR)) {
  8.          if(p.getPassenger() instanceof Player) {
  9.             
  10.             Player pass = (Player) p.getPassenger();
  11.             
  12.             pass.leaveVehicle();
  13.             pass.setVelocity(this.giveVektor(loc).multiply(1.8));
  14.             p.playSound(p.getLocation(), Sound.GHAST_FIREBALL, 1.0F, 1.0F);
  15.             pass.playSound(p.getLocation(), Sound.GHAST_FIREBALL, 1.0F, 1.0F);
  16.             
  17.             
  18.          }
  19.          else if(!(p.getPassenger() instanceof Player)) {
  20.             Entity ent = p.getPassenger();
  21.             
  22.             ent.leaveVehicle();
  23.             ent.setVelocity(this.giveVektor(loc).multiply(1.8));
  24.             p.playSound(p.getLocation(), Sound.GHAST_FIREBALL, 1.0F, 1.0F);
  25.             
  26.          }
  27.          
  28.          
  29.       }
  30.       else {
  31.          return;
  32.       }
  33.       
  34.    }



Die NPE:
Code: Alles auswählen
  1. [10:46:44 ERROR]: Could not pass event PlayerInteractEvent to Hubbynator v5.0
  2. org.bukkit.event.EventException
  3.         at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
  4. va:294) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  5.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
  6. a:62) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  7.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
  8. ava:501) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  9.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
  10. ava:486) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  11.         at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInte
  12. ractEvent(CraftEventFactory.java:225) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-
  13. g07d4558-b3116jnks]
  14.         at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInte
  15. ractEvent(CraftEventFactory.java:195) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-
  16. g07d4558-b3116jnks]
  17.         at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java
  18. :993) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  19.         at net.minecraft.server.v1_7_R4.PacketPlayInArmAnimation.a(SourceFile:43
  20. ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  21.         at net.minecraft.server.v1_7_R4.PacketPlayInArmAnimation.handle(SourceFi
  22. le:9) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  23.         at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157
  24. ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  25.         at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craf
  26. tbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  27.         at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:6
  28. 67) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  29.         at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2
  30. 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  31.         at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5
  32. 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  33.         at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
  34. :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]
  35.         at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
  36. 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-24-g07d4558-b3116jnks]



Zeile 90:

Code: Alles auswählen
  1. ent.leaveVehicle();



Wäre richtig nett wenn einer von euch wüsste, was hier das Problem ist.
Der Code funktioniert ja wie gesagt, allerdings will ich jetzt nicht umbedigt bei jedem Wurf einer Entity eine NPE bekommen...

Danke :)


//EDIT: Hat sich erledigt, musste noch einmal casten, abfragen ob die der Passenger ein LivingEntity ist und verhindern das man stacken kann wenn man im Wasser steht, da es dort nicht möglich ist.

//CLOSE
Code: Alles auswählen
  1. public boolean isAwsome(Plugin plugin) {
  2. if(plugin.getCoder().getName().equalsIgnoreCase("Minesuchtiiii")) {
  3. return true;
  4. } else {
  5. return null;
  6. }
  7. }
Benutzeravatar
iTzAnge
 
Beiträge: 93
Registriert: Sa 13. Sep 2014, 11:21
Wohnort: Auf einer Insel namens Java

Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste

cron