ConfigAPI

  • PatrickBronke

    Changed the title of the thread from “Config” to “ConfigAPI”.
  • Das müsstest du etwas genauer erläutern :D Wie genau meinst du das mit der "JSON-API"? Beziehst du dich auf die Permission-Dateien?


    Grundsätzlich kann Java von Haus aus bereits JSON lesen und schreiben ("JsonReader" und "JsonWriter" aus dem "javax.json" Package). Es gibt da draußen aber noch eine ganze Reihe anderer Libs, die sich darauf spezialisiert haben. Eine bessere API können wir dafür auch nicht anbieten :saint: Damit kannst du an allen Stellen arbeiten, an denen die neue Version JSON verwendet (Rückgaben unserer Backend-API [zB Serverliste], Server Query Rückgaben, Permissions).


    Wenn es aber explizit um Permissions geht, dann wird die Plugin API natürlich auch einen direkteren Zugriff darauf bieten (dass du also einzelne Permission-Werte direkt setzen kannst), ohne, dass du mit den Roh-Dateien oder mit JSON arbeiten musst.


    JSON kann übrigens leider keine Kommentare, d.h. wir können die JSON Rückgaben der o.g. Stellen leider nicht mit Kommentaren versehen, da dies dann kein valides JSON mehr wäre (und das dann kein gängiger JSON-Parser mehr lesen könnte) :| Der einzige Grund, warum wir JSON für die Permissions verwenden, ist eigentlich auch nur gewesen, dass angedacht war, dass diese in erster Linie über das RCON Tool angepasst werden sollen ^^

  • Es ging mir eigendlich nur darum, das man für sein eigenes Plugin, leicht eine Config anlegen kann. Oder ist das für Plugins nicht so gut? Es geht ja auch darum, dass der Benutzer in die Datei geht und sie manuell bearbeiten kann.


    Welche Config-Art ist da am übersichtlichsten? (Ich persönlich kenn nur YAML, TXT-Daten und JASON)

  • Oh, jetzt verstehe ich :saint: Also das Spiel verwendet für seine Einstellungen ein an Javas "Properties"-Dateien angelehntes Format. Also die "config.properties" und "server.properties" Datei. Die sind recht einfach aufgebaut und unterstützen auch Kommentare.


    JSON würde ich für eine config nicht unbedingt empfehlen. Das bietet sich nur an, wenn du zB auch mit JavaScript kommunizierst (zB wenn du ein Webinterface für deinen Server erstellst, welches auf die gleichen Dateien zugreifen soll und du diese nicht erst konvertieren möchtest).


    Wenn du einfache Daten speichern möchtest, reicht grundsätzlich ein einfacher Aufbau wie unsere config Dateien aus (also pro Zeile ein Key und ein Wert, getrennt mit einem Gleichheitszeichen).


    Das in die Plugin API zu integrieren wäre vielleicht gar nicht so verkehrt :thinking: Java bietet zwar direkt Möglichkeiten, Properties einzulesen und zu speichern, allerdings - wenn ich mich recht entsinne - keine Möglichkeit, Kommentare zu setzen. Wir müssen uns dazu mal Gedanken machen, ob wir dafür vll direkt was in der Plugin API anbieten ;)

  • Kommentare in der settings.properties ? geht doch?! So mach ich das bei meinen Plugins schon Jahrelang ;)


  • Properties unterstützen durchaus Kommentare, aber ich glaube java.utils.Properties bietet keine API, um Kommentare auch zu setzen :thinking: Ich hatte es so verstanden, dass es PatrickBronke auch um diese Funktionalität geht :D

    Genau. red51 hat mich richtig verstanden. Ich würde mir halt wünschen, wenn es da was einfaches und einheitliches gäbe. :D

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!