Tags
Creators
Details
Licensed ARR
Published 7 months ago
Updated 3 months ago
All versions
2.0.3
Release
Randomized Block & Mob Drops 2.0.37 months ago 29
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Server-side
Singleplayer
Changes
[2.0.3] โ 2026-03-22 โ Commands, Safety & Polish
๐ New Features
/rbmdfind <item>(renamed from/rbmditemdrops) โ shows what blocks and mobs drop a specific item, now displays the actual block/mob name from the loot table path instead of the item ID. Blocks show under Mine, mobs under Kill./rbmdmob <mob>(renamed from/rbmdmobdrops) โ shows what a mob drops now. Reads the written datapack file on disk so results are accurate. Both commands have full tab completion with filtered suggestions (items for/rbmdfind, entities for/rbmdmob)./rbmdcheckโ OP command to verify blacklists are applied correctly. Shows which blacklisted items are still in the pool (bug indicator), validates mob/mod blacklist IDs against the registry, and shows total pool size./rbmddumpโ OP command that exports the full drop mapping todatapacks/rbmd_randomizer/rbmd_dump.txt. Lists every block and mob with their randomized drops โ useful for reviewing changes and copy-pasting IDs into the blacklist.chaos_modeconfig option โ skips all blacklists, spawn egg filter, and the natural drop filter. Every registered item enters the pool. A warning is shown in chat and logs when enabled.- Natural drop filter โ the permutation pool now only includes items that appear in at least one loot table. Items with no natural source (creative-only, unobtainables) are automatically excluded, preventing them from absorbing a pool slot and making other items unreachable.
- First join welcome message now shows a
โ CHAOS MODE is ONwarning when chaos mode is enabled. - Config values logged on startup โ active config printed to
latest.logon every world load including chaos mode status.
๐ Bug Fixes
- Fixed:
/rbmdmobalways saying "hardcoded drops" on world rejoin.COVERED_TABLESis an in-memory set that was empty on rejoin sincemakeDatapackonly ran on first load. AddedpopulateCoveredTablesFromDisk()which scans the existing datapack folder on load and repopulates the set. - Fixed:
.jsonsuffix mismatch inCOVERED_TABLES.rm.listResources()returns paths with.jsonbutgetLootTable().location()does not โ causing the double-randomization check to always miss and some mobs to drop nothing. The check now appends.jsonbefore comparing. - Fixed:
/rbmdfindnot showing mob drops. The old logic compared item IDs against entity table names (e.g.minecraft:rotten_fleshvsminecraft:zombie) which never matched. Now reads the actual datapack files to find which table each item came from. - Fixed:
randomize_mobs=falseandrandomize_blocks=falsenot applying to existing worlds. The existing-world code path returned early before checking config. Config is now checked before scheduling the reload. - Fixed: datapack not generated when
randomize_blocks=falsebutrandomize_mobs=true. Generation was gated entirely onrandomize_blocks. Now runs if either toggle is on. - Fixed: commands invisible to non-OP players.
sendSuccess()was used for all output which can be invisible on some servers. Switched tosendSystemMessage()for players. Read-only commands (/rbmdhelp,/rbmdfind,/rbmdmob) now allow all players with.requires(src -> true). State-changing commands require OP level 2. - Fixed: item blacklist defaults not loading (
item_blacklist_size=0). ThedefineListsupplier overload was silently falling back to an empty list. Switched todefineListAllowEmptywith a directList.of(...). - Fixed: all compiler warnings โ removed unused imports, simplified always-true/false null checks, renamed unused
modBusparameter.
โ๏ธ Technical / Internal
- Commands renamed:
/rbmditemdropsโ/rbmdfind,/rbmdmobdropsโ/rbmdmob. ResourceLocationArgument.id()used for item/mob arguments โ enables propernamespace:idinput and tab completion filtered to valid items/entities.- Verbose inline comments stripped throughout โ only section headers and short one-liners remain.
collectDropNamesStaticadded as a static helper for use insidePermutation.ensureBuiltbefore instance context is available.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gTOR8pvl:riSPuvoN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gTOR8pvl:riSPuvoN"
}

