Adjust cloud generation and add a little more variety

This commit is contained in:
Sollace 2023-11-03 19:56:28 +00:00
parent 30a6868f63
commit e9897bfb55
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
13 changed files with 142 additions and 10 deletions

View file

@ -89,24 +89,21 @@ public class CompactedCloudBlock extends CloudBlock {
@Override @Override
public BlockState rotate(BlockState state, BlockRotation rotation) { public BlockState rotate(BlockState state, BlockRotation rotation) {
BlockState result = state; return transform(state, rotation::rotate);
for (var property : FACING_PROPERTIES.entrySet()) {
if (property.getKey().getAxis() != Direction.Axis.Y) {
result = result.with(FACING_PROPERTIES.get(rotation.rotate(property.getKey())), state.get(property.getValue()));
}
}
return result;
} }
@Override @Override
public BlockState mirror(BlockState state, BlockMirror mirror) { public BlockState mirror(BlockState state, BlockMirror mirror) {
return transform(state, mirror::apply);
}
private BlockState transform(BlockState state, Function<Direction, Direction> transformation) {
BlockState result = state; BlockState result = state;
for (var property : FACING_PROPERTIES.entrySet()) { for (var property : FACING_PROPERTIES.entrySet()) {
if (property.getKey().getAxis() != Direction.Axis.Y) { if (property.getKey().getAxis() != Direction.Axis.Y) {
result = result.with(FACING_PROPERTIES.get(mirror.apply(property.getKey())), state.get(property.getValue())); result = result.with(FACING_PROPERTIES.get(transformation.apply(property.getKey())), state.get(property.getValue()));
} }
} }
return result; return result;
} }
} }

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:jigsaw",
"biomes": "#minecraft:is_overworld",
"max_distance_from_center": 80,
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"size": 6,
"spawn_overrides": {},
"start_height": {
"absolute": 180
},
"start_pool": "unicopia:clouds/start",
"step": "surface_structures",
"terrain_adaptation": "none",
"use_expansion_hack": true
}

View file

@ -1,6 +1,6 @@
{ {
"type": "minecraft:jigsaw", "type": "minecraft:jigsaw",
"biomes": "#minecraft:is_forest", "biomes": "#minecraft:is_overworld",
"max_distance_from_center": 80, "max_distance_from_center": 80,
"project_start_to_heightmap": "WORLD_SURFACE_WG", "project_start_to_heightmap": "WORLD_SURFACE_WG",
"size": 6, "size": 6,

View file

@ -0,0 +1,18 @@
{
"placement": {
"type": "minecraft:random_spread",
"salt": 54138171,
"separation": 2,
"spacing": 10
},
"structures": [
{
"structure": "unicopia:cloud_village",
"weight": 90
},
{
"structure": "unicopia:floating_island",
"weight": 1
}
]
}

View file

@ -9,6 +9,72 @@
}, },
"projection": "rigid" "projection": "rigid"
}, },
"weight": 4
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/village/house_2",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 6
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/village/house_3",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 1
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/pillars/pillar_1",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 1
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/pillars/pillar_2",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 2
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/pillars/pillar_3",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 4
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/pillars/pillar_4",
"processors": {
"processors": []
},
"projection": "rigid"
},
"weight": 1 "weight": 1
} }
], ],

View file

@ -81,6 +81,42 @@
}, },
"weight": 1 "weight": 1
}, },
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/junction_2",
"processors": "unicopia:cloud_decay",
"projection": "rigid"
},
"weight": 1
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/junction_3",
"processors": "unicopia:cloud_decay",
"projection": "rigid"
},
"weight": 1
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/junction_4",
"processors": "unicopia:cloud_decay",
"projection": "rigid"
},
"weight": 1
},
{
"element": {
"element_type": "minecraft:single_pool_element",
"location": "unicopia:clouds/junction_5",
"processors": "unicopia:cloud_decay",
"projection": "rigid"
},
"weight": 1
},
{ {
"element": { "element": {
"element_type": "minecraft:single_pool_element", "element_type": "minecraft:single_pool_element",