- Java 100%
| gradle/wrapper | ||
| logs | ||
| src | ||
| .gitignore | ||
| build.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE.txt | ||
| README.md | ||
| settings.gradle | ||
StarAwareness
Server-seitige Fabric-Mod für den Safespace-SMP: Code of Conduct, Pronomen mit Awareness-Freigabe und ein Awareness-Postfach.
Farben
Jede Nachricht beginnt mit dem Prefix [Awareness] – die Klammern grau, der
Name im Gelb-Gradient #ffb500 → #ffcb4c und fett. Derselbe Gradient markiert
Überschriften (fett) und Werte, Buttons sehen als [Label] aus (Klammer grau,
Text gelb und fett).
Commands
| Command | Wer | Was |
|---|---|---|
/coc, /coc de, /coc en |
alle | Öffnet den Code of Conduct als Buch (Standard-Sprache kommt aus der Config) |
/pronounce |
alle | Zeigt die eigenen Pronomen, Presets und Hinweise |
/pronounce set [Pronomen] |
alle | Eigene Pronomen setzen (frei wählbar), braucht die Bestätigung einer Awareness-Person |
/pronounce clear |
alle | Eigene Pronomen sofort wieder entfernen |
/pronounce accept [Spieler] |
star.awareness |
Anfrage bestätigen → Suffix landet in der Tablist |
/pronounce deny [Spieler] [Grund] |
star.awareness |
Anfrage ablehnen. Der Grund ist Pflicht – ohne Grund gibt es nur eine Fehlermeldung |
/pronounce list |
star.awareness |
Alle Pronomen inkl. offener Anfragen |
/awareness [Nachricht] [anonym (true)] |
alle | Nachricht ans Awareness-Team, online sofort mit Ping, zusätzlich in config/starawareness/orga.log |
/awareness |
star.awareness |
Zeigt ungelesene Fälle mit Klick-Buttons für Status |
/awareness list |
star.awareness |
Zeigt alle offenen Fälle (ungelesen & gelesen) |
/awareness list done|unread|read|all |
star.awareness |
Filtert Fälle nach Status |
/awareness status [person] read|unread|done [id] |
star.awareness |
Ändert Status eines Falls (mit Klick-Auswahl bei mehreren Fällen) |
Ablauf der Pronomen-Freigabe
- Spieler schreibt
/pronounce set she/her(oder ein Preset per Klick). - Alle online Awareness-Leute bekommen eine Nachricht mit Ping-Sound und
zwei Buttons:
[Annehmen]führt/pronounce accept <Spieler>aus,[Ablehnen]schlägt/pronounce deny <Spieler>vor – dort muss noch der Grund getippt werden. - Nach der Bestätigung schreibt die Mod den Suffix in LuckPerms → Tablist
zeigt
player1 [she/her]. - Meldet sich der Spieler neu, wird der Suffix nachgezogen und offene Anfragen den Awareness-Leuten erneut angezeigt.
- Meldet sich eine Awareness-Person an, sieht sie nach dem Login einen
Überblick über alle noch offenen Anfragen (max. 5, mit
[Annehmen]- und[Ablehnen]-Buttons, Rest über/pronounce list) – genau wie die ungelesenen Awareness-Fälle.
Tablist (Tab-Mod)
Der Suffix kommt von LuckPerms, das Tab-Mod liest ihn über den Placeholder
%luckperms_suffix% aus. Formatbeispiel im Tab-Config-Player:
%player_name% %luckperms_suffix%
Steht zwischen Name und Placeholder kein Leerzeichen, in der Config von
StarAwareness suffixPattern auf [{pronouns}] (mit führendem Leerzeichen)
ändern – der Suffix selbst lautet standardmäßig [{pronouns}].
Wichtig: In der LuckPerms-Gruppe darf kein eigener Suffix mit der Priorität
aus suffixPriority (Standard 100) vergeben sein, sonst würde die Mod ihn
beim Setzen ersetzen. Andere Suffixe (andere Priorität) bleiben unangetastet.
Permissions (LuckPerms)
| Node | Standard |
|---|---|
star.awareness |
Awareness-Freigaben + Empfänger der /awareness-Nachrichten |
Der Knoten ist in der Config als awarenessPermission änderbar und wird über
die Fabric Permission API abgefragt (LuckPerms ist eingebunden). Ohne LuckPerms
bzw. ohne Knoten greift als Fallback die OP-Prüfung (Level 4).
Config
Alles landet unter config/starawareness/:
config.json– CoC-Texte (cocDe,cocEn),defaultLanguage, Preset-Pronomen (defaultPronouns),maxPronounLength,awarenessPermission,suffixPattern,suffixPriorityawareness_cases.json– alle Awareness-Fälle mit Status und IDpronouns.json– bestätigte und offene Pronomen pro Spielerorga.log– alle/awareness-Nachrichten (anonym ohne Absender)
Join-Nachricht
Beachte den CoC. Behandele deine Mitmenschen mit Respekt
Der CoC-Hinweis ist fest in der Mod hinterlegt: Beachte den CoC. in orange/Gold (<gold>), CoC unterstrichen und anklickbar (öffnet /coc), gefolgt von Behandele deine Mitmenschen mit Respekt in weiß.
Bauen & Tests
./gradlew build # baut das Mod-Jar nach build/libs/
./gradlew test # Unit-Tests (Pagination, Pronomen-Sanitisierung)
./gradlew runServer # Dev-Server zum Ausprobieren (run/eula.txt nötig)