ResurrectionChest Konfiguration und Berechtigungen
Berechtigungen
| Berechtigung | Zweck | Standard |
|---|---|---|
resurrectionchest.* | Gibt Admins Zugriff auf die Befehle setup, content, update, reload und clear | 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 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 |
/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 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 |
Heruntergeladene Plugin-Updates werden im Update-Ordner des Servers abgelegt und werden erst nach dem nächsten Server-Neustart wirksam.
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 (Name, Beschreibung, Download-Link, Version, isEnabled, 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 |
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.
Konfigurationsoberfläche
config.yml stellt derzeit diese benutzerseitigen Einstellungen bereit:
| Konfigurationsschlüssel | Typ | Standard |
|---|---|---|
setupDone | boolean | false |
nightbreak.autoDownloadPluginUpdates | boolean | false |
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 beim Start (und ungefähr einmal pro Stunde) weiterhin 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 beim Start ein verfügbares Plugin-Update und veraltete Inhaltspakete herunter. Heruntergeladene Plugin- und Inhalts-Updates werden erst nach dem Neustart des Servers verwendet. - 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).
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; ist keines von beiden installiert, gibt es keine zusätzliche Einschränkung und die Registrierung verhält sich genau wie zuvor.
- 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 Adapter werden beim Start angehängt, sodass ein Fehler beim Anhängen im Boot-Log auftaucht und nicht erst bei der ersten Truhenregistrierung.
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
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. Dann muss die gespeicherte Eigentümermarkierung zum registrierten Schild oder zur Truhe passen.
Bei true wird eine fehlende Markierung am registrierten Ort akzeptiert. Eine widersprechende Eigentümermarkierung bleibt ungültig, und eine registrierte Truhe muss weiterhin ein Truhenblock sein. Dieser Modus hilft bei Plugins, die Markierungen entfernen; beliebige Ersatzblöcke werden dadurch nicht akzeptiert.
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
Gesamt-XP * xpPercentageKept - 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 reloadoder ein Plugin-Reload 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
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.