Ivorforce / RecurrentComplex

Structure mod for Minecraft
MIT License
53 stars 40 forks source link

[Improvement/Fix] village generations logic #463

Open 0xebjc opened 3 years ago

0xebjc commented 3 years ago

When I set transformers to village specific, I am noticing that specific blocks are not being replaced,

[Version Request:] Minecraft: 1.12.2 Forge: 14.23.5.2847

[Example:] Oak Slab in savanna, desert is not being replaced to acacia slabs in savanna or birch slabs in desert Oak Fence in desert not being replaced to birch fence in desert

(I would like to see birch in desert as it matched that sandstone better)

there's more, but I haven't tested fully

Suggest a config file setting that I could manually set block re placers for biomes Example:

reccomplex.cfg


    village {
        # Disable/enable custom village transformers
        B:custom_village_transformers=true
    }

custom_village_transformers.json

[
    {
        "dimension": 0,
        "biome": {
            "desert": {
                "blocks": {
                    "minecraft:wooden_slab:2": [
                        "minecraft:wooden_slab:0",
                        "minecraft:wooden_slab:1",
                        "minecraft:wooden_slab:3",
                        "minecraft:wooden_slab:4",
                        "minecraft:wooden_slab:5",
                        "structurize:blockcactusslab_half:0"
                    ]
                    "minecraft:birch_fence": [
                        "minecraft:fence",
                        "minecraft:spruce_fence",
                        "minecraft:jungle_fence",
                        "minecraft:dark_oak_fence",
                        "minecraft:acacia_fence",
                        "structurize:blockcactusfence"
                    ]
                }
            }
        }
]

This example shows all the blocks in the desert biome village generations that will be replaced to the birch slab and birch fence. the feature allows for minecraft and mod blocks for the configuration. There would of course need to be logic that would track block placement and orientation, such as orientation of a stair block and the bottom or top slab position.

Thanks for listening

Ivorforce commented 3 years ago

That's a pretty cool idea. In general, the transformer only replicates what vanilla is doing, so moving beyond that would require a complete rewrite of its functionality. But I'll consider it when I next work on the mod.