Delayed Task

Discussion in 'Plugin Development' started by MrSnare, Oct 29, 2012.

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

    MrSnare

    I am trying to set a delayed task for an explosion but i'm not sure if the instance of my listener is being recognised

    Code:
    public class GrenadeListener implements Listener {
       
        public static GrenadeListener plugin;
        public void Grenade(GrenadeListener instance){
            plugin = instance;
        }
       
       
        private static final PlayerEggThrowEvent PlayerEggThrowEvent = null;
        PlayerEggThrowEvent event = PlayerEggThrowEvent;
        TNTPrimed TNT = null;
     
        @EventHandler()
        public void eggThrow(PlayerEggThrowEvent event){
            Player p = event.getPlayer();
            event.setHatching(false);
            final Item grenade = event.getPlayer().getWorld().dropItem(event.getEgg().getLocation(), new ItemStack(Material.EGG));
            grenade.setVelocity(event.getPlayer().getEyeLocation().getDirection());
            p.getInventory().removeItem(grenade.getItemStack());
            grenade.getWorld().createExplosion(grenade.getLocation(), 4);
            plugin.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
     
                public void run() {
                    grenade.getServer().broadcastMessage("This message is broadcast after 3 seconds");
                }
            }, 60L);
        }
    }
    I have been stuck on this for some time. Any help is appreciated
     
  2. Offline

    Woobie

    Code:
    @EventHandler() 
    Wuts dis?
    And whats the problem here? :confused:
    Try
    Code:
    scheduleAsyncDelayedTask 
     
  3. Offline

    the_merciless

    @EventHandler()

    should be

    @EventHandler

    Put a debug message in, something like this

    Code:
      @EventHandler()
        public void eggThrow(PlayerEggThrowEvent event){
            Player p = event.getPlayer();
            p.sendMessage("This is the eggthrow event!");
            event.setHatching(false);
            final Item grenade = event.getPlayer().getWorld().dropItem(event.getEgg().getLocation(), new ItemStack(Material.EGG));
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 29, 2016
  4. Offline

    Royal_Soda

    Code:
    Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("PluginNameHere");
     
Thread Status:
Not open for further replies.

Share This Page