Eternal death drops
No more despawn for player death drops! Also includes smart backups!
EternalDeathDrops – Backup & Eternal Death Drops
EternalDeathDrops is a lightweight, performance‑optimized plugin that combines two essential features for server administrators:
- Automated world backups – create scheduled backups of your worlds with custom categories and retention policies.
- Eternal death drops – items dropped on death never despawn (or have a configurable lifetime), ensuring no loot is lost.
✨ Features
-
Flexible backup system
- Built‑in categories:
startup,hourly,manual - Fully customizable categories with independent intervals, folder names, and max backup count
- Configurable world list – backup only the worlds you specify
- Smart save‑wait algorithm (monitors
.mcaand.datfiles) with adjustable stability checks and timeouts - Asynchronous ZIP compression with adjustable level (0–9)
- Automatic cleanup of old backups
- Built‑in categories:
-
Eternal death drops
- Items dropped by players are marked as "eternal" – they will never despawn (or will despawn after a customizable time in ticks)
- Persistent metadata across server restarts – items keep their lifetime counter
- Full support for item pickups – metadata is removed when picked up, and the item returns to normal behaviour
- Fully customizable and includes many features!
-
Performance first
- All heavy operations (backup creation, old backup deletion) run asynchronously
ChunkLoadEventonly processes items in the loaded chunk, not the whole world- Minimal impact on MSPT – tested with 150 simultaneous player deaths with full inventories – MSPT increased by only ~14% (from ~7.X ms to 8.0 ms) during normal chunk loading, and up to 30 ms when loading chunks with thousands of items (which would drop client FPS from 120 to below 1).
-
Full configurability
- All features can be enabled/disabled via
config.yml - Set your own world folders, lifetime ticks, backup intervals, retention limits, and compression level
- All features can be enabled/disabled via
📖 Commands
| Command | Description | Permission |
|---|---|---|
/backup | Creates a manual backup of all worlds | eternaldeathdrops.backup |
/cleareternaldrops | Removes all eternal death drop items from the server | eternaldeathdrops.clear |
/eternaldeathdrops reload | Reloads the plugin configuration from disk | eternaldeathdrops.reload |
All commands require op by default.
🔐 Permissions
eternaldeathdrops.backup– allows using/backupeternaldeathdrops.clear– allows using/cleareternaldropseternaldeathdrops.reload– allows using/eternaldeathdrops reload
⚡ Performance
- Tested on paper 1.21.11 with 6000 stacks of items in one chunk and mspt increased by 10-20%(from ~9-10 mspt to ~10-12 mspt).
- Tested with default config.
- Backups can be produced in up to 3 seconds of waiting from /backup to .zip file in backup directory.
🔧 Compatibility
- Plugin was coded on just bukkit api so it compatible with Bukkit, Paper, Purpur, Spigot and other server-cores that have bukkit api in them(do not compatible with folia).
- Plugin uses only 1.14+ bukkit api so it can be used in various servers.
⚙️ Configuration
The plugin generates a default config.yml on first run. Key settings:
# Enable/disable plugin features
features:
backup: true # Enable automated backups. Default: true
eternal-items: true # Enable eternal death drops. Default: true
# World folders to backup (list of folder names in server root)
# If not specified or empty, default worlds will be used: world, world_nether, world_the_end
worlds:
- "world"
- "world_nether"
- "world_the_end"
Lifetime of eternal items in ticks (0 = forever, 20 ticks = 1 second)
eternal-lifetime-ticks: 0
Time beetween checks for expired items and time beetween ticking timers(default = 20 ticks = 1 second)
The higher this value the more performance, but it can cause smaller accuracy of lifetime timers
time-between-checks: 20
This option controls do timers of item's lifetime tick in only
loaded chunks(default = true)
do-items-only-tick-in-loaded-chunks: true
This option controls can other players pickup your death's items( default = true)
can-other-players-pickup-death-drops: true
This option controls can mobs pickup playrs death's items(default = true)
can-other-mobs-pickup-death-drops: true
These options controls how items spread after death(default values are equal to vanilla)
death-item-spread: x: 0.5 # Random offset on X axis (total range = ±x/2). Default: 0.5 y: 0.2 # Vertical offset added to the drop position. Default: 0.2 z: 0.5 # Random offset on Z axis (total range = ±z/2). Default: 0.5
do-items-glow: false # If true, items will glow white when dropped. Default: false
Maximum number of backups to keep for each category (set to 0 to disable the category)
max-backups: startup: 3 hourly: 3 manual: 3
Interval for hourly backup in ticks (0 = disabled, 20 ticks = 1 second)
hourly-interval: 72000 # 1 hour
Timeout for waiting for save completion in ticks.
If set to 0 or negative, the default (600 ticks = 30 seconds) will be used.
Increase this value if you see frequent timeout warnings.
save-timeout-ticks: 600
Number of consecutive checks (every 200ms) that must show no changes
to consider save completed. Default 10 = 2 seconds of stability.
stability-checks: 10
Delay after stability is achieved, in ticks (20 ticks = 1 second).
This extra wait ensures all data is flushed. Default 20 = 1 second.
post-stability-delay: 20
ZIP compression level (0 = no compression, 9 = maximum, default 6)
compression-level: 6
Custom backup categories (all disabled by default)
You can create as many of those as you need
custom-categories: custom1: enabled: false interval: 36000 # 30 minutes folder-name: "custom1_backups" max_backups: 3 custom2: enabled: false interval: 144000 # 2 hours folder-name: "custom2_backups" max_backups: 3
Options below are WIP and do not affect anything yet
These options control how glowing effect will be applied to items
item-glowing: enabled: false color: static: true # If true, the color will be the same for all items color: "000000" # Only for static color. Default: "000000" based-on-the-dimensions: false # If true, the color will be based on the dimension player died in or items in. Default: false based-on-the-player-dim: true # If true, the color will be based on the player death location's dimension. Default: true bosed-on-the-items-dim: false # If true, the color will be based on the item location's dimension. Default: false dimensions: # Controls the color for dimensions. Default values: "- overworld: LIME"\n- "nether: RED"\n- "end: BLACK". Handle only minecraft's teams colors - "overworld: LIME" - "nether: RED" - "end: PURPLE" based-on-the-owner: false # If true color will be based on the owner of the item. Default: false
only-to-owner: false # If true, the glowing effect will only be visible to the owner of the item. Default: false
Сервер для плагина Eternal death drops - как у профи
Плагин Eternal death drops создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Eternal death drops для друзей можно за пару минут - BungeeHost всё уже подготовил.