added new illager invisible structures and small camps

This commit is contained in:
Pyritie 2025-12-15 00:38:12 +00:00
parent b79493883b
commit 5c0842dcff
20 changed files with 587 additions and 3 deletions

View file

@ -20,6 +20,7 @@
- The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie
#### Other
- Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie
- Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie
- Doubled the durability of all space suits @Pyritie
- Added a way to convert between vinegar and acetic acid (#2386) @Epicificator
- Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg

View file

@ -1,7 +1,9 @@
{
"type": "lithostitched:set_structure_spawn_condition",
"structures": [
"tfg:temperate/plains_temperate_house_0"
"tfg:temperate/plains_temperate_house_0",
"tfg:illagers/camps",
"tfg:illagers/forest_roaming"
],
"spawn_condition": {
"type": "lithostitched:grid",

View file

@ -0,0 +1,379 @@
{
"type": "minecraft:chest",
"pools": [
{
"bonus_rolls": 0,
"entries": [
{
"type": "minecraft:item",
"name": "tfc:wool",
"weight": 80,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 3,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:wool_yarn",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 9,
"min": 5
},
"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": "minecraft:sentry_armor_trim_smithing_template",
"weight": 10
},
{
"type": "minecraft:item",
"name": "minecraft:vex_armor_trim_smithing_template",
"weight": 10
},
{
"type": "minecraft:item",
"name": "minecraft:wild_armor_trim_smithing_template",
"weight": 10
},
{
"type": "minecraft:item",
"name": "minecraft:coast_armor_trim_smithing_template",
"weight": 10
},
{
"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": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:powder/sulfur",
"weight": 50,
"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": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle/gray",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:candle/light_gray",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4,
"min": 2
},
"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": "firmalife:jar/compost",
"weight": 80
},
{
"type": "minecraft:item",
"name": "firmalife:jar/guano",
"weight": 80
},
{
"type": "minecraft:item",
"name": "firmalife:jar/honey",
"weight": 80
},
{
"type": "minecraft:item",
"name": "minecraft:paper",
"weight": 50,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 2,
"min": 1
},
"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": 3,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "firmalife:beeswax",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 3,
"min": 1
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:flint",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 6,
"min": 3
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "gtceu:tricalcium_phosphate_dust",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 5,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "minecraft:charcoal",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 5,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "tfc:glue",
"weight": 100,
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 5,
"min": 2
},
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "chalk:gray_chalk",
"weight": 70
},
{
"type": "minecraft:item",
"name": "chalk:light_gray_chalk",
"weight": 70
},
{
"type": "minecraft:item",
"name": "species:music_disc_lapidarian",
"weight": 10
}
],
"rolls": {
"type": "minecraft:uniform",
"max": 8,
"min": 6
}
}
]
}

View file

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

View file

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

View file

@ -1,7 +1,7 @@
{
"type": "minecraft:jigsaw",
"start_pool": "tfg:illagers/norse_village_living_start_pool",
"size": 4,
"size": 5,
"max_distance_from_center": 116,
"biomes": "#tfg:has_structure/illages",
"step": "surface_structures",

View file

@ -1,7 +1,7 @@
{
"type": "minecraft:jigsaw",
"start_pool": "tfg:illagers/norse_village_ruined_start_pool",
"size": 4,
"size": 5,
"max_distance_from_center": 116,
"biomes": "#tfg:has_structure/illages",
"step": "surface_structures",

View file

@ -0,0 +1,19 @@
{
"structures": [
{
"structure": "tfg:illagers/camps",
"weight": 100
}
],
"placement": {
"type": "tfc:climate",
"salt": 96263635,
"spacing": 40,
"separation": 30,
"climate": {
"min_temperature": -12,
"max_temperature": 25,
"max_forest": "edge"
}
}
}

View file

@ -0,0 +1,19 @@
{
"structures": [
{
"structure": "tfg:illagers/forest_roaming",
"weight": 100
}
],
"placement": {
"type": "tfc:climate",
"salt": 74256242524,
"spacing": 35,
"separation": 25,
"climate": {
"min_temperature": -12,
"max_temperature": 25,
"min_forest": "edge"
}
}
}

View file

@ -0,0 +1,33 @@
{
"name": "tfg:illagers/camp_start_pool",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/small_camp_1",
"processors": "minecraft:empty",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/small_camp_2",
"processors": "minecraft:empty",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
},
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/huntmaster_camp",
"processors": "minecraft:empty",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,15 @@
{
"name": "tfg:illagers/forest_roaming_start_pool",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/gatherers",
"processors": "minecraft:empty",
"projection": "terrain_matching",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -0,0 +1,24 @@
{
"name": "tfg:illagers/mob_gatherer",
"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"
}
}
]
}

View file

@ -0,0 +1,15 @@
{
"name": "tfg:illagers/mob_huntmaster",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 100,
"element": {
"location": "tfg:illager_generic/mobs/huntmaster",
"processors": "minecraft:empty",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}

View file

@ -22,6 +22,33 @@ function registerTFGOverworldBiomeTags(event) {
event.add('tfg:has_structure/illages', 'tfc:plateau')
event.add('tfg:has_structure/illages', 'tfc:old_mountains')
event.add('tfg:has_structure/illager_camp', 'tfc:badlands')
event.add('tfg:has_structure/illager_camp', 'tfc:canyons')
event.add('tfg:has_structure/illager_camp', 'tfc:highlands')
event.add('tfg:has_structure/illager_camp', 'tfc:hills')
event.add('tfg:has_structure/illager_camp', 'tfc:inverted_badlands')
event.add('tfg:has_structure/illager_camp', 'tfc:low_canyons')
event.add('tfg:has_structure/illager_camp', 'tfc:lowlands')
event.add('tfg:has_structure/illager_camp', 'tfc:mountains')
event.add('tfg:has_structure/illager_camp', 'tfc:oceanic_mountains')
event.add('tfg:has_structure/illager_camp', 'tfc:old_mountains')
event.add('tfg:has_structure/illager_camp', 'tfc:plains')
event.add('tfg:has_structure/illager_camp', 'tfc:plateau')
event.add('tfg:has_structure/illager_camp', 'tfc:rolling_hills')
event.add('tfg:has_structure/illager_camp', 'tfc:salt_marsh')
event.add('tfg:has_structure/illager_camp', 'tfc:shore')
event.add('tfg:has_structure/illager_camp', 'tfc:tidal_flats')
event.add('tfg:has_structure/illager_camp', 'tfc:volcanic_mountains')
event.add('tfg:has_structure/illager_camp', 'tfc:volcanic_oceanic_mountains')
event.add('tfg:has_structure/illager_roaming', 'tfc:highlands')
event.add('tfg:has_structure/illager_roaming', 'tfc:hills')
event.add('tfg:has_structure/illager_roaming', 'tfc:lowlands')
event.add('tfg:has_structure/illager_roaming', 'tfc:plains')
event.add('tfg:has_structure/illager_roaming', 'tfc:plateau')
event.add('tfg:has_structure/illager_roaming', 'tfc:rolling_hills')
event.add('tfg:has_structure/illager_roaming', 'tfc:salt_marsh')
event.add('tfg:never_has_structure/illages', '#tfc:is_lake')
event.add('tfg:never_has_structure/illages', '#tfc:is_ocean')
event.add('tfg:never_has_structure/illages', '#tfc:is_river')