Solved Using Main.class function in Listeners?

Discussion in 'Plugin Development' started by qlimax5000, Nov 7, 2013.

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

    qlimax5000

    Yo! I need to use getServer() in my PlayerJoinListener.class - How?

    Thanks

    - Ben
     
  2. Offline

    geNAZt

  3. Offline

    qlimax5000

    geNAZt

    So now i'm getting this:
    Code:
    17:42:21 [SEVERE] Could not pass event PlayerJoinEvent to KitPVP v1.0 (1.6.4)
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at net.minecraft.server.v1_6_R3.PlayerList.c(PlayerList.java:207)
        at net.minecraft.server.v1_6_R3.PlayerList.a(PlayerList.java:103)
        at net.minecraft.server.v1_6_R3.PendingConnection.e(PendingConnection.java:132)
        at net.minecraft.server.v1_6_R3.PendingConnection.d(PendingConnection.java:43)
        at net.minecraft.server.v1_6_R3.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:41)
        at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:29)
        at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592)
        at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227)
        at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488)
        at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421)
        at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
    Caused by: org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:394)
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:120)
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.scheduleSyncRepeatingTask(CraftScheduler.java:116)
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.scheduleSyncDelayedTask(CraftScheduler.java:100)
        at me.qlimax5000.KitPVP.PlayerJoinListener.onPlayerJoin(PlayerJoinListener.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        ... 14 more
    Main:
    Code:java
    1. public class Main extends JavaPlugin {
    2.  
    3. @Override
    4. public void onEnable() {
    5. getServer().getPluginManager().registerEvents(new PlayerDeathListener(), this);
    6. getServer().getPluginManager().registerEvents(new PlayerJoinListener(), this);
    7. }
    8. }
    9.  


    PlayerDeathListener:
    Code:java
    1. public class PlayerJoinListener implements Listener{
    2.  
    3. @EventHandler
    4. public void onPlayerJoin(PlayerJoinEvent event) {
    5. final Player player = event.getPlayer();
    6.  
    7. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(new Main(), new Runnable() {
    8. public void run() {
    9. player.playSound(player.getLocation(), Sound.LEVEL_UP, 1, 10);
    10. }
    11. }, 40);
    12. }
    13. }
     
  4. Offline

    Seadragon91

    I hope i fixed the error. Try this code.
    Main class:
    Code:
    public class Main extends JavaPlugin {
     
        public Main instance;
     
        @Override
        public void onEnable() {
            instance = this;
            getServer().getPluginManager().registerEvents(new PlayerDeathListener(), this);
            getServer().getPluginManager().registerEvents(new PlayerJoinListener(), this);
        }
    }
    Event class:
    Change "new Main()" to Main.instance
     
  5. Offline

    qlimax5000

Thread Status:
Not open for further replies.

Share This Page