ServerPlugin Etwas passiert nicht richtig (Config)

Dieses Thema im Forum "Programmierung" wurde erstellt von MineForce, 28. Mai 2014.

  1. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Hallo Leute,

    mir ist grad ein Problem passiert und ich weiß echt nicht wie das möglich ist.
    Mit diesen Code setze ich einen Boolean von false auf true:
    Code (Text):
    1.         if(!cfga.isBoolean("Arenas.")){
    2.                 ArrayList<String> arenes = new ArrayList<>();
    3.                 arenes.addAll(cfga.getConfigurationSection("Arenas").getKeys(false));
    4.                 String ra = arenes.get((int) (Math.random() * arenes.size()));
    5.                 cfga.set("Arenas." + ra, true);
    6.                 try{
    7.                     cfga.save(arenaa);
    8.                     join(p);
    9.                 }catch (IOException e){
    10.                     e.printStackTrace();
    11.                 }
    12.             }
    Meine Join-Methode schaut dann noch nach ob 1 Boolean auf true ist und dann wird diese Arena genommen.
    Jedoch werden durch meine Methode oben immer alle Booleans meiner Config auf true gesetzt aber warum?

    Normalerweise sollte 1 zufälliger Boolean auf true gesetzt werden.

    Ich weiß echt nicht wieso immer alle auf true gesetzt werden.
    Kann mir einer sagen woran das liegt?

    Danke
    mfg MineForce
     
    #1
  2. games6471
    Online

    games6471

    Hast du beacht, dass du in deiner IF-Abfrage nicht den Wert überprüfst, sondern ob dort kein Boolean existiert.

    Checks if the specified path is a boolean.
    If the path exists but is not a boolean, this will return false. If the path does not exist, this will return false. If the path does not exist but a default value has been specified, this will check if that default value is a boolean and return appropriately.


    EDIT: Desweiteren werden in YAML die Nodes mit Punkte getrennt.
    Code (Text):
    1. cfga.isBoolean("Arenas.")
    sowas wird also jederzeit false zurückgeben.
     
    #2
  3. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Ja, ich habe grad das Problem gefunden.
    Ich weiß nur nicht mit welcher Methode man jetzt überprüft ob 'Alle' Werte auf false sind weil dann wäre mein Problem geklärt. :D
    Vielen Dank
     
    #3