Releases: slashdaemon/SlashLootr
Release list
v0.1.1 — Bands F (1.21.11) + G (26.1.2)
Per-player loot for naturally-generated chests, barrels, shulker boxes, and minecarts — server-side only, no client install required.
Two new bands covering Mojang's late-2025 / early-2026 rename storm.
Downloads
| MC | Fabric API | JAR |
|---|---|---|
| 1.20.1 | 0.92.2+1.20.1 | slashlootr-0.1.1+mc1.20.1.jar |
| 1.20.5 | 0.97.8+1.20.5 | slashlootr-0.1.1+mc1.20.5.jar |
| 1.21 | 0.102.0+1.21 | slashlootr-0.1.1+mc1.21.jar |
| 1.21.1 | 0.115.6+1.21.1 | slashlootr-0.1.1+mc1.21.1.jar |
| 1.21.2 | 0.106.1+1.21.2 | slashlootr-0.1.1+mc1.21.2.jar |
| 1.21.4 | 0.114.0+1.21.4 | slashlootr-0.1.1+mc1.21.4.jar |
| 1.21.6 | 0.128.1+1.21.6 | slashlootr-0.1.1+mc1.21.6.jar |
| 1.21.9 | 0.134.1+1.21.9 | slashlootr-0.1.1+mc1.21.9.jar |
| 1.21.11 | 0.141.2+1.21.11 | slashlootr-0.1.1+mc1.21.11.jar |
| 26.1.2 | 0.146.1+26.1.2 | slashlootr-0.1.1+mc26.1.2.jar |
Also on:
- Modrinth: https://modrinth.com/mod/slashlootr
- CurseForge: https://www.curseforge.com/projects/1552991
What's new
Band F — MC 1.21.11
Picks up the renames Mojang shipped at 1.21.11 that broke Band E on that version:
net.minecraft.world.entity.vehicle.{ChestBoat,MinecartChest,MinecartHopper,AbstractMinecartContainer}→ all moved into{boat,minecart}subpackagesResourceLocation→Identifier(renamed in place)ResourceKey#location()→ResourceKey#identifier()Level#random(field) →Level#getRandom()(method)CommandSourceStack#hasPermission(int)→Commands.hasPermission(Commands.LEVEL_GAMEMASTERS)predicateSimpleContainer#addListenerremoved → replaced with aDirtyContainer extends SimpleContainerthat overridessetChanged()to mark the SavedData dirty
Band G — MC 26.1.2 ("Tiny Takeover")
Same rename surface as Band F, plus:
- Quarantined with its own Gradle 9.4 wrapper, Loom 1.15.5, JDK 25 toolchain. Lives under
versions/26.1.2/. - Unobfuscated — Mojang ships 26.1 without obfuscation, so no
mappings loom.officialMojangMappings(). SavedDataTypefirst arg nowIdentifier(viaIdentifier.fromNamespaceAndPath).
Important
Band E (1.21.9) coverage narrowed. Previously claimed to cover 1.21.9–1.21.11; now claims only 1.21.9–1.21.10 since 1.21.11 requires the rename surface absorbed in Band F. If you're on 1.21.11, install the new slashlootr-0.1.1+mc1.21.11.jar.
Runtime status
- Band C (MC 1.21.1) — verified with two players on two machines
- Bands A, B, D, E, F, G — compile-clean only
Full per-band drift breakdown in docs/ARCHITECTURE.md.
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.