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

Spigot Erledigt PlugIn Brauche Hilfe bei der Programmierung einer CoinAPI

zTrouble

Minecrafter
Mitglied seit
8 September 2019
Beiträge
16
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.

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
 

DerFrZocker

Miner
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
154
Alter
19
Minecraft
DerFrZocker
Deine code logik stimmt nicht ganz:
Java:
        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();
        }
Dieser ganze code Block wird nur ausgeführt wen der Spieler keine Coins hat. Ich vermude mal das du die klammer Falsche gesetzt hast. Und eigentlich nur wolltest, das dem Spieler wen er keine Coins hat 0 gegeben werden und danach die coins hinzu gefügt werden.
Sprich wenn du die klammer verschiebst sollte es funktionieren.
 

Twitter

Allgemein
Hilfe Benutzer
  • Kroseida Kroseida:
    eklig
  • Kroseida Kroseida:
    und auch wenn ich mir den src von forge angucke, bzw. das gesamte Konzept
  • Kroseida Kroseida:
    Keine Wrapper, nutzer wird direkt auf die API geworfen
  • Kroseida Kroseida:
    und jede Model-Datei muss immer wieder neu erstellt werden
  • maybeto maybeto:
    Das Leben ist nun mal kein Ponyhof.....
  • Kroseida Kroseida:
    trozdem kann man das ordentlich machen
  • Kroseida Kroseida:
    z.B steht in der Doku das 3D Model's für Entities gehen, dachte mir da "geil"
  • Kroseida Kroseida:
    suche im Forum, man muss den Renderer.. selber implementieren
  • iTz_Proph3t iTz_Proph3t:
    Sagte doch gestern im Stream, mach n besseres Forge :p
  • Kroseida Kroseida:
    Ich überlege es wirklich
  • Kroseida Kroseida:
    aber als solo-project ist das viel, vorallem wenn ich alles Dokumentieren muss
  • iTz_Proph3t iTz_Proph3t:
    Das wenn du machst und es
    auch läuft und danach auch besser ist, dann respekt :p
  • Kroseida Kroseida:
    näää, da wäre eigene Server Side Software interessanter
  • Kroseida Kroseida:
    oder eigenes Spiel,
  • maybeto maybeto:
    Forge ist eben schon uralt...
  • Kroseida Kroseida:
    Denoch, es ist ein Grundlegend falsches Konzept
  • Kroseida Kroseida:
    API Nutzer in Minecraft kommen zu direkt in Kontakt
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Modding ist aber auch ne hässliche Sache. Das kann man fast nicht idiotensicher machen.
  • Kroseida Kroseida:
    meh
  • iTz_Proph3t iTz_Proph3t:
    Heute gibts Wochenend-Abend-Live-Support-Stream :p
    Bei Fragen und Problemen einfach im Chat melden ;)
    Vlt. ist Dean ja auch am Start
  • Matthias Matthias:
    Guten Morgen
  • Stern☆ Stern☆:
    Morgen
  • maybeto maybeto:
    guten Morgen
    maybeto maybeto: guten Morgen
    Oben