Discussion in 'Plugin Development' started by LegoPal92, Aug 6, 2012.

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


    I am trying to make a lockpicking plugin, but i cannot for the life of me get this delay to work, it should be a two second delay, but the delay effect never happens!!!!! GRRRR, i am so frustrated, can you please help me?
    if (id == -1) {
                        if (rand < 44) {
                            if (door.isTopHalf()) {
                                block = block.getRelative(BlockFace.DOWN);
                            //if (door.isOpen()) e.setCancelled(true);
                            this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                                public void run() {
                                    if (door.isOpen()) e.setCancelled(true);
                            }, 40L);
                        } else if (rand > 44) {
                            if (h >= 3.5) {
                                p.setHealth(h - 3);
                            } else {
                                p.setHealth(h - 3);
                                p.sendMessage("Well, it appears that while trying to break the lock, you died, there must have been a sniper somewhere.");
                                Bukkit.broadcastMessage(p.getName() + "died of mysterious reasons.");
  2. Offline

    ZeusAllMighty11 Retired Staff

    Did you set up the scheduler part for the onEnable method?
  3. Offline


    no, how do i do that?
  4. Offline

    ZeusAllMighty11 Retired Staff

    Do you even know how to use a scheduler?... lol
  5. Offline


    I am learning, will you please help me figure out a scheduler? I am just trying to elarn something new

    ZeusAllMighty11 will you please help me with this? I don't know what to put in the onEnable() I dont know what is wrong with this, this is my first scheduler. here is the full code http://pastie.org/4389500

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 27, 2016
  6. Offline


    You can't do e.setCancelled inside a delayed task, because by the time the task fires (2 seconds later), the event has already occurred and is in the past.
  7. Offline


    what could i do instead? i just want to close the door after two seconds, is it really that hard?
Thread Status:
Not open for further replies.

Share This Page