Bukkit ItemStack?

1 Antwort

Weil bei einem ItemStack eben auch die Anzahl mit dabei ist.

Ein ItemStack besteht aus Material und Anzahl.

ItemStack diamond = new ItemStack(Material.DIAMOND);

Erstellt einen Diamant-Stack mit Anzahl 1. Der ist dann natürlich ungleich einem Diamantstack mit Anzahl 5, falls der Spieler beispielsweise 5 Diamanten in der Hand hat, deswegen funktioniert es dann nicht mehr.

Du musst das Material des ItemStacks vergleichen:

if (mainHandItem.getType() == Material.DIAMOND)
Woher ich das weiß:eigene Erfahrung – Minecraft-Experte. Aktiver Spieler seit 2011.
Silvanius 
Fragesteller
 27.11.2022, 20:40

Ahh, Vielen Dank!

0
Silvanius 
Fragesteller
 27.11.2022, 21:23
@MrAmazing2
Eine Frage hätte ich noch kurz: wie kann ich bei der Bukkit default Config werte (in meinem Fall ein integer)  zu dem gestehendem Wert (auch integer) hinzufügen?

if (mainHandItem.getType() == Material.DIAMOND) {
    Main.getInstance().getConfig().// Hier weiß ich nicht, was ich einsetzen soll :(
    mainHandItem.setAmount(amount - 1);
    Main.getInstance().reloadConfig();
0
MrAmazing2  27.11.2022, 22:49
@Silvanius

Du willst also was hinzuaddieren?

Das ginge so:

config.set("abc", config.get("abc") + 1);
0
Silvanius 
Fragesteller
 01.12.2022, 13:41
@MrAmazing2

genau das habe ich schon probiert, aber da funktioniert es leider nicht. Hast du vielleicht eine andere Lösung?

Das ist die Fehlermeldung:

Operator '+' cannot be applied to 'java.lang.Object', 'int'

0