File Details
RBMD 2.0.2
- R
- Mar 19, 2026
- 23.60 KB
- 281
- 1.21.1
- NeoForge
File Name
rbmd-2.0.2.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
[2.0.2] — 2026-03-19 — Features & Bug Fixes
🚀 New Features
/rbmditemdrops <item>— reverse lookup showing what blocks and mobs drop a specific item, split into separate categories./rbmdmobdrops <mob>— shows what a specific mob drops now after randomization.- First join welcome message — shown once per player per world on first login. Tells players drops are randomized and to run
/rbmdhelp. - Config file (
config/rbmd-common.toml) with the following options:randomize_blocks— toggle block drop randomizationrandomize_mobs— toggle mob drop randomizationrandomize_silk_touch— toggle Silk Touch drop randomization (default: true)item_blacklist— items that never appear as randomized drops (defaults to unobtainable blocks like bedrock, barrier, command blocks, etc.)mob_blacklist— mobs whose drops are never randomizedmod_blacklist— exclude all items and mob drops from an entire mod by its mod IDreset_welcome_message— force the welcome message to show again on next join
- Spawn eggs excluded as loot table sources — items won't drop from spawn eggs since they can't be broken.
- Config values logged on startup — active config is printed to
latest.logon every world load for easy debugging.
🐛 Bug Fixes
- Fixed:
randomize_mobs=falsestill randomizing mob drops. The config toggle only skipped theLivingDropsEventhandler but the datapack was still writing randomized entity loot tables. Entity loot tables are now skipped during datapack generation whenrandomize_mobs=false. Same fix applied torandomize_blocks=falseand block loot tables. - Fixed:
randomize_blocks=falsenot applying to existing worlds. The existing-world code path hit areturnbefore checking the config, so the toggle was silently ignored on any world that had already been loaded. Config is now checked before scheduling the reload on existing worlds too. - Fixed:
COVERED_TABLESalways empty, causing some mobs to drop nothing.COVERED_TABLES.clear()was called at the end ofmakeDatapackinstead of the beginning, wiping the set immediately after building it. TheonLivingDropshandler always saw an empty set and remapped every mob through the event — mobs whose loot table used complex entry types (tags, groups) got nothing remapped and dropped nothing. - Fixed: double-randomization on mobs with loot tables. Broadened the loot table ID match in
onLivingDropsto handle mods that register table IDs without theloot_table/path prefix. - Fixed: all warnings — removed unused imports, simplified always-true/false null checks, replaced deprecated
defineListAllowEmptywithdefineListusing suppliers.
⚙️ Technical / Internal
/rbmddropsrenamed to/rbmditemdrops.- Section comments trimmed to single lines throughout the file.
- Unobtainable items (bedrock, barrier, etc.) moved from hardcoded
EXCLUDEDset into the configurableitem_blacklistdefault — onlyAIRremains hardcoded. makeDatapacknow readsrandomize_blocksandrandomize_mobsconfig values to skip irrelevant loot table categories at generation time, not just at event time.

