Funzocker1
Schafhirte
Hallo
. Ich bin gerade wie ich in einem anderen Thema bereits erwähnt habe am Shop Plugin Coden und bin gerade beim verkaufs befehl.
Um die Items aus dem Spieler Inventar zu nehmen habe ich eine kleine Methode erstellt
Wenn ich mit dieser Methode beim verkaufen versuche die Items aus dem Inventar zu nehmen und die Items sind schön gestackt und die zu verkaufende Anzahl ist kleiner als die gesamt Anzahl funktioniert es. Aber wenn ich jetzt 44 verkaufen will und ich 44 von einem Item gestackt habe bleiben die 44 im Inventar. Wenn ich 44 irgendwie im Inv. verteilt habe und 43 verkaufen will was bei einem stack kein Problem ist funktioniert es auch nicht :/. Exceptions gibt es keine und ich bin mit meinem Latein am Ende. Bitte um Hilfe
Um die Items aus dem Spieler Inventar zu nehmen habe ich eine kleine Methode erstellt
Code:
@SuppressWarnings("deprecation")
public void removeamount(Player p, int id, int anzahl) {
int count = anzahl;
for(ItemStack item : p.getInventory().getContents()) {
if(item != null){
if(item.getTypeId() == id) {
ItemStack is = new ItemStack(item.getTypeId(), item.getAmount());
if(count > item.getAmount()) {
int currentamount = item.getAmount();
p.getInventory().remove(is);
System.out.println("Aufruf1");
p.updateInventory();
count = count - currentamount;
}
if(count == item.getAmount()) {
p.getInventory().remove(item);
count = 0;
p.updateInventory();
}
if(count < item.getAmount()) {
item.setAmount(item.getAmount() - count);
count = 0;
}
}
}
}
}
Wenn ich mit dieser Methode beim verkaufen versuche die Items aus dem Inventar zu nehmen und die Items sind schön gestackt und die zu verkaufende Anzahl ist kleiner als die gesamt Anzahl funktioniert es. Aber wenn ich jetzt 44 verkaufen will und ich 44 von einem Item gestackt habe bleiben die 44 im Inventar. Wenn ich 44 irgendwie im Inv. verteilt habe und 43 verkaufen will was bei einem stack kein Problem ist funktioniert es auch nicht :/. Exceptions gibt es keine und ich bin mit meinem Latein am Ende. Bitte um Hilfe