Loot Spawn Manager
A powerful Minecraft Forge 1.16.5 admin tool for coordinate-based loot spawning — DayZ/Tarkov style. Define points in the world, bind them to loot templates, and let the scheduler drop configurable items on configurable timers. Everything is driven from an in-game GUI; no commands required for day-to-day work.
Version: 0.0.9 · Minecraft: 1.16.5 · Forge: 36.2.42 · Java: 8
Highlights
- Coordinate-based spawning — points are world locations, not blocks
- 5 spawn modes — GROUND, RADIUS, ONLY_IF_EMPTY, REPLACE_OLD, ADDITIVE
- Two item-selection modes — chance (0–100% per item) or weighted pool
- Per-point custom loot — override a template's items on a single point
- Fast point creation — Wand (right-click) and Region Brush (bulk patterns)
- Interactive Map — see all spawn points on a zoomable coordinate grid; drag to reposition; filter by template
- Schedule windows — points active only during set hours (e.g. 22:00–06:00)
- Template priority — tiebreak when points are due at the same tick
- Live monitoring — event feed, per-point statistics, health check
- Safety — 10-level undo, one-click backup restore, admin log, permission delegation, confirmation dialogs for destructive ops
- Multi-admin awareness — other admins receive toast notifications when data changes
- Visual loot grid — toggle between list and icon-grid view in the template editor; hover for stats
- Per-template export — one click exports a template to
exports/template_NAME.json without touching its group
- Scales — chunked sync (≤10 points/packet) supports tens of thousands of points
- 9 languages with hover tooltips on every control
Getting Started
- Drop the JAR into your server's
mods folder (server-side; clients also need it).
- Join as an operator (OP level 2) — you get access automatically.
- Press L (rebindable in Options → Controls) or run
/lootmanager menu to open the GUI.
The basic flow
Group → Template → Items (what spawns)
β Spawn Point (where it spawns)
- Create a group (e.g. "Military Loot") — organizes templates.
- Create a template inside it with a respawn timer.
- Add items — type an ID, click From hand to grab your held item, or pick from live suggestions.
- Create points — stand in the world and click "Create at Position", or use the Wand.
- Bind points to the template. They start spawning on the timer.
In-Game Tools
| Tool |
How to get it |
What it does |
| Loot Spawn Wand |
Tools tab → "Give me a Wand" |
Right-click a block to create a point; Shift+RMB removes the nearest |
| Region Brush |
Tools tab → "Give me a Region Brush" |
Right-click two corners → bulk-generate points (Grid / Random / Floor) |
| Teleport |
[T] on a point card |
Jump to a point in its dimension |
| Test Spawn |
[?] on a point card |
Trigger one spawn immediately, ignoring the timer |
| Schedule |
[S] on a point card |
Set active hours (presets: Night / Day / Always) |
| Point Loot |
[I] on a point card |
Give the point its own loot table |
GUI Map
- Main Menu — group list, search, stats badges, Tools button
- Group Detail — templates in a group, mass timer, duplicate
[Copy], rename [R], export
- Template Detail — three sections: β‘ Spawn Behavior · π² Item Selection · π¦ Loot Pool
- Spawn Point List — card layout: status dot, name, badges, action icons; status filter, sort, search, dimension filter
- Map — top-down coordinate grid of all points; zoom with scroll wheel; pan by drag; click a point to open it; drag a point to move it; filter by template via legend
- Tools — Wand/Brush, Undo, Shift Points, Find-by-Item, Import, Live Events, Health Check, Backup Restore
- Add Item — live icon preview, validity border, From-hand button, suggestions
- Simulator — run N spawns, see item drop % with bars
- Particle Settings — type + visibility radius per template
- Confirm Dialog — modal overlay for all destructive operations (delete group/template/point, restore backup)
Spawn Modes
| Mode |
Behavior |
| GROUND |
Spawn at exact coordinates |
| RADIUS |
Random position within min/max radius |
| ONLY_IF_EMPTY |
Skip if items already within 2 blocks |
| REPLACE_OLD |
Clear the area, then spawn |
| ADDITIVE |
Add up to maxItemsPerSpawn, keeping existing items |
Item Selection
- Chance mode — each item rolled independently (0–100%). Realistic loot tables where items drop together.
- Weighted mode — pick
maxWeightedPicks items from a weighted pool. Higher weight = more likely.
Per-point custom loot uses the point's own item list but inherits the bound template's mode and pick count.
Commands (/lootmanager or /lm)
/lm menu Open the GUI
/lm reload Reload data from disk
/lm group create <name>
/lm template create <group> <name> <secs>
/lm template additem <template> <item> <min> <max> <chance>
/lm point create <name> At your position
/lm point bind <point> <template>
/lm point clear <name>
/lm point list
/lm timer set <template> <seconds>
/lm timer setall <group> <seconds>
/lm show all | /lm hide Particle visualization
/lm spawn test <point>
/lm perm grant <player> <0-3> NONE / VIEW / EDIT / ADMIN
/lm perm revoke <player>
/lm perm list
Permissions
| Level |
Name |
Can do |
| 0 |
NONE |
nothing |
| 1 |
VIEW |
open and read the GUI |
| 2 |
EDIT |
full CRUD on groups/templates/points |
| 3 |
ADMIN |
+ wand/brush, undo, permissions, region generation |
OP level 2+ is implicitly ADMIN. Delegate to non-OP moderators via /lm perm grant.
Data & Storage
config/lootmanager/
βββ config.json Tunables (region cap, packet size, save interval…)
βββ groups.json Group definitions
βββ templates.json Templates with items and settings
βββ points.json Points, bindings, custom loot, stats
βββ permissions.json Delegated permission levels
βββ logs/ adminlog_YYYY-MM-DD.txt
βββ backups/ Timestamped snapshots (20 kept)
βββ exports/ Exported groups
βββ imports/ Drop JSON files here for GUI import
config.json tunables (created with defaults on first run): maxRegionPoints (1000) · pointsPerPacket (10) · pointsFlushIntervalMs (30000) · scheduleSkipRetryMs (60000) · defaultParticleRadius (48). Edit and /lm reload — or restart — to apply.
- Atomic writes (
.tmp → rename) prevent corruption.
- Point saves are debounced (~30 s) so high spawn rates don't thrash the disk; a full save runs on every admin action and on server stop.
Languages
π¬π§ English · πΊπ¦ Ukrainian · π©πͺ German · π«π· French · πͺπΈ Spanish · π§π· Portuguese (BR) · π¨π³ Chinese · π―π΅ Japanese · π΅π± Polish
Hover any button or field for a translated explanation. To add a language, copy en_us.json and translate the values.
Building
Requires JDK 8 (Forge 1.16.5 does not build on newer JDKs).
$env:JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_481"
.\gradlew build
# Output: build/libs/lootspawnmanager-0.0.9.jar
Performance & Scale
| Points |
Status |
| up to ~500 |
effortless |
| 500–2 000 |
smooth; chunked sync + debounced saves keep it light |
| 2 000–10 000+ |
works — sync is split into ≤10-point packets so no disconnects |
See CHANGELOG.md for version history and the roadmap below for planned work.
Roadmap (post-0.0.8)
- Save fully async
- DataManager split into focused services; unit test coverage
- Visual chest-grid loot editor
- Cross-dimension template binding
- Vanilla datapack loot-table import
License
Provided as-is for Minecraft server administrators.