[UnSolved]Plugin event error

Discussion in 'Plugin Development' started by spookyDHD, Jan 3, 2014.

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

    spookyDHD

    I have a error in my plugin on line 27.
    If i delete the message than it is working.
    How can i fix it so it works?



    Console:


    Code:
    [18:49:32 ERROR]: Could not pass event VehicleBlockCollisionEvent to BoatRace v1
    .0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.Entity.move(Entity.java:652) [craftbukki
    t.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.e(EntityLiving.java:1138) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.e(EntityHorse.java:947) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.e(EntityLiving.java:1466) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityInsentient.e(EntityInsentient.java
    :306) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityAgeable.e(EntityAgeable.java:87) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityAnimal.e(SourceFile:37) [craftbukk
    it.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.e(EntityHorse.java:720) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.h(EntityLiving.java:1299) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityInsentient.h(EntityInsentient.java
    :150) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.h(EntityHorse.java:748) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.entityJoinedWorld(World.java:1338)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.playerJoinedWorld(World.java:1319)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.tickEntities(World.java:1207) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.WorldServer.tickEntities(WorldServer.jav
    a:480) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    37) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.NullPointerException
            at me.Ricardo.BoatRace.BoatBreak.VehicleDestroy(BoatBreak.java:27) ~[?:?
    ]
            at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_45]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            ... 23 more
    >





    The class:

    Code:java
    1. package me.Ricardo.BoatRace;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.GameMode;
    5. import org.bukkit.Material;
    6. import org.bukkit.block.Block;
    7. import org.bukkit.entity.Boat;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.event.EventHandler;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
    12. import org.bukkit.event.vehicle.VehicleDestroyEvent;
    13.  
    14. /**
    15. * Created by Ricardo on 1/2/14.
    16. */
    17. public class BoatBreak implements Listener {
    18.  
    19.  
    20. @EventHandler
    21. public void VehicleDestroy(VehicleBlockCollisionEvent e){
    22. if (e.getVehicle() instanceof Boat);
    23. Player p = null;
    24. Block b = null;
    25. Boat bo = null;
    26. if (e.getVehicle().getLocation().getBlock().getType() == Material.QUARTZ_BLOCK);
    27. p.sendMessage(ChatColor.RED + "The class is working!");
    28.  
    29. return;
    30.  
    31.  
     
  2. Offline

    CubieX

    You are setting "Player p = null" in line 23. but you are using "p" in line 27.
    You have to properly initialize the Player object before using it. (or use your logger to send your message to console instead)
     
  3. Offline

    spookyDHD

    i can't use Player p = e.getplayer
    So how is need to do it now?
     
  4. Offline

    Nateb1121

    That doesn't mean you can just set it to null and hope it works, make sure you read the JavaDocs on what ever event you're using.

    Try:
    Player p = (Player)e.getVehicle().getPassenger();

    That will give the player who's in/on the vehicle.
     
  5. Offline

    spookyDHD

    Now i'm getting this error.

    Error console:

    Code:
    [22:02:11 ERROR]: Could not pass event VehicleBlockCollisionEvent to BoatRace v1
    .0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.Entity.move(Entity.java:652) [craftbukki
    t.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.e(EntityLiving.java:1138) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.e(EntityHorse.java:947) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.e(EntityLiving.java:1466) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityInsentient.e(EntityInsentient.java
    :306) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityAgeable.e(EntityAgeable.java:87) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityAnimal.e(SourceFile:37) [craftbukk
    it.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.e(EntityHorse.java:720) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityLiving.h(EntityLiving.java:1299) [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityInsentient.h(EntityInsentient.java
    :150) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.EntityHorse.h(EntityHorse.java:748) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.entityJoinedWorld(World.java:1338)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.playerJoinedWorld(World.java:1319)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.World.tickEntities(World.java:1207) [cra
    ftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.WorldServer.tickEntities(WorldServer.jav
    a:480) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    37) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.NullPointerException
            at me.Ricardo.BoatRace.BoatBreak.VehicleDestroy(BoatBreak.java:29) ~[?:?
    ]
            at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_45]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            ... 23 more


    Class of the error:

    Code:java
    1. package me.Ricardo.BoatRace;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Material;
    6. import org.bukkit.entity.Boat;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
    11. import org.bukkit.inventory.ItemStack;
    12.  
    13. import java.net.InetSocketAddress;
    14. import java.util.*;
    15.  
    16. /**
    17. * Created by Ricardo on 1/2/14.
    18. */
    19. public class BoatBreak implements Listener {
    20.  
    21.  
    22. @EventHandler
    23. public void VehicleDestroy(VehicleBlockCollisionEvent e){
    24. Player p = (Player)e.getVehicle().getPassenger();
    25. if (e.getVehicle() instanceof Boat);
    26. e.getVehicle().getLocation();
    27.  
    28.  
    29. p.getInventory().addItem(new ItemStack(Material.BOAT ,1));
    30. Bukkit.broadcastMessage("TESTTESTTEST!");
    31. }
    32. }
    33.  
     
  6. Offline

    Aqgorn

    spookyDHD You haven't registered your events and you haven't extended JavaPlugin.
     
  7. Offline

    spookyDHD

    i have done that
    this is my main:

    Code:java
    1. package me.Ricardo.BoatRace;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.event.Listener;
    5. import org.bukkit.plugin.PluginManager;
    6. import org.bukkit.plugin.java.JavaPlugin;
    7.  
    8. /**
    9. * Created by Ricardo on 1/2/14.
    10. */
    11. public class BoatRace extends JavaPlugin implements Listener {
    12.  
    13. @Override
    14. public void onEnable() {
    15. PluginManager pm = Bukkit.getServer().getPluginManager();
    16. pm.registerEvents(new BoatBreak(), this);
    17. System.out.println("[BoatRace] Has been enabled for EcoCraft V1.0!");
    18. }
    19.  
    20. @Override
    21. public void onDisable() {
    22. //onDisable
    23. System.out.println("[BoatRace] Data has saved! Bye EcoCraft!");
    24.  
    25. }
    26. }
    27.  
     
    Aqgorn likes this.
  8. Offline

    ResultStatic

    spookyDHD try
    Code:
    p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.BOAT) });
     
    Aqgorn likes this.
  9. Offline

    spookyDHD

    it isn't working.
    Same problem...
     
  10. Offline

    ResultStatic

    spookyDHD i dont see anything else wrong with it
     
  11. Offline

    spookyDHD

    if i delete that line it is working.
    But i need that line...
    What i need todo now?
     
  12. Offline

    Jalau

    The only thing that can be null in this line is p,so you are doing this:
    Player p = null;
    WHY? IF YOU DON'T GIVE " P "A VALUE IT WILL STAY NULL!
     
  13. Offline

    spookyDHD

    if you look i already fixed that

    Code:java
    1. Player p = (Player)e.getVehicle().getPassenger();
     
  14. Offline

    RawCode

    you must check for null, boats can collide on they own.

    what about learning java, this problem belong more to java generics then to bukkit
     
Thread Status:
Not open for further replies.

Share This Page