Skip to main content

ResurrectionChest Config And Permissions

Permissions​

PermissionPurposeDefault
resurrectionchest.*Gives admins access to the base command and the downloadall, forcereinstallcontent, downloadpluginupdate, applypluginupdate, reload, and clear subcommands, and shows them the first-boot reminder. setup and initialize check their own nodes belowop
resurrectionchest.setupGives admins access to /resurrectionchest setup, recommendedplugins, downloadallcontent, and updatecontentop
resurrectionchest.initializeOpens the first-time setup menu with /resurrectionchest initializeop
resurrectionchest.useLets a player register a chest and have death drops routed into ittrue
resurrectionchest.model.freeLets a player use the free FreeMinecraftModels chest visuals (Wooden Chest)true
resurrectionchest.model.premiumLets a player use the premium FreeMinecraftModels chest visuals (Angelic Chest)op

resurrectionchest.use is the important one for actual chest behavior. The admin and model permissions only affect commands and optional visuals respectively.

Commands​

CommandPermissionPurpose
/resurrectionchestresurrectionchest.*Prints a short info blurb pointing to the setup flow
/resurrectionchest initializeresurrectionchest.initializeOpens guided first-time setup; Recommended Setup, Manual Setup and Use Current Content mark setup complete.
/resurrectionchest setupresurrectionchest.setupOpens the setup menu (browse/toggle chest packs, check plugin updates, see recommended plugins, toggle automatic updates)
/resurrectionchest recommendedpluginsresurrectionchest.setupOpens (or, for the console, lists) the recommended companion plugins for ResurrectionChest: FreeMinecraftModels and ResourcePackManager
/resurrectionchest downloadallresurrectionchest.*Downloads the plugin update (if any) and every available content pack from Nightbreak
/resurrectionchest downloadallcontentresurrectionchest.setupDownloads every available content pack from Nightbreak
/resurrectionchest updatecontent (alias updateallcontent)resurrectionchest.setupRe-downloads only outdated installed content packs
/resurrectionchest forcereinstallcontent <package|all>resurrectionchest.*Re-downloads a content pack (or every downloaded pack) even when the installed version is already current. Package names tab-complete to the Nightbreak slugs wooden-chest and angelic-chest, plus all
/resurrectionchest downloadpluginupdateresurrectionchest.*Downloads a ResurrectionChest plugin update if one is available
/resurrectionchest applypluginupdateresurrectionchest.*Applies a downloaded plugin update without a server restart. See Restart-Free Plugin Updates
/resurrectionchest reloadresurrectionchest.*Reloads ResurrectionChest
/resurrectionchest clearresurrectionchest.*Clears every tracked ResurrectionChest block; drops each tracked chest's inventory and removes the chest and sign blocks
/resurrectionchestchangelog [dismiss|disable]op, resurrectionchest.*, resurrectionchest.setup, or resurrectionchest.initializeShows unread ResurrectionChest release notes in-game. See Changelog Notifications

Downloaded plugin updates are placed in the server's update folder. They take effect after the next server restart, unless you apply them earlier with /resurrectionchest applypluginupdate or the nightbreak.applyPluginUpdatesWithoutRestart setting.

The bundled MagmaCore tooling also registers the shared /nightbreak, /nightbreaklogin, /nightbreaklogout, and /logify commands when no other plugin has claimed those names. See Nightbreak Tokens.

Plugin Files​

PathPurpose
plugins/ResurrectionChest/config.ymlEvery setting in the table below
plugins/ResurrectionChest/playerData.ymlOne entry per registered chest, keyed by player UUID: the chest location, the chestModel prefix picked when the chest was registered, and a trackedBlockSchemaVersion used to migrate older registrations onto the current block-ownership tags
plugins/ResurrectionChest/content_packages/The wooden_chest.yml / angelic_chest.yml content-pack definitions (isEnabled, name, description, version, folderName, nightbreakSlug, contentFilePrefixes, and the optional downloadLink and category)
plugins/ResurrectionChest/nightbreak-changelogs.ymlRead/dismissed state for the shared changelog inbox behind /resurrectionchestchangelog. See Changelog Notifications
plugins/ResurrectionChest/imports/Manual import drop folder. Anything left here is unpacked on startup — model files are routed into FreeMinecraftModels and FreeMinecraftModels is refreshed automatically. See Manual imports vs in-game management
plugins/ResurrectionChest/resource_pack/Shared Nightbreak menu icon and font assets, exported from the bundled MagmaCore when the plugin loads and exported again when the bundled copy changes

Do not hand-edit playerData.yml while the server is running; ResurrectionChest rewrites it whenever a chest is registered or removed.

Config Surface​

config.yml currently exposes these user-facing settings:

Config KeyTypeDefault
setupDonebooleanfalse
nightbreak.autoDownloadPluginUpdatesbooleanfalse
nightbreak.applyPluginUpdatesWithoutRestartstringnever
Input name for death cheststring[DeathChest]
Enable high compatibility / low security mode for plugin conflictsbooleanfalse
Lower worn armor's durability on deathbooleantrue
Amount of durability to lower on deathint100
Chest creation messagestring&8[ResurrectionChest] &aYou've created your Death Chest!
Chest destruction messagestring&8[ResurrectionChest] &cYour Death Chest has been destroyed!
Chest missing messagestring&8[ResurrectionChest] &4Your Death Chest is missing!
Chest protected region messagestring&8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected!
Death messagestring&8[ResurrectionChest] &aYour items have been moved to your Death Chest!
deathChestRemovedMessagestring&8[ResurrectionChest] &cYour Death Chest has been removed!
Enable particle effects for death chestsbooleantrue
Particle effect 1stringENCHANTMENT_TABLE
Particle effect 2stringENCHANTMENT_TABLE
Particle effect 3stringPORTAL
blacklistedWorldslist[none]
storeXPbooleantrue
xpPercentageKeptdouble0.75
deathChestNameTagstring$playerName's &fResurrection Chest
freeSingleDeathChestModelNamestringresurrectionchest_free_single
freeDoubleDeathChestModelNamestringresurrectionchest_free_double
premiumSingleDeathChestModelNamestringresurrectionchest_angelic_single
premiumDoubleDeathChestModelNamestringresurrectionchest_angelic_double

Automatic Plugin & Content Updates​

nightbreak.autoDownloadPluginUpdates is a shared Nightbreak/MagmaCore setting that ships inside ResurrectionChest. It defaults to false.

  • When false (the default), nothing is downloaded automatically. ResurrectionChest still checks for a plugin update a few minutes after startup (the delay is staggered per plugin) and then about once per hour, so the in-game update button can show the result, but you trigger any actual download yourself.
  • When true, ResurrectionChest downloads an available plugin update and outdated content packs a few minutes after startup. Downloaded content updates are used after the server restarts. A downloaded plugin update also waits for a restart unless nightbreak.applyPluginUpdatesWithoutRestart applies it sooner.
  • Automatic plugin downloads require a valid Nightbreak account token and an active supporter membership.

You can flip this setting in-game from the Automatic Updates toolbar toggle inside /resurrectionchest setup, or edit config.yml directly.

The setup menu also exposes a Plugin Update entry (shows the installed/available version and downloads an update on click) and a Recommended Plugins entry (the same list as /resurrectionchest recommendedplugins).

Restart-Free Plugin Updates​

A downloaded plugin update waits in the server's update folder. /resurrectionchest applypluginupdate swaps it in without restarting the server. ResurrectionChest is disabled, its jar is replaced, and the new version is loaded and enabled. Other MagmaGuy plugins that depend on ResurrectionChest are reloaded with it.

The command refuses, with a message, when:

  • no downloaded update is waiting
  • the waiting update is not newer than the running version, or its jar is not valid
  • a plugin from another author depends or soft-depends on ResurrectionChest. Restart the server instead
  • another plugin swap is already running

If the new version fails to enable, the previous jar is loaded again and the update stays in the update folder for the next restart. Use this command rather than a third-party plugin reloader.

nightbreak.applyPluginUpdatesWithoutRestart in config.yml decides what happens right after any plugin update download, whether it came from downloadpluginupdate, downloadall, the setup menu's Plugin Update entry, or an automatic download:

ValueBehavior
neverDefault. The update waits for the next restart. Online admins with resurrectionchest.* are told a restart is required and are shown the applypluginupdate command
when-emptyApplies the update immediately if no players are online, otherwise checks every 30 seconds and applies it once the server is empty
immediatelyApplies the update as soon as the download finishes

Any other value behaves as never.

A swap disables and re-enables ResurrectionChest, so, as with /resurrectionchest reload, XP that players have not collected from their chests yet is discarded. Items in the chests are unaffected.

Region Protection​

Registering a death chest is treated as building: before the sign is accepted, ResurrectionChest asks MagmaCore's shared LocationQueryRegistry whether the player may build at the chest block.

  • WorldGuard and GriefPrevention are wrapped automatically. Shared location-ownership providers can also refuse registration by reporting the location as protected. With no protection or ownership provider, there is no extra restriction.
  • If a protection plugin denies the build, the registration is refused and the player is sent Chest protected region message.
  • If a protection adapter throws an error, the query fails closed (the registration is refused) rather than silently bypassing protection.

The built-in adapters are first attached during startup and checked again against the enabled plugins on later queries. If WorldGuard or GriefPrevention is enabled but its adapter fails to attach, the failure is logged and every registration is refused while that plugin stays enabled. /resurrectionchest reload does not retry the attach. It is retried after that protection plugin is disabled or reloaded, after a restart-free ResurrectionChest update, or after a server restart.

Armor Durability Penalty​

Lower worn armor's durability on death (default true) and Amount of durability to lower on death (default 100) are applied to the player's worn armor as it is being routed into the death chest:

  • each worn armor piece that appears in the death drops has Amount of durability to lower on death added to its damage value
  • if that would take the piece to or past its maximum durability, the piece is removed from the drops entirely (it is destroyed rather than stored)
  • otherwise the damaged piece is what gets placed in the chest

A zero or negative durability penalty does nothing.

The penalty only runs on deaths that ResurrectionChest actually handles — it is skipped when keepInventory is on, when the world is blacklisted, when the player lacks resurrectionchest.use, and when the registered chest is missing.

High Compatibility Mode​

Enable high compatibility / low security mode for plugin conflicts (default false) controls how strictly ResurrectionChest verifies a block before acting on it.

  • When false, a sign or chest is only treated as ResurrectionChest's if it still carries the owner tag the plugin writes into the block's persistent data.
  • When true, a missing ownership tag is accepted at a tracked location. A conflicting owner tag is still rejected, and a tracked chest must still be a chest block.

Use this mode when another plugin removes ResurrectionChest's ownership tags. It relaxes the missing-tag check; it does not allow arbitrary replacement blocks or conflicting ownership tags.

XP Handling​

When storeXP is enabled:

  • ResurrectionChest tracks the player's total XP during play, but reads the player's live total at the moment of death, so XP granted straight through another plugin's API is still counted
  • on death, it stores round(total XP * xpPercentageKept), bounded to the nonnegative integer range
  • it sets dropped XP to 0
  • it gives the stored XP back when the owner next opens their registered chest (either half of a double chest counts)
  • dying again before collecting adds to the stored amount rather than replacing it

xpPercentageKept is clamped into the 0-1 range when the config is read, so values above 1 behave as 1 and negative or invalid values behave as 0.

Important exceptions:

  • If keepInventory is active, ResurrectionChest does nothing.
  • If keepLevel is active, the XP-storage branch is skipped and vanilla level handling is left alone.
  • Stored XP is held in memory only. It is not written to playerData.yml, so a server restart, a /resurrectionchest reload, a plugin reload, or a restart-free plugin update discards any XP that has not been collected yet. The items already inside the chest are unaffected.

Overflow Handling​

Items are inserted into the chest one stack at a time and partial insertion is allowed:

  • whatever fits is stored, including topping up an existing stack
  • only the leftover amount stays in the normal death-drop list at the death location
  • the player gets a warning that the chest was full

FreeMinecraftModels Integration​

If FreeMinecraftModels is installed, ResurrectionChest can spawn a visual chest prop on top of the real chest.

Current behavior:

  • premium visuals (Angelic Chest) are preferred when the player has resurrectionchest.model.premium and the premium model is actually loaded
  • otherwise the free visual (Wooden Chest) is used when the player has resurrectionchest.model.free
  • if neither permission grants a usable model, no prop is spawned and the vanilla chest is used as-is
  • the visual model switches between single and double variants based on chest size
  • the real chest is still the storage backend
  • props are refreshed whenever FreeMinecraftModels finishes a reload, including one started outside ResurrectionChest, and a matching prop already standing at the chest is reused instead of spawning a duplicate

The model choice is made once, when the chest is registered, and is stored in playerData.yml as that chest's chestModel. Two consequences:

  • if FreeMinecraftModels was not installed at registration time, the chest is recorded with no model and stays a plain vanilla chest even after FreeMinecraftModels is installed
  • a permission change afterwards does not retroactively upgrade or downgrade an existing chest

In both cases the player has to re-register the chest (break it and place the sign again) to pick up the new model.

When a custom model prop is active, players can interact with it directly:

  • right-click the prop to open the underlying chest inventory
  • left-click the prop to destroy the registration (only the owner can do this; a non-owner who left-clicks gets a red message and nothing is destroyed)

If FreeMinecraftModels is missing or the model cannot be spawned, the underlying chest still works normally.

Content Packs​

ResurrectionChest ships with two content packs that wrap the FreeMinecraftModels chest models:

  • Wooden Chest (free): provides resurrectionchest_free_single / resurrectionchest_free_double. Used by resurrectionchest.model.free.
  • Angelic Chest (premium): provides resurrectionchest_angelic_single / resurrectionchest_angelic_double. Used by resurrectionchest.model.premium.

Each pack lives under FreeMinecraftModels' models folder when installed and models_disabled when uninstalled. Toggling them through /resurrectionchest setup moves the files between those folders and reloads FreeMinecraftModels automatically.

Source-Backed Caveats​

The current source shows a few config entries that are exposed in config.yml but not referenced anywhere outside DefaultConfig:

  • Particle effect 1
  • Particle effect 2
  • freeSingleDeathChestModelName
  • freeDoubleDeathChestModelName and premiumDoubleDeathChestModelName (the plugin internally hardcodes the model-name prefixes resurrectionchest_free and resurrectionchest_angelic, then appends _single or _double based on chest size, so the "Double" config keys do not currently affect chest visuals)

By contrast, Particle effect 3 is the particle setting with an obvious live use in the current code: it is resolved once on load (falling back to PORTAL with a console warning if the name is not a valid particle) and then spawned every tick while the chest's chunk is loaded. Setting Enable particle effects for death chests to false cancels that per-tick task entirely, which is the cheapest option on servers with many registered chests. premiumSingleDeathChestModelName is used to verify the premium model file exists before assigning the premium prefix; the free model file's existence is not checked separately.

Two more command-surface caveats:

  • /resurrectionchest initialize opens the first-time setup menu and requires resurrectionchest.initialize. /resurrectionchest setup opens the content, update, and recommended-plugin controls.
  • /resurrectionchest clear is not scoped to one player. It wipes every registered chest on the server in one pass.

The clear command respects the configured ownership checks, leaving blocks that fail them untouched. If the chest's world is unloaded, it clears the registration without removing the blocks there.