Merge branch 'Habitat-Blocks-pt2' into 'main'

drifting icebergs, volcanic plumes, sketal falls, strange fungal dwellings,...

See merge request cable-mc/cobblemon!2291
This commit is contained in:
Polymeta
2026-05-26 15:12:31 +00:00
54 changed files with 237 additions and 33 deletions
@@ -92,7 +92,9 @@ object CobblemonPlacedFeatures {
@JvmField
val SKELETAL_FALL = of("habitats/skeletal_fall")
@JvmField
val STRANGE_FUNGAL_DWELLINGS = of("habitats/strange_fungal_dwellings")
val STRANGE_CRIMSON_FUNGAL_DWELLINGS = of("habitats/strange_crimson_fungal_dwellings")
@JvmField
val STRANGE_WARPED_FUNGAL_DWELLINGS = of("habitats/strange_warped_fungal_dwellings")
@JvmField
val VOLCANIC_PLUMES = of("habitats/volcanic_plumes")
@@ -177,7 +179,8 @@ object CobblemonPlacedFeatures {
Cobblemon.implementation.addFeatureToWorldGen(ROOT_NURSERIES, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_SWAMP)
Cobblemon.implementation.addFeatureToWorldGen(SANDY_TIDEPOOLS, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_BEACH)
Cobblemon.implementation.addFeatureToWorldGen(SKELETAL_FALL, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_SOUL_SAND)
Cobblemon.implementation.addFeatureToWorldGen(STRANGE_FUNGAL_DWELLINGS, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_WASTELAND)
Cobblemon.implementation.addFeatureToWorldGen(STRANGE_CRIMSON_FUNGAL_DWELLINGS, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_WASTELAND)
Cobblemon.implementation.addFeatureToWorldGen(STRANGE_WARPED_FUNGAL_DWELLINGS, GenerationStep.Decoration.LOCAL_MODIFICATIONS, CobblemonBiomeTags.IS_WASTELAND)
Cobblemon.implementation.addFeatureToWorldGen(VOLCANIC_PLUMES, GenerationStep.Decoration.LOCAL_MODIFICATIONS, BiomeTags.IS_NETHER)
Cobblemon.implementation.addFeatureToWorldGen(PREHISTORIC_BIRCH_TREE, GenerationStep.Decoration.LAKES, CobblemonBiomeTags.HAS_BIRCH_LOG)
Cobblemon.implementation.addFeatureToWorldGen(PREHISTORIC_DRIPSTONE_OASIS, GenerationStep.Decoration.LAKES, CobblemonBiomeTags.IS_DRIPSTONE)
@@ -0,0 +1,11 @@
{
"type": "cobblemon:structure",
"config": {
"cobblemon_structures": [
"cobblemon:habitats/strange_fungal_dwelling6",
"cobblemon:habitats/strange_fungal_dwelling7",
"cobblemon:habitats/strange_fungal_dwelling8"
],
"cobblemon_processors": "cobblemon:habitats/strange_crimson_fungal_dwelling"
}
}
@@ -3,12 +3,11 @@
"config": {
"cobblemon_structures": [
"cobblemon:habitats/strange_fungal_dwelling1",
"cobblemon:habitats/strange_fungal_dwelling2",
"cobblemon:habitats/strange_fungal_dwelling3",
"cobblemon:habitats/strange_fungal_dwelling4",
"cobblemon:habitats/strange_fungal_dwelling5",
"cobblemon:habitats/strange_fungal_dwelling7",
"cobblemon:habitats/strange_fungal_dwelling8"
"cobblemon:habitats/strange_fungal_dwelling5"
],
"cobblemon_processors": "cobblemon:habitats/strange_fungal_dwelling"
"cobblemon_processors": "cobblemon:habitats/strange_warped_fungal_dwelling"
}
}
@@ -7,7 +7,7 @@
},
{
"type": "minecraft:rarity_filter",
"chance": 300
"chance": 600
},
{
"type": "minecraft:height_range",
@@ -0,0 +1,59 @@
{
"feature": "cobblemon:habitats/strange_crimson_fungal_dwellings",
"placement": [
{
"type": "minecraft:count",
"count": 1
},
{
"type": "minecraft:rarity_filter",
"chance": 150
},
{
"type": "minecraft:height_range",
"height": {
"type": "minecraft:uniform",
"min_inclusive": {
"absolute": 30
},
"max_inclusive": {
"absolute": 80
}
}
},
{
"type": "minecraft:environment_scan",
"allowed_search_condition": {
"type": "minecraft:matching_blocks",
"blocks": [
"minecraft:netherrack",
"minecraft:warped_nylium",
"minecraft:crimson_nylium"
],
"offset": [
0,
0,
0
]
},
"direction_of_search": "up",
"max_steps": 7,
"target_condition": {
"type": "minecraft:matching_blocks",
"blocks": [
"minecraft:air"
],
"offset": [
0,
1,
0
]
}
},
{
"type": "minecraft:random_offset",
"y_spread": -9,
"xz_spread": 0
}
]
}
@@ -1,5 +1,5 @@
{
"feature": "cobblemon:habitats/strange_fungal_dwellings",
"feature": "cobblemon:habitats/strange_warped_fungal_dwellings",
"placement": [
{
"type": "minecraft:count",
@@ -7,7 +7,7 @@
},
{
"type": "minecraft:rarity_filter",
"chance": 100
"chance": 200
},
{
"type": "minecraft:height_range",
@@ -7,7 +7,7 @@
},
{
"type": "minecraft:rarity_filter",
"chance": 280
"chance": 600
},
{
"type": "minecraft:height_range",
@@ -50,7 +50,7 @@
}
]
},
"limit": 4,
"limit": 9,
"processor_type": "minecraft:capped"
}
]
@@ -43,6 +43,28 @@
}
}
]
},
{
"delegate": {
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "cobblemon:habitat_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:stone"
}
}
]
},
"limit": 9,
"processor_type": "minecraft:capped"
}
]
}
@@ -17,6 +17,28 @@
}
}
]
},
{
"delegate": {
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "cobblemon:habitat_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:bone_block"
}
}
]
},
"limit": 9,
"processor_type": "minecraft:capped"
}
]
}
@@ -0,0 +1,44 @@
{
"processors": [
{
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "minecraft:gold_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:air"
}
}
]
},
{
"delegate": {
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "cobblemon:habitat_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:crimson_nylium"
}
}
]
},
"limit": 9,
"processor_type": "minecraft:capped"
}
]
}
@@ -1,22 +0,0 @@
{
"processors": [
{
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "minecraft:gold_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:air"
}
}
]
}
]
}
@@ -0,0 +1,44 @@
{
"processors": [
{
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "minecraft:gold_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:air"
}
}
]
},
{
"delegate": {
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "cobblemon:habitat_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:warped_nylium"
}
}
]
},
"limit": 9,
"processor_type": "minecraft:capped"
}
]
}
@@ -17,6 +17,28 @@
}
}
]
},
{
"delegate": {
"processor_type": "minecraft:rule",
"rules": [
{
"input_predicate": {
"block": "cobblemon:habitat_block",
"predicate_type": "minecraft:random_block_match",
"probability": 1.0
},
"location_predicate": {
"predicate_type": "minecraft:always_true"
},
"output_state": {
"Name": "minecraft:basalt"
}
}
]
},
"limit": 9,
"processor_type": "minecraft:capped"
}
]
}