v0.1.0 — Initial release
Per-player loot for naturally-generated chests, barrels, shulker boxes, and minecarts — server-side only, no client install required.
Initial release. Eight Minecraft version bands; pick the JAR that matches your server's MC version.
Downloads
| MC | Fabric API | JAR |
|---|---|---|
| 1.20.1 | 0.92.2+1.20.1 | slashlootr-0.1.0+mc1.20.1.jar |
| 1.20.5 | 0.97.8+1.20.5 | slashlootr-0.1.0+mc1.20.5.jar |
| 1.21 | 0.102.0+1.21 | slashlootr-0.1.0+mc1.21.jar |
| 1.21.1 | 0.115.6+1.21.1 | slashlootr-0.1.0+mc1.21.1.jar |
| 1.21.2 | 0.106.1+1.21.2 | slashlootr-0.1.0+mc1.21.2.jar |
| 1.21.4 | 0.114.0+1.21.4 | slashlootr-0.1.0+mc1.21.4.jar |
| 1.21.6 | 0.128.1+1.21.6 | slashlootr-0.1.0+mc1.21.6.jar |
| 1.21.9 | 0.134.1+1.21.9 | slashlootr-0.1.0+mc1.21.9.jar |
Also available on:
- Modrinth: https://modrinth.com/mod/slashlootr
- CurseForge: https://www.curseforge.com/projects/1552991 (pending mod approval)
What's in v0.1.0
Core mechanic — Mixin cancels vanilla loot-roll so the world chest is never baked; Fabric UseBlockCallback/UseEntityCallback intercepts player right-click, builds a per-player SimpleContainer rolled from the loot table, and opens a vanilla ChestMenu/ShulkerBoxMenu/HopperMenu backed by it. The chest stays minecraft:chest forever — vanilla clients connect with no install.
Container coverage — chests, trapped chests, barrels, shulker boxes, chest minecarts, hopper minecarts, chest boats. Double chests handled (per-half persistence + combined 54-slot view).
Persistence — world/<dimension>/data/slashlootr.dat. Survives restart.
Admin & config — /slashlootr forget here|at|player and config/slashlootr.json with dimension + loot-table blocklists.
Per-band drift absorbed
| Band | MC | What's special |
|---|---|---|
| A | 1.20.1 | Java 17; no RandomizableContainer/ContainerEntity interfaces — class targets + accessor mixins; pre-HolderLookup; pre-SavedData.Factory |
| B | 1.20.5 | Baseline-compatible |
| C | 1.21, 1.21.1 | Primary baseline; TBA target |
| D | 1.21.2, 1.21.4 | ContainerEntity.getLootTable() → getContainerLootTable() |
| E | 1.21.6, 1.21.9 | SavedData.Factory removed → SavedDataType + Codec rewrite |
Full per-band file-level diffs in docs/ARCHITECTURE.md.
Known limitations
- No chest lid animation (open sound plays; lid stays closed)
- Hoppers don't pull from naturally-generated chests (world container is always empty by design)
- Comparator output reads 0 from naturally-generated chests for the same reason
- No runtime verification yet — compile-clean only. LocalServer test is the next thing on the list.
See README for install, config, and the comparison vs Lootr/myLoot.