Bukkit Plugin Player Drops

08/02/2013 22:58 SBotDE#1
Hey,
wie kann ich in Prozenten angeben was der Spieler droppen soll und das zu wie viel Prozent?

z.B Ich töte einen Spieler und der dropt zu 10 % eine Nether Ward die ich davor mit der Item Meta erstellt habe ?


MfG
08/02/2013 23:52 Kante'#2
Code:
@EventHandler
	public void onDeath(PlayerDeathEvent e) {
		double d = Math.random();
		
		ItemStack drop = new ItemStack(Material.NETHER_STAR, 1);
		//Hier deine ItemMeta definieren
		
		if (d < 0.1) {
			e.getDrops().add(drop);

		}
	}
Meinst du Nether Warzen oder den Nether Star? (Habe hier Nether Star mal eingetragen).

Sind eigentlich Java Grundlagen (Chance berechnen etc.)
08/02/2013 23:54 Floppy012#3
Code:
if (Math.random() * 100 < PROZENTCHANCE) {
//do
}
^Kante war schneller. Er hat dir eine 90%ige Chance eingestellt. Ersetze die "0.9" durch "0.1" und du hast die 10%ige chance

Mit freundlichen Grüßen

Floppy
08/03/2013 00:30 ComputerBaer#4
Quote:
Originally Posted by Kante' View Post
Code:
		if (d < 0.9) {
			e.getDrops().add(drop);
		}
Da ist ein ganz ganz kleiner Fehler drin, jetzt liegt die Chance bei 90% und nicht bei 10%.

Wenn der Spieler nur das Item droppen soll, dann sollte man die Liste vorher noch leeren, aber das ist bei der Fragestellung nicht erkennbar.

Quote:
Originally Posted by Kante' View Post
Sind eigentlich Java Grundlagen (Chance berechnen etc.)
Imgrunde nichtmal Java, abgesehen davon wie man an Zufallszahlen kommt. Der Rest (Berechnung/Abfrage) ist einfach nur Mathe, da muss man imgrunde nichtmal für Programmieren können.
08/03/2013 00:59 Kante'#5
Oh, habe es editiert, kleiner Fehler von mir.
08/03/2013 23:44 SBotDE#6
Noch eine Frage: Kann ich nur diese Special Items Droppen lassen ? und nicht die Normalen also die Normalen Items auf setDrop(0); stellen ?
08/04/2013 00:01 Kante'#7
e.getDrops().clear()
e.getDrops().add(drop)
08/04/2013 15:54 SBotDE#8
danke