diff --git a/kubejs/data/tfg/structures/norse/baseline/bend_left.nbt b/kubejs/data/tfg/structures/norse/baseline/bend_left.nbt index b14e477d1..881925663 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/bend_left.nbt and b/kubejs/data/tfg/structures/norse/baseline/bend_left.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/bend_right.nbt b/kubejs/data/tfg/structures/norse/baseline/bend_right.nbt index e4e6b1d40..838e1ae19 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/bend_right.nbt and b/kubejs/data/tfg/structures/norse/baseline/bend_right.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/cross.nbt b/kubejs/data/tfg/structures/norse/baseline/cross.nbt index 85e6b10fd..fcbad26ec 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/cross.nbt and b/kubejs/data/tfg/structures/norse/baseline/cross.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/fork_left.nbt b/kubejs/data/tfg/structures/norse/baseline/fork_left.nbt index 270aa3753..be269dcea 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/fork_left.nbt and b/kubejs/data/tfg/structures/norse/baseline/fork_left.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/fork_right.nbt b/kubejs/data/tfg/structures/norse/baseline/fork_right.nbt index 6cbb444aa..2aeb29dbd 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/fork_right.nbt and b/kubejs/data/tfg/structures/norse/baseline/fork_right.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_farmhouse_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_farmhouse_base.nbt index 0cd220c51..14cb44fb1 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_farmhouse_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_farmhouse_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_farmhousebig_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_farmhousebig_base.nbt index eb164b3f7..9a45435d3 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_farmhousebig_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_farmhousebig_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_longhouse_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_longhouse_base.nbt index 3dd3ab305..63271f89c 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_longhouse_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_longhouse_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_mosshouse_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_mosshouse_base.nbt index 7aa64c831..2acb2cd42 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_mosshouse_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_mosshouse_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_root_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_root_base.nbt index 1edac1332..4525d57b8 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_root_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_root_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/norse_smithy_base.nbt b/kubejs/data/tfg/structures/norse/baseline/norse_smithy_base.nbt index 5fec0efb5..d2e3b9c90 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/norse_smithy_base.nbt and b/kubejs/data/tfg/structures/norse/baseline/norse_smithy_base.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/straight_long.nbt b/kubejs/data/tfg/structures/norse/baseline/straight_long.nbt index 38e906875..848045c98 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/straight_long.nbt and b/kubejs/data/tfg/structures/norse/baseline/straight_long.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/straight_medium.nbt b/kubejs/data/tfg/structures/norse/baseline/straight_medium.nbt index e67bf89a0..5bfa7f007 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/straight_medium.nbt and b/kubejs/data/tfg/structures/norse/baseline/straight_medium.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/straight_short.nbt b/kubejs/data/tfg/structures/norse/baseline/straight_short.nbt index b6e98a6bd..f013faf0c 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/straight_short.nbt and b/kubejs/data/tfg/structures/norse/baseline/straight_short.nbt differ diff --git a/kubejs/data/tfg/structures/norse/baseline/t_junction.nbt b/kubejs/data/tfg/structures/norse/baseline/t_junction.nbt index 34931d087..5dd8f47e0 100644 Binary files a/kubejs/data/tfg/structures/norse/baseline/t_junction.nbt and b/kubejs/data/tfg/structures/norse/baseline/t_junction.nbt differ diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/norse_paths.json b/kubejs/data/tfg/worldgen/processor_list/illagers/norse_paths.json index 37e57b9df..9fdf1522e 100644 --- a/kubejs/data/tfg/worldgen/processor_list/illagers/norse_paths.json +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/norse_paths.json @@ -5,7 +5,7 @@ "rules": [ { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:block_match" }, "location_predicate": { @@ -13,20 +13,20 @@ "predicate_type": "minecraft:block_match" }, "output_state": { - "Name": "tfc:rock/bricks/andesite" + "Name": "tfc:wood/planks/hickory" } }, { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:block_match" }, "location_predicate": { - "block": "tfc:fluid/river_water", + "block": "tfc:river_water", "predicate_type": "minecraft:block_match" }, "output_state": { - "Name": "tfc:rock/bricks/andesite" + "Name": "tfc:wood/planks/hickory" } }, @@ -34,7 +34,7 @@ { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:random_block_match", "probability": 0.1 }, @@ -47,7 +47,7 @@ }, { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:random_block_match", "probability": 0.1 }, @@ -60,7 +60,7 @@ }, { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:random_block_match", "probability": 0.15 }, @@ -73,7 +73,7 @@ }, { "input_predicate": { - "block": "rnr:hoggin", + "block": "tfc:rock/bricks/andesite", "predicate_type": "minecraft:random_block_match", "probability": 0.1 }, @@ -83,6 +83,19 @@ "output_state": { "Name": "tfc:grass/sandy_loam" } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } } ] } diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/norse_structures.json b/kubejs/data/tfg/worldgen/processor_list/illagers/norse_structures.json index 6711ea3cf..897cef076 100644 --- a/kubejs/data/tfg/worldgen/processor_list/illagers/norse_structures.json +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/norse_structures.json @@ -3,7 +3,47 @@ { "processor_type": "minecraft:rule", "rules": [ - + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "minecraft:water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/hickory" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "tfc:river_water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/hickory" + } + }, + + + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } + } ] } ] diff --git a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json index af36442d3..6f79900ef 100644 --- a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json +++ b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json @@ -7,9 +7,9 @@ "step": "surface_structures", "terrain_adaptation": "beard_thin", "start_height": { - "absolute": 0 + "absolute": -1 }, - "project_start_to_heightmap": "WORLD_SURFACE_WG", + "project_start_to_heightmap": "MOTION_BLOCKING", "use_expansion_hack": false, "adapt_noise": true, "spawn_overrides": { diff --git a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json index 32442d1f4..b39361f99 100644 --- a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json +++ b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json @@ -7,9 +7,9 @@ "step": "surface_structures", "terrain_adaptation": "beard_thin", "start_height": { - "absolute": 0 + "absolute": -1 }, - "project_start_to_heightmap": "WORLD_SURFACE_WG", + "project_start_to_heightmap": "MOTION_BLOCKING", "use_expansion_hack": false, "adapt_noise": true, "spawn_overrides": {} diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json index 883d038f3..69f7a0b81 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json @@ -10,15 +10,36 @@ } ], "placement": { - "salt": 26256356324, - "spacing": 40, - "separation": 25, - "type": "tfc:climate", - "climate": { - "min_temperature": -12, - "max_temperature": 5, - "min_rainfall": 200, - "max_forest": "edge" + "type": "lithostitched:condition", + "condition": { + "type": "lithostitched:all_of", + "conditions": [ + { + "type": "tfc:climate", + "salt": 26256356324, + "spacing": 40, + "separation": 25, + "climate": { + "min_temperature": -12, + "max_temperature": 5, + "min_rainfall": 200, + "max_forest": "edge" + } + }, + { + "type": "lithostitched:grid", + "radius": 105, + "distance_between_points": 15, + "condition": { + "type": "lithostitched:not", + "condition": { + "type": "lithostitched:in_biome", + "biomes": "#tfg:has_structure/illages" + } + }, + "allowed_count": 0 + } + ] } } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_living_buildings.json b/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_living_buildings.json index 349c435bf..b0bd44bd5 100644 --- a/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_living_buildings.json +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_living_buildings.json @@ -5,28 +5,40 @@ { "weight": 100, "element": { - "location": "tfg:norse/baseline/norse_longhouse_base", - "processors": "tfg:illagers/norse_structures", - "projection": "rigid", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/baseline/norse_longhouse_base", + "processors": "tfg:illagers/norse_structures", + "projection": "rigid" + }, + "limit": 2 } }, { "weight": 100, "element": { - "location": "tfg:norse/baseline/norse_smithy_base", - "processors": "tfg:illagers/norse_structures", - "projection": "rigid", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/baseline/norse_smithy_base", + "processors": "tfg:illagers/norse_structures", + "projection": "rigid" + }, + "limit": 1 } }, { "weight": 40, "element": { - "location": "tfg:norse/baseline/norse_burial_base", - "processors": "tfg:illagers/norse_structures", - "projection": "terrain_matching", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/baseline/norse_burial_base", + "processors": "tfg:illagers/norse_structures", + "projection": "terrain_matching" + }, + "limit": 2 } }, { diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_ruined_buildings.json b/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_ruined_buildings.json index dd9e1ddcc..4058f6db1 100644 --- a/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_ruined_buildings.json +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/norse_village_ruined_buildings.json @@ -32,10 +32,14 @@ { "weight": 100, "element": { - "location": "tfg:norse/ruins/norse_longhouse_ruin", - "processors": "tfg:illagers/norse_structures", - "projection": "rigid", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/ruins/norse_longhouse_ruin", + "processors": "tfg:illagers/norse_structures", + "projection": "rigid" + }, + "limit": 2 } }, { @@ -59,19 +63,27 @@ { "weight": 50, "element": { - "location": "tfg:norse/ruins/norse_smithy_ruin", - "processors": "tfg:illagers/norse_structures", - "projection": "rigid", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/ruins/norse_smithy_ruin", + "processors": "tfg:illagers/norse_structures", + "projection": "rigid" + }, + "limit": 1 } }, { "weight": 50, "element": { - "location": "tfg:norse/burned/norse_smithy_burn", - "processors": "tfg:illagers/norse_structures", - "projection": "rigid", - "element_type": "minecraft:single_pool_element" + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:norse/burned/norse_smithy_burn", + "processors": "tfg:illagers/norse_structures", + "projection": "rigid" + }, + "limit": 1 } }, { diff --git a/pakku-lock.json b/pakku-lock.json index e47ab9bde..31f213fd0 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -8592,6 +8592,67 @@ } ] }, + { + "pakku_id": "bxyAJNntv1MTkwyz", + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "lithostitched", + "modrinth": "lithostitched" + }, + "name": { + "curseforge": "Lithostitched", + "modrinth": "Lithostitched" + }, + "id": { + "curseforge": "936015", + "modrinth": "XaDC71GB" + }, + "files": [ + { + "type": "curseforge", + "file_name": "lithostitched-forge-1.20.1-1.4.11.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6742/615/lithostitched-forge-1.20.1-1.4.11.jar", + "id": "6742615", + "parent_id": "936015", + "hashes": { + "sha1": "d1a755de84ee5d8910ff1e65e815473056e93ece", + "md5": "3c596bbc1b5f769f22be751e9c21a6c8" + }, + "required_dependencies": [], + "size": 476347, + "date_published": "2025-07-07T23:21:45.877Z" + }, + { + "type": "modrinth", + "file_name": "lithostitched-forge-1.20.1-1.4.11.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/XaDC71GB/versions/srPoHKt8/lithostitched-forge-1.20.1-1.4.11.jar", + "id": "srPoHKt8", + "parent_id": "XaDC71GB", + "hashes": { + "sha512": "4e50a0fb4f054b429803cb20fc0820011b12098ebca1f17b1b0634cab832369e08446901d5e97fd35b01e99cf6066d20a16cc673c5b7bc8196568b3db67128c2", + "sha1": "d1a755de84ee5d8910ff1e65e815473056e93ece" + }, + "required_dependencies": [], + "size": 476347, + "date_published": "2025-07-07T23:21:46.041450Z" + } + ] + }, { "pakku_id": "OcjL6nfubOOv2SoV", "type": "MOD",