RandomLib
Modby NaturaSpell
A library to create customizable random pools. Originally from the oneblock mod.
Type
Mod
CurseForge Downloads
2,742,382
CurseForge ID
597890
Last Updated
Jul 25, 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
Create Big Cannons
Artillery engineering comes to Create
Deep Resonance
Deep Resonance is a power generation mod for Minecraft
Mystical World
Adds some nice features to make your world feel more alive!
Custom NPCs
Create your own npcs and liven up your world or create your own adventure. Includes quests, a dialog system and a ton of...
Wall-Jump! [FORGE]
Jump from wall to wall! Wall jump, double jump, speed jump, fence jump, etc.
MineTogether Community
Give your modpack a community. MineTogether adds chat, friends, and co-op so players connect, help each other, and grow...