• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Eine kleine frage

itachai

Redstoneengineer
Registriert
11 September 2012
Beiträge
44
Diamanten
250
Minecraft
itachai
Guten Tag,
wie muss das aussehen wenn ich beim plugin programmieren
z.B. jemand gibt einen befehl ein, dann kommt ca. nach 1 min nachricht nr1 und nach ca 2 min nachrich nr. 2 ....
 

NeoVir

Minecrafter
Registriert
24 Juli 2013
Beiträge
6
Diamanten
0
Dazu brauchst du den bukkitScheduler.
Wenn du für n Nachrichten das machen willst ( also so zu sagen wie bei einem AutoMessager) dann kannst du folgenden Code nutzen:
Code:
int inte = 60;
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
			
			int count = 0;
			List<String> arr = config.getStringList("messages");
			String fMessage;
			
			public void run() {
				
				fMessage = ChatColor.translateAlternateColorCodes('&', config.getString("prefix")+arr.get(count));
				Bukkit.broadcastMessage(fMessage);
				if (count != arr.size()-1) {
					count++;
				} else {
					count = 0;
				}
				
			}
			
		}, inte*20	, inte*20);

Dies ließt aus einer Config Datei die vom Eintrag messages sind alle Nachrichten aus und nach 1 Minute kommt die nächste Nachricht. ;)
Wenn der Counter jedoch bei der letzten Nachricht ist muss er sich resetten, damit keine NPE kommt :3

P.S. Der Code ist nur aus einem meiner Plugins rausgerissen und bildet nur ein grundlegendes Beispiel wie man den BukkitScheduler nutzen kann um einen AutoMessager zu machen. Auslesen der Config/Speichern einer Default Config sind nicht inbegriffen
 
Oben