Variablen aus Scheduler

Dieses Thema im Forum "Programmierung" wurde erstellt von HappyMajor, 11. März 2013.

  1. HappyMajor
    Offline

    HappyMajor

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    21
    Hey Leute,
    ich programmiere gerade ein Plugin und habe ein großes Problem.
    Wie hole ich Variablen aus Scheduler heraus?
    Also hier ein Beispiel :
    Code (Text):
    1. Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin,new Runnable()           
    2.                 {
    3.                     @Override
    4.                     public void run()
    5.                     {
    6.                         final Location loc1 = p.getLocation();
    7.                    
    8.                         final Block locBlock = loc1.getBlock();
    9.                         final Block locBlock2 = loc1.getBlock().getRelative(BlockFace.UP);
    10.                    
    11.                     locBlock.setTypeId(17);
    12.                     locBlock2.setTypeId(17);
    13.                         p.teleport(loc);
    14.                     }
    15.                    
    16.                 }, 100L);
    17.                 p.sendMessage(ChatColor.GRAY + "Du wirst in 5 Sekunden teleportiert");
    18.                 this.cooldowns.put(p.getName(), time);
    19.                                 Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin,new Runnable()
    20.                 {
    21.                     public void run()
    22.                     {
    23.                                                 // Wie bekomme ich locBlock und locBlock2 nun hier hin?
    24.                                                 // So das ich sie dann mit breakNaturally(); zerstören kann?
    25.                                                 // Weil das geht ja nicht :
    26.                                                 locBlock.breakNaturally();
    27.                                                 locBlock2.breakNaturally();
    28.  
    29.                         p.sendMessage(ChatColor.RED + "Block wird zerstört");
    30.                     }
    31.                 }, 200L);
    Ich habe schon an einen Konstruktor gedacht und habe diesen auch verwendet.
    Doch irgendwie funktionierte es nicht,hat jemand eine Idee?
     
    #1
  2. Nexus15
    Offline

    Nexus15

    Registriert seit:
    30. September 2012
    Beiträge:
    91
    public ?

    :)
     
    #2
  3. HappyMajor
    Offline

    HappyMajor

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    21
    Geht nicht.
    Die müssen final sein.
     
    #3
  4. Cabraca
    Online

    Cabraca

    #4
  5. HappyMajor
    Offline

    HappyMajor

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    21
    Ich muss sagen,das ich nicht wirklich weiß was ich damit anfangen soll^^
    Die einzige Lösung die ich sehe wäre ein Konstruktor.
     
    #5
  6. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Einfach einen public final String anlegen, dem dann einen Wert im Scheduler zuweisen und schon kannst du von überall auf diesen Wert zugreifen.
     
    #6