ResurrectionChest Konfiguration und Berechtigungen
Berechtigungen
| Berechtigung | Zweck | Standard |
|---|---|---|
resurrectionchest.* | Gibt Admins Zugriff auf den Basisbefehl und die Unterbefehle downloadall, forcereinstallcontent, downloadpluginupdate, applypluginupdate, reload und clear und zeigt ihnen die Erinnerung beim ersten Start. setup und initialize prüfen ihre eigenen, unten aufgeführten Knoten | op |
resurrectionchest.setup | Gibt Admins Zugriff auf /resurrectionchest setup, recommendedplugins, downloadallcontent und updatecontent | op |
resurrectionchest.initialize | Erlaubt /resurrectionchest initialize, um das Menü zur Ersteinrichtung zu öffnen. | op |
resurrectionchest.use | Erlaubt einem Spieler, eine Truhe zu registrieren und Todesbeute dorthin leiten zu lassen | true |
resurrectionchest.model.free | Erlaubt einem Spieler, die kostenlosen FreeMinecraftModels-Truhen-Visualisierungen (Wooden Chest) zu verwenden | true |
resurrectionchest.model.premium | Erlaubt einem Spieler, die Premium-FreeMinecraftModels-Truhen-Visualisierungen (Angelic Chest) zu verwenden | op |
resurrectionchest.use ist die wichtige Berechtigung für das tatsächliche Truhenverhalten. Die Admin- und Modellberechtigungen betreffen nur Befehle bzw. optionale Visualisierungen.
Befehle
| Befehl | Berechtigung | Zweck |
|---|---|---|
/resurrectionchest | resurrectionchest.* | Gibt einen kurzen Info-Text aus, der auf den Einrichtungsablauf verweist |
/resurrectionchest initialize | resurrectionchest.initialize | Öffnet die geführte Ersteinrichtung. Die empfohlene Einrichtung, die manuelle Einrichtung und die Verwendung vorhandener Inhalte markieren die Einrichtung jeweils als abgeschlossen. |
/resurrectionchest setup | resurrectionchest.setup | Öffnet das Einrichtungsmenü (Truhen-Packs durchsuchen und umschalten, auf Plugin-Updates prüfen, empfohlene Plugins ansehen, automatische Updates umschalten) |
/resurrectionchest recommendedplugins | resurrectionchest.setup | Öffnet (oder listet für die Konsole) die empfohlenen Begleit-Plugins für ResurrectionChest auf: FreeMinecraftModels und ResourcePackManager |
/resurrectionchest downloadall | resurrectionchest.* | Lädt das Plugin-Update (falls vorhanden) und jedes verfügbare Inhaltspaket von Nightbreak herunter |
/resurrectionchest downloadallcontent | resurrectionchest.setup | Lädt jedes verfügbare Inhaltspaket von Nightbreak herunter |
/resurrectionchest updatecontent (Alias updateallcontent) | resurrectionchest.setup | Lädt nur veraltete installierte Inhaltspakete erneut herunter |
/resurrectionchest forcereinstallcontent <package|all> | resurrectionchest.* | Lädt ein Inhaltspaket (oder jedes heruntergeladene Pack) auch dann erneut herunter, wenn die installierte Version bereits aktuell ist. Paketnamen vervollständigen per Tab zu den Nightbreak-Slugs wooden-chest und angelic-chest sowie all |
/resurrectionchest downloadpluginupdate | resurrectionchest.* | Lädt ein ResurrectionChest-Plugin-Update herunter, falls eines verfügbar ist |
/resurrectionchest applypluginupdate | resurrectionchest.* | Wendet ein heruntergeladenes Plugin-Update ohne Server-Neustart an. Siehe Plugin-Updates ohne Neustart |
/resurrectionchest reload | resurrectionchest.* | Lädt ResurrectionChest neu |
/resurrectionchest clear | resurrectionchest.* | Löscht jeden verfolgten ResurrectionChest-Block; wirft das Inventar jeder verfolgten Truhe ab und entfernt die Truhen- und Schildblöcke |
/resurrectionchestchangelog [dismiss|disable] | op, resurrectionchest.*, resurrectionchest.setup oder resurrectionchest.initialize | Zeigt ungelesene ResurrectionChest-Versionshinweise im Spiel an. Siehe Changelog-Benachrichtigungen |
Heruntergeladene Plugin-Updates werden im Update-Ordner des Servers abgelegt. Sie werden nach dem nächsten Server-Neustart wirksam, sofern du sie nicht schon früher mit /resurrectionchest applypluginupdate oder über die Einstellung nightbreak.applyPluginUpdatesWithoutRestart anwendest.
Die mitgelieferten MagmaCore-Werkzeuge registrieren außerdem die gemeinsamen Befehle /nightbreak, /nightbreaklogin, /nightbreaklogout und /logify, sofern kein anderes Plugin diese Namen bereits beansprucht hat. Siehe Nightbreak-Tokens.
Plugin-Dateien
| Pfad | Zweck |
|---|---|
plugins/ResurrectionChest/config.yml | Jede Einstellung aus der Tabelle weiter unten |
plugins/ResurrectionChest/playerData.yml | Ein Eintrag pro registrierter Truhe, geschlüsselt nach Spieler-UUID: die location der Truhe, das bei der Registrierung gewählte chestModel-Präfix und eine trackedBlockSchemaVersion, mit der ältere Registrierungen auf die aktuellen Block-Besitzmarkierungen migriert werden |
plugins/ResurrectionChest/content_packages/ | Die Inhaltspaket-Definitionen wooden_chest.yml / angelic_chest.yml (isEnabled, name, description, version, folderName, nightbreakSlug, contentFilePrefixes sowie die optionalen downloadLink und category) |
plugins/ResurrectionChest/nightbreak-changelogs.yml | Gelesen-/Ausgeblendet-Status für den gemeinsamen Changelog-Posteingang hinter /resurrectionchestchangelog. Siehe Changelog-Benachrichtigungen |
plugins/ResurrectionChest/imports/ | Ablageordner für manuelle Importe. Alles, was hier abgelegt wird, wird beim Start entpackt — Modelldateien werden an FreeMinecraftModels weitergeleitet und FreeMinecraftModels wird automatisch aktualisiert. Siehe Manuelle Importe vs. In-Game-Verwaltung |
plugins/ResurrectionChest/resource_pack/ | Gemeinsame Nightbreak-Menüsymbole und Schriftart-Assets, die beim Laden des Plugins aus dem mitgelieferten MagmaCore exportiert und erneut exportiert werden, wenn sich die mitgelieferte Kopie ändert |
Bearbeite die playerData.yml nicht von Hand, während der Server läuft; ResurrectionChest schreibt sie jedes Mal neu, wenn eine Truhe registriert oder entfernt wird.
Konfiguration
config.yml stellt derzeit diese benutzerseitigen Einstellungen bereit:
| Konfigurationsschlüssel | Typ | Standard |
|---|---|---|
setupDone | boolean | false |
nightbreak.autoDownloadPluginUpdates | boolean | false |
nightbreak.applyPluginUpdatesWithoutRestart | string | never |
Input name for death chest | string | [DeathChest] |
Enable high compatibility / low security mode for plugin conflicts | boolean | false |
Lower worn armor's durability on death | boolean | true |
Amount of durability to lower on death | int | 100 |
Chest creation message | string | &8[ResurrectionChest] &aYou've created your Death Chest! |
Chest destruction message | string | &8[ResurrectionChest] &cYour Death Chest has been destroyed! |
Chest missing message | string | &8[ResurrectionChest] &4Your Death Chest is missing! |
Chest protected region message | string | &8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected! |
Death message | string | &8[ResurrectionChest] &aYour items have been moved to your Death Chest! |
deathChestRemovedMessage | string | &8[ResurrectionChest] &cYour Death Chest has been removed! |
Enable particle effects for death chests | boolean | true |
Particle effect 1 | string | ENCHANTMENT_TABLE |
Particle effect 2 | string | ENCHANTMENT_TABLE |
Particle effect 3 | string | PORTAL |
blacklistedWorlds | list | [none] |
storeXP | boolean | true |
xpPercentageKept | double | 0.75 |
deathChestNameTag | string | $playerName's &fResurrection Chest |
freeSingleDeathChestModelName | string | resurrectionchest_free_single |
freeDoubleDeathChestModelName | string | resurrectionchest_free_double |
premiumSingleDeathChestModelName | string | resurrectionchest_angelic_single |
premiumDoubleDeathChestModelName | string | resurrectionchest_angelic_double |
Automatische Plugin- & Inhalts-Updates
nightbreak.autoDownloadPluginUpdates ist eine gemeinsame Nightbreak-/MagmaCore-Einstellung, die in ResurrectionChest enthalten ist. Sie ist standardmäßig auf false gesetzt.
- Wenn
false(der Standard), wird nichts automatisch heruntergeladen. ResurrectionChest prüft weiterhin wenige Minuten nach dem Start (die Verzögerung ist pro Plugin versetzt) und danach etwa einmal pro Stunde auf ein Plugin-Update, damit die In-Game-Update-Schaltfläche das Ergebnis anzeigen kann, aber du löst jeden tatsächlichen Download selbst aus. - Wenn
true, lädt ResurrectionChest wenige Minuten nach dem Start ein verfügbares Plugin-Update und veraltete Inhaltspakete herunter. Heruntergeladene Inhalts-Updates werden nach dem Neustart des Servers verwendet. Auch ein heruntergeladenes Plugin-Update wartet auf einen Neustart, sofernnightbreak.applyPluginUpdatesWithoutRestartes nicht schon früher anwendet. - Automatische Plugin-Downloads erfordern ein gültiges Nightbreak-Konto-Token und eine aktive Supporter-Mitgliedschaft.
Du kannst diese Einstellung im Spiel über den Umschalter Automatic Updates in der Werkzeugleiste innerhalb von /resurrectionchest setup umschalten oder die config.yml direkt bearbeiten.
Das Einrichtungsmenü bietet außerdem einen Eintrag Plugin Update (zeigt die installierte/verfügbare Version an und lädt beim Klicken ein Update herunter) und einen Eintrag Recommended Plugins (dieselbe Liste wie /resurrectionchest recommendedplugins).
Plugin-Updates ohne Neustart
Ein heruntergeladenes Plugin-Update wartet im Update-Ordner des Servers. /resurrectionchest applypluginupdate spielt es ein, ohne den Server neu zu starten. ResurrectionChest wird deaktiviert, die Jar wird ersetzt und die neue Version wird geladen und aktiviert. Andere MagmaGuy-Plugins, die von ResurrectionChest abhängen, werden mit neu geladen.
Der Befehl bricht mit einer Meldung ab, wenn:
- kein heruntergeladenes Update wartet
- das wartende Update nicht neuer als die laufende Version oder seine Jar ungültig ist
- ein Plugin eines anderen Autors von ResurrectionChest abhängt oder es als Soft-Dependency nutzt. Starte den Server stattdessen neu
- bereits ein anderer Plugin-Austausch läuft
Lässt sich die neue Version nicht aktivieren, wird die vorherige Jar wieder geladen und das Update bleibt für den nächsten Neustart im Update-Ordner. Verwende diesen Befehl statt eines Plugin-Reloaders von Drittanbietern.
nightbreak.applyPluginUpdatesWithoutRestart in der config.yml legt fest, was direkt nach jedem Download eines Plugin-Updates passiert, egal ob er über downloadpluginupdate, downloadall, den Eintrag Plugin Update im Einrichtungsmenü oder einen automatischen Download kam:
| Wert | Verhalten |
|---|---|
never | Standard. Das Update wartet auf den nächsten Neustart. Online-Admins mit resurrectionchest.* erfahren, dass ein Neustart nötig ist, und bekommen den Befehl applypluginupdate angezeigt |
when-empty | Wendet das Update sofort an, wenn keine Spieler online sind; andernfalls wird alle 30 Sekunden geprüft und das Update angewendet, sobald der Server leer ist |
immediately | Wendet das Update an, sobald der Download abgeschlossen ist |
Jeder andere Wert verhält sich wie never.
Ein Austausch deaktiviert ResurrectionChest und aktiviert es wieder. Wie bei /resurrectionchest reload werden daher XP verworfen, die Spieler noch nicht aus ihren Truhen abgeholt haben. Die Gegenstände in den Truhen sind davon nicht betroffen.
Regionsschutz
Das Registrieren einer Todestruhe wird als Bauen behandelt: Bevor das Schild akzeptiert wird, fragt ResurrectionChest MagmaCores gemeinsame LocationQueryRegistry, ob der Spieler am Truhenblock bauen darf.
- WorldGuard und GriefPrevention werden automatisch eingebunden. Gemeinsame Anbieter für Standortzuordnungen können die Registrierung ebenfalls ablehnen, indem sie den Ort als geschützt melden. Ohne Schutzanbieter oder Anbieter für Standortzuordnungen gibt es keine zusätzliche Einschränkung.
- Verweigert ein Schutz-Plugin das Bauen, wird die Registrierung abgelehnt und dem Spieler wird
Chest protected region messagegesendet. - Wirft ein Schutz-Adapter einen Fehler, schlägt die Abfrage kontrolliert fehl (die Registrierung wird abgelehnt), statt den Schutz stillschweigend zu umgehen.
Die eingebauten Adapter werden zunächst beim Start eingebunden und bei späteren Abfragen erneut mit den aktivierten Plugins abgeglichen. Ist WorldGuard oder GriefPrevention aktiviert, lässt sich sein Adapter aber nicht einbinden, wird der Fehler protokolliert und jede Registrierung abgelehnt, solange dieses Plugin aktiviert bleibt. /resurrectionchest reload versucht das Einbinden nicht erneut. Ein neuer Versuch erfolgt, nachdem das Schutz-Plugin deaktiviert oder neu geladen wurde, nach einem ResurrectionChest-Update ohne Neustart oder nach einem Server-Neustart.
Haltbarkeitsstrafe für Rüstung
Lower worn armor's durability on death (Standard true) und Amount of durability to lower on death (Standard 100) werden auf die getragene Rüstung des Spielers angewendet, während sie in die Todestruhe geleitet wird:
- jedes getragene Rüstungsteil, das in der Todesbeute auftaucht, erhält
Amount of durability to lower on deathauf seinen Schadenswert addiert - würde das Teil dadurch seine maximale Haltbarkeit erreichen oder überschreiten, wird es vollständig aus der Beute entfernt (es wird zerstört statt gelagert)
- andernfalls landet das beschädigte Teil in der Truhe
Eine Haltbarkeitsstrafe von null oder ein negativer Wert hat keine Wirkung.
Die Strafe läuft nur bei Toden, die ResurrectionChest tatsächlich behandelt — sie wird übersprungen, wenn keepInventory aktiv ist, wenn die Welt auf der Blacklist steht, wenn dem Spieler resurrectionchest.use fehlt und wenn die registrierte Truhe fehlt.
Hochkompatibilitätsmodus
Enable high compatibility / low security mode for plugin conflicts ist standardmäßig false und bestimmt, wie streng ResurrectionChest einen Block vor einer Aktion prüft.
- Bei
falsegilt ein Schild oder eine Truhe nur dann als ResurrectionChest-Block, wenn die vom Plugin in den persistenten Blockdaten gespeicherte Eigentümermarkierung noch vorhanden ist. - Bei
truewird eine fehlende Markierung am registrierten Ort akzeptiert. Eine widersprechende Eigentümermarkierung bleibt ungültig, und eine registrierte Truhe muss weiterhin ein Truhenblock sein.
Verwende diesen Modus, wenn ein anderes Plugin die Eigentümermarkierungen von ResurrectionChest entfernt. Er lockert die Prüfung auf fehlende Markierungen, erlaubt aber keine beliebigen Ersatzblöcke oder widersprechenden Eigentümermarkierungen.
XP-Behandlung
Wenn storeXP aktiviert ist:
- ResurrectionChest verfolgt die Gesamt-XP des Spielers während des Spiels, liest aber im Moment des Todes den tatsächlichen Gesamtwert des Spielers, sodass XP, die direkt über die API eines anderen Plugins vergeben wurden, ebenfalls zählen
- beim Tod speichert es
round(total XP * xpPercentageKept), begrenzt auf den nichtnegativen Ganzzahlbereich - es setzt die abgeworfene XP auf
0 - es gibt die gespeicherte XP zurück, wenn der Besitzer das nächste Mal seine registrierte Truhe öffnet (jede Hälfte einer Doppeltruhe zählt)
- ein erneuter Tod vor dem Abholen addiert zum gespeicherten Betrag, statt ihn zu ersetzen
xpPercentageKept wird beim Einlesen der Konfiguration auf den Bereich 0-1 begrenzt, sodass Werte über 1 wie 1 wirken und negative oder ungültige Werte wie 0.
Wichtige Ausnahmen:
- Wenn
keepInventoryaktiv ist, tut ResurrectionChest nichts. - Wenn
keepLevelaktiv ist, wird der XP-Speicherzweig übersprungen und die Vanilla-Level-Behandlung bleibt unverändert. - Gespeicherte XP werden nur im Arbeitsspeicher gehalten. Sie werden nicht in die
playerData.ymlgeschrieben, sodass ein Server-Neustart, ein/resurrectionchest reload, ein Plugin-Reload oder ein Plugin-Update ohne Neustart alle noch nicht abgeholten XP verwirft. Die bereits in der Truhe liegenden Gegenstände sind davon nicht betroffen.
Überlaufbehandlung
Gegenstände werden stapelweise in die Truhe eingefügt, und teilweises Einfügen ist erlaubt:
- was hineinpasst, wird gelagert, einschließlich des Auffüllens eines bestehenden Stapels
- nur die übrige Menge bleibt in der normalen Todesbeute-Liste am Todesort
- der Spieler erhält eine Warnung, dass die Truhe voll war
FreeMinecraftModels-Integration
Wenn FreeMinecraftModels installiert ist, kann ResurrectionChest ein visuelles Truhen-Modell auf der echten Truhe spawnen.
Aktuelles Verhalten:
- Premium-Visualisierungen (Angelic Chest) werden bevorzugt, wenn der Spieler
resurrectionchest.model.premiumhat und das Premium-Modell tatsächlich geladen ist - andernfalls wird die kostenlose Visualisierung (Wooden Chest) verwendet, wenn der Spieler
resurrectionchest.model.freehat - wenn keine der Berechtigungen ein verwendbares Modell freigibt, wird kein Modell gespawnt und die Vanilla-Truhe wird unverändert verwendet
- das visuelle Modell wechselt zwischen Einzel- und Doppelvarianten basierend auf der Truhengröße
- die echte Truhe bleibt das Speicher-Backend
- Modelle werden aufgefrischt, sobald FreeMinecraftModels einen Reload abschließt, auch einen, der außerhalb von ResurrectionChest gestartet wurde, und ein passendes Modell, das bereits an der Truhe steht, wird wiederverwendet, statt ein Duplikat zu spawnen
Die Modellwahl wird einmalig bei der Registrierung der Truhe getroffen und in der playerData.yml als chestModel dieser Truhe gespeichert. Das hat zwei Konsequenzen:
- war FreeMinecraftModels zum Zeitpunkt der Registrierung nicht installiert, wird die Truhe ohne Modell erfasst und bleibt auch nach der Installation von FreeMinecraftModels eine schlichte Vanilla-Truhe
- eine spätere Berechtigungsänderung stuft eine bestehende Truhe nicht rückwirkend hoch oder herab
In beiden Fällen muss der Spieler die Truhe neu registrieren (zerstören und das Schild erneut platzieren), um das neue Modell zu erhalten.
Wenn ein benutzerdefiniertes Modell aktiv ist, können Spieler direkt damit interagieren:
- Rechtsklick auf das Modell öffnet das zugrunde liegende Truheninventar
- Linksklick auf das Modell hebt die Registrierung auf (nur der Besitzer kann dies tun; ein Nicht-Besitzer, der linksklickt, erhält eine rote Nachricht und es wird nichts zerstört)
Wenn FreeMinecraftModels fehlt oder das Modell nicht gespawnt werden kann, funktioniert die zugrunde liegende Truhe weiterhin normal.
Inhaltspakete
ResurrectionChest wird mit zwei Inhaltspaketen ausgeliefert, die die FreeMinecraftModels-Truhenmodelle umhüllen:
- Wooden Chest (kostenlos): bietet
resurrectionchest_free_single/resurrectionchest_free_double. Wird vonresurrectionchest.model.freeverwendet. - Angelic Chest (Premium): bietet
resurrectionchest_angelic_single/resurrectionchest_angelic_double. Wird vonresurrectionchest.model.premiumverwendet.
Jedes Pack liegt nach der Installation im models-Ordner von FreeMinecraftModels und nach der Deinstallation im models_disabled-Ordner. Das Umschalten über /resurrectionchest setup verschiebt die Dateien zwischen diesen Ordnern und lädt FreeMinecraftModels automatisch neu.
Quellcode-basierte Vorbehalte
Der aktuelle Quellcode zeigt einige Konfigurationseinträge, die in config.yml verfügbar sind, aber nirgendwo außerhalb von DefaultConfig referenziert werden:
Particle effect 1Particle effect 2freeSingleDeathChestModelNamefreeDoubleDeathChestModelNameundpremiumDoubleDeathChestModelName(das Plugin codiert intern die Modellnamen-Präfixeresurrectionchest_freeundresurrectionchest_angelicfest und hängt dann je nach Truhengröße_singleoder_doublean, sodass die „Double“-Konfigurationsschlüssel die Truhen-Visualisierung derzeit nicht beeinflussen)
Im Gegensatz dazu ist Particle effect 3 die Partikeleinstellung mit einer offensichtlichen aktiven Verwendung im aktuellen Code: Sie wird einmalig beim Laden aufgelöst (mit Rückfall auf PORTAL und einer Konsolenwarnung, falls der Name kein gültiger Partikel ist) und danach jeden Tick gespawnt, solange der Chunk der Truhe geladen ist. Enable particle effects for death chests auf false zu setzen bricht diese Tick-Aufgabe vollständig ab, was auf Servern mit vielen registrierten Truhen die günstigste Option ist. premiumSingleDeathChestModelName wird verwendet, um zu überprüfen, ob die Premium-Modelldatei existiert, bevor das Premium-Präfix zugewiesen wird; die Existenz der kostenlosen Modelldatei wird nicht separat geprüft.
Zwei weitere Vorbehalte zur Befehlsoberfläche:
/resurrectionchest initializeöffnet die Ersteinrichtung und erfordertresurrectionchest.initialize./resurrectionchest setupöffnet die Inhalts-, Update- und Plugin-Empfehlungsfunktionen./resurrectionchest clearist nicht auf einen Spieler beschränkt. Es löscht in einem Durchgang jede registrierte Truhe auf dem Server.
Der Löschbefehl beachtet die konfigurierten Eigentümerprüfungen und lässt Blöcke, die diese nicht bestehen, unangetastet. Ist die Welt der Truhe entladen, wird die Registrierung ohne Entfernung der dortigen Blöcke gelöscht.