Project Overview

What It Is

PaperMC Despawned Items is a Paper (Minecraft) server plugin. Instead of letting ground items vanish when their despawn timer expires, it relocates them into a registered network of nearby containers, cookers, entities, or empty space. It also provides a /recycle command that despawns the item in a player's hand into the network for a reward (progress tracked in the player's PersistentDataContainer). Originally an internal plugin for the PopupMC server.

Repo slug, Bukkit plugin id, jar, and data folder: papermc-despawned-items. Display/listed name: PaperMC Despawned Items. Kotlin main class: PaperMcDespawnedItems.

Goals

  • Preserve items that would otherwise be lost to despawn, without server lag — the pipeline is throttled per tick, lookups are O(1), and persistence is incremental and off-thread.
  • Let regular players own and manage their own despawn locations, capped by per-group despi.limit.<n> permissions, with admin override.
  • Offer real storage choices for large/networked servers: YAML, SQLite, or MySQL/MariaDB.
  • Be well tested (JUnit 5 + MockBukkit, run by CI) — see ../plans/testing.md.
  • Target the Paper 1.21.x line (built against 1.21.11, Java 21) so MockBukkit is available and the largest install base is covered; still loads on 26.x.

Repository

https://github.com/1fairyfox/papermc-despawned-items (moved from PopupMC/DespawnedItems).

Developer

Built by Fairy Fox (github.com/1fairyfox). Licensed Apache 2.0.

History

Created 2021 as a Java 11 / Maven plugin for Minecraft 1.16.5 (an unfinished "90% done" rewrite). Rewritten to Kotlin/Gradle in July 2026 (fairyfox mesh onboarding), then refactored for modern architecture, scale, and full testing — see notes/decisions/architecture.md, notes/plans/refactor-2026-07.md, and the onboarding report in notes/fairyfox-reports/.