-
Notifications
You must be signed in to change notification settings - Fork 0
Snow Village Components
All types will generate alongside each other
- Class - Coded like Vanilla 1.12 Village structures, their generation rates can be modified.
- Resource Pack - Simple nbt structure files, their generation rates can be modified, but bounding boxes and terrain offsets must be known.
- Vanilla - Uses Forge's Village Creation Handler system, their generate rates can not be modified and so can only be disabled fully.
This is a list of all 1.12 Vanilla Village Component Weights and Spawn Count Ranges
Are instances of StructureVillagePieces.Village and do not have a visual structure builder, which makes it harder to create custom structure using this type. Generation can be defined in Better Snow Village Class Components config Format: [class, weight, min count, max count].
"net.minecraft.world.gen.structure.StructureVillagePieces$Church, 1, -8, 1", "bettersnowvillages.world.gen.structure.BetterSnowVillagePieces$ExtraTorch, 50, 5, 6", "bettersnowvillages.world.gen.structure.BetterSnowVillagePieces$SnowWoodHut, 40, 2, 3", "bettersnowvillages.world.gen.structure.BetterSnowVillagePieces$SnowHouse3, 1, -8, 1", "bettersnowvillages.world.gen.structure.BetterSnowVillagePieces$SnowHouse4, 40, 1, 2"
In this example, will try to generate 3 to 5 Vanilla palette swap Huts and Houses in most situations. There is a low chance for a 1.12 Village Church to generate.
Are stored in Vanilla Resource packs, for example the Vanilla Igloo is located in minecraft:igloo/igloo_top. These are simple structures that can be created using Structure Blocks, however there is no way to link multiple pieces together if each piece is in separate files. Generation can be defined in Better Snow Village Resource Pack Components" config Format: [namespace:path, weight, min count, max count, bounding box width, height, length, offset x, y, z].
"minecraft:igloo/igloo_top, 40, 1, 1, 7, 5, 8, 0, -1, 0", "bettersnowvillages:snowy_animal_pen_1_cow, 3, 0, 1, 9, 6, 8, 0, 0, 0",, "bettersnowvillages:snowy_farm_1_wheat, 3, 0, 1, 7, 6, 6, 0, 0, 0", "bettersnowvillages:snowy_medium_house_1_random, 4, -2, 1, 8, 6, 7, 0, -1, 0", "bettersnowvillages:snowy_small_house_1_random, 8, -2, 1, 7, 5, 6, 0, -1, 0", "bettersnowvillages:snowy_temple_1_empty, 1, -2, 1, 7, 14, 10, 0, 0, 0",
Every Resource Pack component is required to have their bounding boxes written in the config as the template file is read too late. They should also have x, y, z offsets specified as it allows it blend into the terrain, such as being flush with the ground.
Since Class Components will generate by default, this list of Resource Pack Components have weight, min count, and max count set to values that will not always allow them to spawn.
If you would like to spawn a random Snow Villager, set Profession to a number about 10 in the structure file:
nbt: { Profession: 16 id: "iceandfire:snowvillager" }
The structure must saved facing in the correct direction so that it can be rotated and mirrored correctly when it generates.
Are all registered in VillagerRegistry.instance().registerVillageCreationHandler() and act as the primary way to integrate other mod's Village structures. Generation can be defined in Better Snow Village Vanilla Components config, however the only optional available is to enable/disable them. Generation rate settings are determined by the mod that registered them.
For ease of use, the list can be automatically refreshed with loaded components if the 1st config entry is blank.
"com.github.alexthe666.iceandfire.world.village.ComponentAnimalFarm, true", "com.github.alexthe666.iceandfire.world.village.ComponentScriberHouse, false", "ejektaflex.bountiful.worldgen.VillageBoardComponent, true", "net.blay09.mods.waystones.worldgen.ComponentVillageWaystone, true", "ivorius.reccomplex.dynamic.vanillagen.VillageMarketplace_vanilla_85673491, true", "ivorius.reccomplex.dynamic.vanillagen.BetterSnowVillages_SnowVillageMarketplace_vanilla_5b8ff36c, true",
ComponentAnimalFarm is set to true, meaning the Animal Pen from Ice and Fire, will spawn
ComponentScriberHouse is set to false, meaning the Scriber Villager House that is currently exclusive to Ice and Fire: RotN Edition, will not spawn
Recurrent Complex classes can be determined by combining the structure's file name along with it's Generation ID
Recurrent Complex handles it's the generation rate.
Type: Village should be specified
Biomes: $snowy & $cold
An alternative to having mods handle their own generation rate is overriding their usage.
S:"Better Snow Village Vanilla Components" < net.blay09.mods.waystones.worldgen.ComponentVillageWaystone, false >
Disable Waystone's mod handling when generating Better Snow Villages
S:"Better Snow Village Class Components" < net.blay09.mods.waystones.worldgen.ComponentVillageWaystone, 3, 0, 1 >
Add back the Waystone generation, but instead of always generating 1, it now has a 50% chance to spawn.