Hilfe bei Economy System?

2 Antworten

Zum einen kann ich nicht nachvollziehen, wieso du doppelte Slashes in deinen Pfadangaben verwendest und zum anderen kannst du den Plugin-Ordner doch mit der getDataFolder-Methode deiner Plugin-Instanz ermitteln.

Beispiel:

public class GemsStore {
  private final Plugin plugin;

  public GemsStore(final Plugin plugin) {
    this.plugin = plugin;
  }

  public int getNumberOfGems(UUID id) {
    File file = new File(plugin.getDataFolder(), "MysticEcon/" + id + ".gems.yml");
    YamlConfiguration configuration = YamlConfiguration.loadConfiguration(file);
    int gems = configuration.getInt(id + ".gems.yml");

    return gems;
  }
}

Wenn öfter mit dem Wert gearbeitet wird, wäre es sicherlich schlauer, ihn im Speicher zu behalten und nur zu bestimmten Gelegenheiten oder in bestimmten Zeitintervallen in die Datei zu speichern.

Generell würde ich dir noch empfehlen, dich an üblichen Java-Code-Konventionen zu orientieren, Code-Redundanzen zu vermeiden und Ausnahmefälle zumindest zu loggen.

Ich finde den Fehler einfach nicht. 

Du schießt dir auch selbst in den Fuß mit Code wie diesem:

        try {
            cfg.save(file);
        }catch(IOException ioex){
            
        }

Damit wird jede relevante Exception völlig kommentarlos geschluckt. Wenn hier ein Fehler passiert, erfährst du nichts darüber.

Es gibt eine ganze Reihe anderer fragwürdiger Dinge drin (nicht zuletzt eine Unmenge von Copy-Paste), aber die sind erstmal nicht katastrophal und entsprechen eh der üblichen Qualität von Minecraft-Plugins.