idk.cpp Geschrieben 19. Oktober 2014 Share Geschrieben 19. Oktober 2014 (bearbeitet) Hallo Devs, manchmal programmiert man ein Plugin, welches über Konsolen-Kommandos gesteuert wird. Wenn man so etwas macht muss man die Argumente und Parameter selbst auswerten, was bei großen Projekten recht ungut wird. Darum habe ich jetzt ArgEngine entwickelt. Es ist ein vergleichbar mit GetOpt (für die, die es kennen), funktioniert aber anders. Wenn mann zB den folgenden String auswerten will: /plgcmd +strict --plugin-name "Some other Plugin" --cmd restart kann man mit diesem Tool folgendes machen: OptionsSheet mySheet = new OptionsSheet(); // Dieses Object hält die Config mySheet.exceptionOnUnknown = false; // Setzen der Parameter für undefinierte Argumente OptionsSheetEntry newEntry = mySheet.new OptionsSheetEntry(); // Ein neues Argument definieren newEntry.name = "block"; // Der Name des Arguments newEntry.type = OptionType.KEY_VALUE_PAIR; // Der Typ newEntry.required = true; // Muss dieses Argument angegeben werden testSheet.addEntry(newEntry); // Der Config diese Teil-Config hinzufügen String cmdLine = "+strict --plugin-name \"Some other Plugin\" --cmd restart"; try { Options result = ArgEngine.process(cmdLine, mySheet); // Das Setup und die Cmd-Line übergeben result.getString("plugin-name"); // Die Werte auslesen } catch (RequirementUnsatisfiedException | TooManyArgumentsException exc) { // Eigene Fehlerbehandlung } Für genaueres besuche http://dev.bukkit.org/bukkit-plugins/argengine/ Ich hoffe es kann jmd brauchen. LG, idk.cpp // EDIT es tut mir jetzt schon Leid, dass dieser Beitrag so shitty ist... bearbeitet 19. Oktober 2014 von idk.cpp Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden