mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-27 15:17:59 +01:00
Adjust cloud generation and add a little more variety
This commit is contained in:
parent
30a6868f63
commit
e9897bfb55
13 changed files with 142 additions and 10 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||||
|
}
|
|
@ -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,
|
|
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in a new issue