HomeJavaModsGenflower
Genflower
ModsJava

Genflower

by Ampflower · on Modrinth

World gen & loot utils library for datapacks and mods. Free Minecraft Java mod for 1.20, 1.20.1.

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.20–1.20.1 · Fabric⬇ Download for 1.20–1.20.1 · Forge⬇ Download for 1.20–1.20.1 · NeoForge⬇ Download for 1.20–1.20.1 · Quilt
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

A small worldgen and loot utility library for mods and datapacks

What does it add?

Genflower adds two new structure processors and a loot function to help speed up the development of datapacks, allowing one to do things that weren't possible, were difficult or tedious before with vanilla's processors.

Loot Functions

Set Random Potion genflower:set_random_potion

A potion randomiser function for potions found in brewing stands and chests.

The weight field is optional and defaults to 1 when using the object-in-list notation.

Example JSON file
// data/useyourname/loot_tables/chests/your_loot.json -> /pools[]
{
	"entries": [
		{
			"type": "minecraft:item",
			"functions": [
				{
					"function": "genflower:set_random_potion",
					"potions": {
						"minecraft:long_invisibility": 1,
						"minecraft:invisibility": 5
					}
				}
			],
			"name": "minecraft:potion"
		},
		{
			"type": "minecraft:item",
			"functions": [
				{
					"function": "genflower:set_random_potion",
					"potions": [
						{
							"data": "minecraft:long_invisibility",
							"weight": 1
						},
						{
							"data": "minecraft:invisibility",
							"weight": 5
						}
					]
				}
			],
			"name": "minecraft:splash_potion"
		}
	]
}

Structure Processors

Block Map genflower:block_map

A block to blocks mapping to reduce the verbosity of structure processors.

Example JSON file
// data/useyourname/worldgen/processor_list/your_processor.json
{
	"processors": [
		{
			"processor_type": "genflower:block_map",
			"block_map": {
				"minecraft:cobweb": ["minecraft:air"],
				"supplementaries:ash": ["minecraft:air"]
			}
		},
		{
			"processor_type": "genflower:block_map",
			"block_map": {
				"minecraft:deepslate_bricks": [
					"minecraft:cobbled_deepslate",
					"minecraft:deepslate_brick_stairs",
					"minecraft:deepslate_brick_slab"
				],
				"minecraft:lantern": ["wilderwild:display_lantern"],
				"minecraft:deepslate_brick_stairs": [
					"minecraft:deepslate_brick_slab"
				],
				"minecraft:mangrove_stairs": [
					"minecraft:mangrove_slab",
					"minecraft:cobweb"
				],
				"minecraft:anvil": [
					"minecraft:chipped_anvil",
					"minecraft:damaged_anvil"
				]
			},
			"probability": 0.25
		}
	]
}

Loot genflower:loot

A worldgen-time loot applicator for blocks that have inventories but don't support the LootTable NBT tag.

Example JSON file
// data/useyourname/worldgen/processor_list/your_processor.json
{
	"processors": [
		{
			"processor_type": "genflower:loot",
			"loot_table": "useyourname:chests/library_bookshelves",
			"blocks": ["minecraft:chiseled_bookshelf"],
			"slots": 6,
			"probability": 0.8
		},
		{
			"processor_type": "genflower:loot",
			"loot_table": "useyourname:chests/library_brewing_stands",
			"blocks": ["minecraft:brewing_stand"],
			"slots": 3
		}
	]
}
Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more