CrafterK3vin Posted June 17, 2013 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
Arkanus Posted June 17, 2013 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
CrafterK3vin Posted June 17, 2013 Author Posted June 17, 2013 Das ist mir klar, aber wie genau? Kannste mir eve. per PN ne kleine Hilfe schicken?
Arkanus Posted June 17, 2013 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
CrafterK3vin Posted June 17, 2013 Author 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.
Arkanus Posted June 17, 2013 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.
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