CrafterK3vin Posted June 17, 2013 Share Posted June 17, 2013 Hallo, ich hab gestern erfolgreich ein Scoreboard erstellt mit den Werten aus einer Config. Nun cist die Frage wie ich es programmiere das sich das Scoreboard automatisch updatet, also zbs jede Sekunde nach dem Wert schaut und wenn sich der Wert in der Config geändert hat, ändert er sich auch auf dem Scoreboard. Ich hoffe einer von euch weis das # Kevin Link to comment Share on other sites More sharing options...
Arkanus Posted June 17, 2013 Share Posted June 17, 2013 Lass nen neuen Thread laufen. Bei Bukkit wäre das BukkitRunnable: http://wiki.bukkit.org/Scheduler_Programming http://jd.bukkit.org/rb/doxygen/dir_c68fa78d363b341c525336a0920b06e7.html Link to comment Share on other sites More sharing options...
CrafterK3vin Posted June 17, 2013 Author Share Posted June 17, 2013 Das ist mir klar, aber wie genau? Kannste mir eve. per PN ne kleine Hilfe schicken? Link to comment Share on other sites More sharing options...
Arkanus Posted June 17, 2013 Share Posted June 17, 2013 (edited) Ich mache das gerade mal hier, bevor noch ein anderer kommt und das wissen will Zuerst muss man eine Klasse erstellen, die "Runnable" implementiert: public class MyRunnable implements Runnable { @Override public void run() { }} Nun muss man diese Klasse nur noch beim Bukkit Scheduler registrieren. Das geht ganz einfach mit: plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new MyRunnable(), 0, 20); Zu den Parametern: Dein Plugin Deine Klasse, die ausgeführt werden soll Die Verzögerung des Tasks Wie oft die Klasse aufgerufen werden soll (in Server Ticks, d.h. 20 = 1 Sekunde) In die "run"-Methode der MyRunnable Klasse kann man nun den Code eintragen, der wiederholt werden soll. public class MyRunnable implements Runnable { @Override public void run() { System.out.println("Ich wurde ausgeführt!"); }} Edited June 17, 2013 by Salocin Link to comment Share on other sites More sharing options...
CrafterK3vin Posted June 17, 2013 Author Share Posted June 17, 2013 Das hätte ich auch gewusst, aber ich meine WIE RELOADE ICH NUR DAS SCOREBOARD, also das sich zbs die 200 auf 400 ändert. Link to comment Share on other sites More sharing options...
Arkanus Posted June 17, 2013 Share Posted June 17, 2013 Da kenn ich mich nicht aus, versuch's mal mit objective.getScore(Bukkit.getOfflinePlayer("<Spielername>")).setScore(x); Wirf mal nen Blick in die API. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now