← Назад к ресурсам

Genflower

World gen & loot utils library for datapacks and mods.

Modrinth library utility worldgen

Описание

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. - `potions`: A potion->weight map expressed in one of two ways: - Map of ID to Weight: `{"minecraft:luck": 1}` - Object-in-List: `[{"data":"minecraft:luck","weight":1}]` The `weight` field is optional and defaults to 1 when using the object-in-list notation. Example JSON file ```json5 // 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. - `block_map`: A block to list of blocks map used for replacing blocks. - `probability`: The likelihood of a block being replaced with a new one. - Scale of 0-1, defaults to 1. Example JSON file ```json5 // 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. - `loot_table`: A loot table to apply to given blocks - `blocks`: An allowed list of blocks to inject loot into. - `slots`: How many slots the block normally supports. - `probability`: The likelihood of a block having the loot table applied. - Scale of 0-1, defaults to 1. Example JSON file ```json5 // 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 } ] } ```