Feature/norse houses (#1836)

* starting illager structure stuff

* structure climates

* idk

* mostly finished the nordic living houses? the structures are still being placed at the bottom of rivers though

* some more

* torch loot table

* tweaks

* mud bricks in the water sounds like a bad idea

* what does adapt_noise do?

* ruined houses done!

* some loot table tweaks

* change the burials to be terrain matching

* make these more common

* remove the air block processor on paths

* up the max distance so further-off buildings get illagers too

* oh I think this was causing the underwater issue
This commit is contained in:
Pyritie 2025-09-15 19:15:31 +01:00 committed by GitHub
parent 5274fc65f5
commit 674d4c0e08
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
51 changed files with 1695 additions and 32 deletions

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "loot_pool",
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "tfc:torch"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -23,8 +23,8 @@
],
"placement": {
"salt": 1442136151,
"spacing": 70,
"separation": 50,
"spacing": 50,
"separation": 35,
"type": "minecraft:random_spread"
}
}

View file

@ -23,8 +23,8 @@
],
"placement": {
"salt": 1442136152,
"spacing": 60,
"separation": 40,
"spacing": 45,
"separation": 25,
"type": "minecraft:random_spread"
}
}

View file

@ -19,8 +19,8 @@
],
"placement": {
"salt": 1442136153,
"spacing": 120,
"separation": 100,
"spacing": 70,
"separation": 50,
"type": "minecraft:random_spread"
}
}

View file

@ -0,0 +1,603 @@
{
"type": "minecraft:chest",
"pools": [
{
"bonus_rolls": 0,
"entries": [
{
"type": "minecraft:item",
"name": "tfc:wood/lumber/hickory",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wood/sapling/hickory",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wood/lumber/willow",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wood/sapling/willow",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "afc:wood/lumber/cypress",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "afc:wood/sapling/cypress",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wool",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "primitive_creatures:grh",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wool_yarn",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 12,
"min": 6
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:leather",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:ceramic/gray_glazed_vessel",
"weight": 50
},
{
"type": "minecraft:item",
"name": "tfc:ceramic/light_gray_glazed_vessel",
"weight": 50
},
{
"type": "minecraft:item",
"name": "primitive_creatures:totem_0",
"weight": 10
},
{
"type": "minecraft:item",
"name": "primitive_creatures:totem_2",
"weight": 10
},
{
"type": "minecraft:item",
"name": "primitive_creatures:totem_3",
"weight": 10
},
{
"type": "minecraft:item",
"name": "minecraft:rabbit_foot",
"weight": 10
},
{
"type": "minecraft:item",
"name": "minecraft:sentry_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:vex_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:wild_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:coast_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "tfc:powder/salt",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:powder/saltpeter",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:powder/sulfur",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:powder/wood_ash",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle/gray",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle/light_gray",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:emerald",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:arrow",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 20,
"min": 12
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:bone",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "firmalife:jar/compost",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "firmalife:jar/guano",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "firmalife:jar/honey",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:bowl",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:paper",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:groundcover/pumice",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfg:conifer_rosin",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "firmalife:beeswax",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:flint",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:tricalcium_phosphate_dust",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:charcoal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 10,
"min": 6
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:glue",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "chalk:gray_chalk",
"weight": 70
},
{
"type": "minecraft:item",
"name": "chalk:light_gray_chalk",
"weight": 70
}
],
"rolls": {
"type": "minecraft:uniform",
"max": 12,
"min": 8
}
}
]
}

View file

@ -0,0 +1,354 @@
{
"type": "minecraft:chest",
"pools": [
{
"bonus_rolls": 0,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:charcoal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 20,
"min": 12
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:ceramic/ingot_mold",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:clay_ball",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 15,
"min": 9
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:mortar",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 15,
"min": 9
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:poor_raw_coal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 14,
"min": 8
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:raw_coal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 10,
"min": 6
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:rich_raw_coal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:cobalt_brass_ingot",
"weight": 40,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:cobalt_ingot",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:copper_ingot",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "create:zinc_ingot",
"weight": 40,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:lead_ingot",
"weight": 40,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "create:brass_ingot",
"weight": 40,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:bismuth_ingot",
"weight": 60,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfchotornot:tongs/copper",
"weight": 20
},
{
"type": "minecraft:item",
"name": "tfchotornot:tongs/wood",
"weight": 30
},
{
"type": "minecraft:item",
"name": "tfc:ceramic/vessel",
"weight": 50
},
{
"type": "minecraft:item",
"name": "tfc:powder/flux",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:powder/lime",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 8,
"min": 4
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:hematitic_glass_batch",
"weight": 30,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:olivine_glass_batch",
"weight": 30,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:volcanic_glass_batch",
"weight": 30,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:sentry_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:vex_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:wild_armor_trim_smithing_template",
"weight": 20
},
{
"type": "minecraft:item",
"name": "minecraft:coast_armor_trim_smithing_template",
"weight": 20
}
],
"rolls": {
"type": "minecraft:uniform",
"max": 12,
"min": 8
}
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,90 @@
{
"processors": [
{
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:block_match"
},
"location_predicate": {
"block": "minecraft:water",
"predicate_type": "minecraft:block_match"
},
"output_state": {
"Name": "tfc:rock/bricks/andesite"
}
},
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:block_match"
},
"location_predicate": {
"block": "tfc:fluid/river_water",
"predicate_type": "minecraft:block_match"
},
"output_state": {
"Name": "tfc:rock/bricks/andesite"
}
},
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:random_block_match",
"probability": 0.1
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "rnr:rock/gravel_road/andesite"
}
},
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:random_block_match",
"probability": 0.1
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "rnr:rock/gravel_road/gabbro"
}
},
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:random_block_match",
"probability": 0.15
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "tfc:grass_path/silty_loam"
}
},
{
"input_predicate": {
"block": "rnr:hoggin",
"predicate_type": "minecraft:random_block_match",
"probability": 0.1
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "tfc:grass/sandy_loam"
}
}
]
}
]
}

View file

@ -0,0 +1,10 @@
{
"processors": [
{
"processor_type": "minecraft:rule",
"rules": [
]
}
]
}

View file

@ -0,0 +1,25 @@
{
"type": "minecraft:jigsaw",
"start_pool": "tfg:illagers/norse_village_living_start_pool",
"size": 4,
"max_distance_from_center": 116,
"biomes": "#tfg:has_structure/illages",
"step": "surface_structures",
"terrain_adaptation": "beard_thin",
"start_height": {
"absolute": 0
},
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"use_expansion_hack": false,
"adapt_noise": true,
"spawn_overrides": {
"creature": {
"bounding_box": "full",
"spawns": []
},
"monster": {
"bounding_box": "full",
"spawns": []
}
}
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:jigsaw",
"start_pool": "tfg:illagers/norse_village_ruined_start_pool",
"size": 4,
"max_distance_from_center": 116,
"biomes": "#tfg:has_structure/illages",
"step": "surface_structures",
"terrain_adaptation": "beard_thin",
"start_height": {
"absolute": 0
},
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"use_expansion_hack": false,
"adapt_noise": true,
"spawn_overrides": {}
}

View file

@ -1,14 +1,18 @@
{
"structures": [
{
"structure": "tfg:aqueduct/aqueduct",
"weight": 1
}
],
"placement": {
"salt": 264226226,
"spacing": 128,
"separation": 120,
"type": "minecraft:random_spread"
}
}
"structures": [
{
"structure": "tfg:aqueduct/aqueduct",
"weight": 1
}
],
"placement": {
"salt": 264226226,
"spacing": 128,
"separation": 120,
"type": "tfc:climate",
"climate": {
"min_temperature": -5,
"max_rainfall": 350
}
}
}

View file

@ -0,0 +1,24 @@
{
"structures": [
{
"structure": "tfg:illagers/norse_village_living",
"weight": 75
},
{
"structure": "tfg:illagers/norse_village_ruined",
"weight": 25
}
],
"placement": {
"salt": 26256356324,
"spacing": 40,
"separation": 25,
"type": "tfc:climate",
"climate": {
"min_temperature": -12,
"max_temperature": 5,
"min_rainfall": 200,
"max_forest": "edge"
}
}
}

View file

@ -1,14 +1,21 @@
{
"structures": [
{
"structure": "tfg:temperate/plains_temperate_house_0",
"weight": 1
}
],
"placement": {
"salt": 264167119,
"spacing": 90,
"separation": 70,
"type": "minecraft:random_spread"
}
}
"structures": [
{
"structure": "tfg:temperate/plains_temperate_house_0",
"weight": 1
}
],
"placement": {
"salt": 264167119,
"spacing": 90,
"separation": 70,
"type": "tfc:climate",
"climate": {
"min_temperature": -5,
"max_temperature": 10,
"min_rainfall": 150,
"max_rainfall": 400,
"max_forest": "normal"
}
}
}

View file

@ -0,0 +1,33 @@
{
"name": "tfg:illagers/mob_outdoors",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/shaman",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/beast_tamer",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 20,
"element": {
"location": "tfg:illager_generic/mobs/beast",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,24 @@
{
"name": "tfg:illagers/mob_ranged",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 50,
"element": {
"location": "tfg:illager_generic/mobs/ambusher",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/hunter",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,33 @@
{
"name": "tfg:illagers/mob_strong",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/bonebreaker",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 80,
"element": {
"location": "tfg:illager_generic/mobs/warrior",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 40,
"element": {
"location": "tfg:illager_generic/mobs/ambusher",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,42 @@
{
"name": "tfg:illagers/mob_weak",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/forager",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 70,
"element": {
"location": "tfg:illager_generic/mobs/herbalist",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 20,
"element": {
"location": "tfg:illager_generic/mobs/warrior",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 40,
"element": {
"location": "tfg:illager_generic/mobs/mercenary",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,67 @@
{
"name": "tfg:illagers/norse_village_living_buildings",
"fallback": "tfg:illagers/norse_village_living_paths",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/norse_longhouse_base",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/norse_smithy_base",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 40,
"element": {
"location": "tfg:norse/baseline/norse_burial_base",
"processors": "tfg:illagers/norse_structures",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 80,
"element": {
"location": "tfg:norse/baseline/norse_farmhousebig_base",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/norse_farmhouse_base",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/norse_mosshouse_base",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 10,
"element": {
"projection": "rigid",
"element_type": "minecraft:empty_pool_element"
}
}
]
}

View file

@ -0,0 +1,94 @@
{
"name": "tfg:illagers/norse_village_living_paths",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/straight_short",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/straight_medium",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/straight_long",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/bend_left",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/bend_right",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/t_junction",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/fork_left",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/fork_right",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 80,
"element": {
"location": "tfg:norse/baseline/cross",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 10,
"element": {
"projection": "rigid",
"element_type": "minecraft:empty_pool_element"
}
}
]
}

View file

@ -0,0 +1,15 @@
{
"name": "tfg:illagers/norse_village_living_start_pool",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:norse/baseline/norse_root_base",
"processors": "tfg:illagers/norse_paths",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,85 @@
{
"name": "tfg:illagers/norse_village_ruined_buildings",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 40,
"element": {
"location": "tfg:norse/ruins/norse_burial_ruin",
"processors": "minecraft:empty",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 80,
"element": {
"location": "tfg:norse/ruins/norse_farmhousebig_ruin",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/norse_farmhouse_ruin",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/norse_longhouse_ruin",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 50,
"element": {
"location": "tfg:norse/ruins/norse_mosshouse_ruin",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 50,
"element": {
"location": "tfg:norse/burned/norse_mosshouse_burn",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 50,
"element": {
"location": "tfg:norse/ruins/norse_smithy_ruin",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 50,
"element": {
"location": "tfg:norse/burned/norse_smithy_burn",
"processors": "tfg:illagers/norse_structures",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 10,
"element": {
"projection": "rigid",
"element_type": "minecraft:empty_pool_element"
}
}
]
}

View file

@ -0,0 +1,94 @@
{
"name": "tfg:illagers/norse_village_ruined_paths",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/straight_short",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/straight_medium",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/straight_long",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/bend_left",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/bend_right",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/t_junction",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/fork_left",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/fork_right",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 80,
"element": {
"location": "tfg:norse/ruins/cross",
"processors": "tfg:illagers/norse_paths",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 10,
"element": {
"projection": "rigid",
"element_type": "minecraft:empty_pool_element"
}
}
]
}

View file

@ -0,0 +1,15 @@
{
"name": "tfg:illagers/norse_village_ruined_start_pool",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:norse/ruins/norse_root_ruin",
"processors": "tfg:illagers/norse_paths",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -1060,6 +1060,7 @@ const registerTFGBiomeTags = (event) => {
// #region TFG Structure Biomes
event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains')
event.add('tfg:has_structure/plains_temperate_0', 'tfc:plateau')
event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands')
event.add('tfg:has_structure/aqueduct', 'tfc:plains')
@ -1070,6 +1071,13 @@ const registerTFGBiomeTags = (event) => {
event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains')
event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains')
event.add('tfg:has_structure/illages', 'tfc:plains')
event.add('tfg:has_structure/illages', 'tfc:hills')
event.add('tfg:has_structure/illages', 'tfc:rolling_hills')
event.add('tfg:has_structure/illages', 'tfc:badlands')
event.add('tfg:has_structure/illages', 'tfc:plateau')
event.add('tfg:has_structure/illages', 'tfc:old_mountains')
// #endregion
// #region Nether biomes