• 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!
  • Haftungsausschluss! Diese Ressource stammt nicht von uns, sondern von dem jeweiligen Autor. Leider können wir nicht alle Downloads prüfen, weswegen wir, minecraft-server.eu, uns von diesen klar distanzieren müssen. Bitte wende dich bei Fehlern, Störungen oder gar Betrug der durch diesen Download verursacht wurde direkt an den Autor. Gerne kannst du uns informieren, damit wir u. U. entsprechende Downloads sperren können.
CommonSettings - API für Verwaltung von Spielersettings

Bukkit CommonSettings - API für Verwaltung von Spielersettings 1.0

CommonSettings ist eine kleine API mit dem Hintergedanken, die Bedienung von Usersettings (Plottitles, Partikel, Chat, Fly, ...) zu vereinheitlichen, sodass mit Einbinden der API einfache Setting GUIs, Webinterfaces oder Commands geschrieben werden können, ohne die "Setting-Provider" als Dependency einzubinden oder zu kennen. Abstrakt, sozusagen :p

Nach meiner Erfahrung als Serverleiter hat mich immer wieder geärgert, dass nur das wirklich schön einheitlich ist, was man auch selbst gemacht hat :D und halt Vault.
Wir hatten unser eigenes Menü um Settings zu verwalten. Settings wie die PlotSquared Toggle Befehle waren leider nicht enthalten und ein einfaches dispatchCommand hätte den Zauber nicht gewirkt, weil unser Settings GUI den Zustand der Einstellung (An/Aus) angezeigt hat und eine Resetfunktion hatte

Der Server ist Geschichte, aber ich dachte für ein wenig Vereinheitlichung kann ich mich trotzdem einsetzen. Die Idee ist, dass es eine schlanke API gibt, die nur eine Übersicht über die existierenden Settings behält. Ein Plugin registriert ein Setting via Interface. Andere Plugins können auf einzelne Settings, alle Settings eines Typs, Settings nach Tags, Settings eines Plugin oder einfach alle Settings zugreifen.

Dinge wie /p toggle titles lassen sich also integrieren ohne Bukkit.dispatchCommand und ohne PlotSquaredDependency. Genau wie PlayerParticles /pp toggle und alle anderen. Da man großen Plugins nicht verübeln kann, sich nicht auf so eine kleine API einzulassen, lassen sich deren Spielersettings ja auch problemlos aus einem eigenen Plugin heraus mit der entsprechenden Codeeinbindung registrieren.

Grundsätzliches Problem ist, dass einige mitmachen müssen, damit sich soetwas nach 10 Jahren Minecraft noch etabliert. Daher möchte ich die Resource hier einmal vorstellen und hoffen. Und gerne auch Feedback der Programmiererfahrenen erfragen Auch über Contributions würde ich mich sehr freuen, ich finde die Idee der API gut und wäre einfach glücklich, wenn es sich mit Hilfe von Zusammenarbeit umsetzen lässt.

Hier ist ein kleiner Codeeinblick, alles andere findet sich dann im angegebenen GitHub Link!

Enum-Setting Registrierung via Builder:
        SettingsAPI.getInstance().registerSetting(new SettingBuilder<>(Material.class, new NamespacedKey(plugin.getName(), "material"))
                .withTitle("String Setting") // or
                .withTitle(Component.text("String Setting with Component Title"))
                .withDescription("short", "long")
                .withPermissionNode(null)
                .withFlagNullable()
                .withFlagNotThreadSafe()
                .withTag("example", "chat", "particle", "cosmetics", ...)
                .withGetter(uuid -> ENUM.getOrDefault(uuid, Material.AIR))
                .withAsyncGetter(uuid -> CompletableFuture.completedFuture(ENUM.getOrDefault(uuid, Material.AIR)))
                .withSetter((uuid, newValue) -> {
                    ENUM.put(uuid, newValue);
                    return CompletableFuture.completedFuture(Setting.SettingChangeResult.SUCCESS);
                })
                .build());
Autor
CubBossa
Downloads
868
Aufrufe
2.293
Erste Veröffentlichung
Letzte Aktualisierung
Bewertung
0,00 Stern(e) 0 Bewertung(en)
Oben