Moin,
Ich arbeite momentan an einer CoinAPI die auch eine addCoins Methode beinhalten soll, mein aktuelles Problem ist es das wenn ich z.B 6 Coins setzen möchte wenn jemand den befehl /addcoins [args] eingibt (dieser ist nur zum Test weshalb er wenig Sinn macht) dann werden am Anfang 6 Coins hinzugefügt (falls der Spieler noch keine Coins hat). Wenn der Spieler jedoch schon einmal 6 Coins bekommen hat dann nicht mehr. Ich möchte das die Coins hinzugefügt werden und NICHT überschrieben also er soll auch 6 Coins bekommen wenn er schon welche hat, ich hab bereits eine getCoins Mehtode geschrieben die zu der Nachricht ausgegeben wird, in der Config und bei der Methoden Ausgabe bleibt es gleich.
Bei Zeile 7 sollen die Coins dann hinzugefügt werden
Meine Vermutung ist es das keine Coins hinzugefügt sondern gesetzt (also überschrieben) werden.
LG
Ich arbeite momentan an einer CoinAPI die auch eine addCoins Methode beinhalten soll, mein aktuelles Problem ist es das wenn ich z.B 6 Coins setzen möchte wenn jemand den befehl /addcoins [args] eingibt (dieser ist nur zum Test weshalb er wenig Sinn macht) dann werden am Anfang 6 Coins hinzugefügt (falls der Spieler noch keine Coins hat). Wenn der Spieler jedoch schon einmal 6 Coins bekommen hat dann nicht mehr. Ich möchte das die Coins hinzugefügt werden und NICHT überschrieben also er soll auch 6 Coins bekommen wenn er schon welche hat, ich hab bereits eine getCoins Mehtode geschrieben die zu der Nachricht ausgegeben wird, in der Config und bei der Methoden Ausgabe bleibt es gleich.
AddCoins Methode:
public static void addCoins(Player p, int anzahl) {
FileConfiguration cfg = Main.getinstance().getConfig();
if(cfg.get(p.getUniqueId() + ".Coins") == null) {
cfg.set(p.getUniqueId() + ".Coins", 0);
int i = cfg.getInt(p.getUniqueId() + ".Coins");
int total = i + anzahl;
cfg.set(p.getUniqueId() + ".Coins", total);
Main.getinstance().saveConfig();
}
}
Bei Zeile 7 sollen die Coins dann hinzugefügt werden
AddCoins Command:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
Player p = (Player) sender;
if(args.length == 1) {
CoinAPI.addCoins(p, 6);
p.sendMessage("§7Du hast §e§l" + CoinAPI.getCoins(p) + " §7Münzen");
}
return false;
}
}
Meine Vermutung ist es das keine Coins hinzugefügt sondern gesetzt (also überschrieben) werden.
LG