Eternal death drops

No more despawn for player death drops! Also includes smart backups!

89 downloads 0 followers

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 .mca and .dat files) with adjustable stability checks and timeouts
    • Asynchronous ZIP compression with adjustable level (0–9)
    • Automatic cleanup of old backups
  • 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
    • ChunkLoadEvent only 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

📖 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 /backup
  • eternaldeathdrops.clear – allows using /cleareternaldrops
  • eternaldeathdrops.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

No gallery available for this project.

Version Minecraft Loader Download

Eternal death drops 1.0.4

1.0.4

1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, paper, purpur, spigot
Download

Eternal death drops 1.0.3

1.0.3

1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, paper, purpur, spigot
Download

Eternal death drops 1.0.2

1.0.2

1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, paper, purpur, spigot
Download

Eternal death drops 1.0.1

1.0.1

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper, purpur
Download

Eternal death drops 1.0.0

1.0.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper, purpur
Download