• 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!

[Bukkit]: Zufälligen Befehl ausführen!

MineForce

Schafhirte
Gesperrt
Registriert
17 Oktober 2012
Beiträge
122
Diamanten
0
Hallo Leute,

Ich wollte mal fragen ob jemand weiß was ich falsch mache?

Code:
		if(cmd.getName().equalsIgnoreCase("test")){
			if(args.length == 0){
				int i = (int) (Math.random() * (101 - 1) + 1);

				if(i >=1 && i <=5){ 

				p.sendMessage("Test 1");

				}else if(i >=1 && i <=10){

				p.sendMessage("Test 2");

				}else if(i >=1 && i <=15){

				p.sendMessage("Test 3");

				}else if(i >=1 && i <=20){

				p.sendMessage("Test 4");
			}
		}

Es wird etwa nur Test 1 oder Test 3 im Chat ausgegeben oder garnix!

Hoffe jemand kann helfen.

Danke
 

delta242

Kuhfänger
Registriert
28 Mai 2012
Beiträge
90
Diamanten
0
Ich würde es grundliegend anders machen. Nicht mit der random() Methode arbeiten, sondern mit der Random Klasse von Java. Importier java.util.Random und erstell ein neues Objekt davon.
Code:
Random random = new Random()
Jetzt kannst du mit dem Random Objekt einen int erhalten, indem du die Methode nextInt(int n) aufrufst. Der Parameter gibt hierbei die Anzahl der Zahlen an, die zurück gegeben werden. Sie sind zwischen 0 und n - 1.
Code:
int i = random.nextInt(4);
Hierbei wird jetzt eine Zufällige Zahl zwischen 0 und 3 ausgegeben. Nun kannst du jede Zahl einfach überprüfen.
Code:
if (i == 0) {...}
else if (i == 1) {...}
...
 
Oben