RandomLib
Modby NaturaSpell
A library to create customizable random pools. Originally from the oneblock mod.
Type
Mod
CurseForge Downloads
2,679,858
CurseForge ID
597890
Last Updated
Jun 11, 2026
Description
Originally a part of the One Block Plus mod, RandomLib is now a standalone library allowing your mod to create config files for weighted random generation.
Developer documentation. (WIP)
(This will likely be replaced later by a github repository)
RandomLibUtils.setup during FMLCommonSetupEvent to setup your config files.
As an example, your config files will be generated in configs/oneblock/phases/ folder if registryKey = oneblock:phases.
extra is a supplier for an instance of an ExtraData implementation. This allows you to save more information about a random pool, in addition to the weighted items.
Once your config files are deserialized, they are saved in a map with their file name as a key but you likely would like to store them in a more convenient structure for your mod using the afterDeserialization consumer.
RandomLibUtils.registerCommand during FMLServerStartingEvent to setup a command to manage config files generated by RandomLib.
RandomLibUtils.registerCommand(FMLServerStartingEvent event, String commandname, ResourceLocation registryKey) RandomLibUtils.registerCommand(FMLServerStartingEvent event, String commandname, ResourceLocation registryKey, ExtraDataCommand<? extends ExtraData> extraDataCommand) registryKey is the same as for RandomLibUtils.setupextraDataCommand completes brigadier for your ExtraData implementation.
RandomPool#getExtra() to get your deserialized ExtraData.
RandomPool#getRandom()#generateAndReplace(ServerWorld, BlockPos) to destroy block and generate an item from the random pool in the given world at the given position.
RandomPool#getRandom()#generate(ServerWorld, BlockPos) to generate an item from the random pool in the given world at the given position.
RandomPool#getRandom()#vgenerate(RandomContainer, ServerWorld, BlockPos, ItemStack) to generate an item from the random pool for an object implementing RandomContainer (likely a tile entity) in the given world at the given position and for the given held item (if any).
User documentation. (WIP)
Help command : /<RandomLib command name for this mod> help
example:

Screenshots
Similar Mods
Glassential Renewed
Various types of glass to aid in your building. Updated to new MC.
FastQuit
Lets you return to the Title Screen early while your world is still saving in the background!
[ANGRY PIXEL] The Betweenlands
Introducing the Betweenlands, a dark and hostile environment...
Modern Industrialization
Modern Industrialization is a standalone tech mod, where the ultimate objective is total automation.
Integrated API
The library mod for the Integrated Structures series
InGame Info XML
A customizable "F3 screen".