diff --git a/biomes/land/dry/desert/red/red_desert.yml b/biomes/land/dry/desert/red/red_desert.yml index 9e2ca757..717413dd 100644 --- a/biomes/land/dry/desert/red/red_desert.yml +++ b/biomes/land/dry/desert/red/red_desert.yml @@ -9,4 +9,8 @@ tags: palette: - RED_SAND: $meta.yml:top-y - - << meta.yml:palette-bottom \ No newline at end of file + - << meta.yml:palette-bottom + +landforms: + - RED_DESERT_WELLS + - MOB_ROOMS \ No newline at end of file diff --git a/features/misc/red_desert_wells.yml b/features/misc/red_desert_wells.yml new file mode 100644 index 00000000..88046178 --- /dev/null +++ b/features/misc/red_desert_wells.yml @@ -0,0 +1,19 @@ +id: DESERT_WELLS +type: FEATURE + +distributor: + type: PADDED_GRID + width: 100 + padding: 45 + salt: 7863 + +locator: + type: TOP + range: &range + min: ${meta.yml:ocean-level} + 3 + max: $meta.yml:top-y + +structures: + distribution: + type: CONSTANT + structures: red_desert_well \ No newline at end of file diff --git a/structures/misc/red_desert_well/red_desert_well.tesf b/structures/misc/red_desert_well/red_desert_well.tesf new file mode 100644 index 00000000..ace653a3 --- /dev/null +++ b/structures/misc/red_desert_well/red_desert_well.tesf @@ -0,0 +1,14 @@ +if (check(3, -1, 3) != "LAND" || + check(-3, -1, 3) != "LAND" || + check(3, -1, -3) != "LAND" || + check(-3, -1, -3) != "LAND" + ) fail; + +num depth = 3 + randomInt(3); +num yTranslate = 1; +structure(0,yTranslate+1,0, "red_desert_well_top", "NONE"); +structure(0,yTranslate,0, "red_desert_well_bottom", "NONE"); + +for (num y = yTranslate; y > -depth; y = y - 1) { + block(0,y,0, "minecraft:water", true, true); +} \ No newline at end of file diff --git a/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_1.schem b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_1.schem new file mode 100644 index 00000000..ff742a47 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_1.schem differ diff --git a/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_2.schem b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_2.schem new file mode 100644 index 00000000..2e165734 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_2.schem differ diff --git a/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_3.schem b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_3.schem new file mode 100644 index 00000000..cd07b20e Binary files /dev/null and b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_3.schem differ diff --git a/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_4.schem b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_4.schem new file mode 100644 index 00000000..7ba746a3 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/bottom/red_desert_well_bottom_4.schem differ diff --git a/structures/misc/red_desert_well/schematics/red_desert_well_bottom.tesf b/structures/misc/red_desert_well/schematics/red_desert_well_bottom.tesf new file mode 100644 index 00000000..43eb2e10 --- /dev/null +++ b/structures/misc/red_desert_well/schematics/red_desert_well_bottom.tesf @@ -0,0 +1,6 @@ +num random = randomInt(4); + +if (random == 0) structure(0,0,0, "red_desert_well_bottom_1", "NONE"); +if (random == 1) structure(0,0,0, "red_desert_well_bottom_2", "NONE"); +if (random == 2) structure(0,0,0, "red_desert_well_bottom_3", "NONE"); +if (random == 3) structure(0,0,0, "red_desert_well_bottom_4", "NONE"); \ No newline at end of file diff --git a/structures/misc/red_desert_well/schematics/red_desert_well_top.tesf b/structures/misc/red_desert_well/schematics/red_desert_well_top.tesf new file mode 100644 index 00000000..076056aa --- /dev/null +++ b/structures/misc/red_desert_well/schematics/red_desert_well_top.tesf @@ -0,0 +1,6 @@ +num random = randomInt(4); + +if (random == 0) structure(0,0,0, "red_desert_well_top_1", "NONE", "CW_90", "CCW_90", "CW_180"); +if (random == 1) structure(0,0,0, "red_desert_well_top_2", "NONE", "CW_90", "CCW_90", "CW_180"); +if (random == 2) structure(0,0,0, "red_desert_well_top_3", "NONE", "CW_90", "CCW_90", "CW_180"); +if (random == 3) structure(0,0,0, "red_desert_well_top_4", "NONE", "CW_90", "CCW_90", "CW_180"); \ No newline at end of file diff --git a/structures/misc/red_desert_well/schematics/top/red_desert_well_top_1.schem b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_1.schem new file mode 100644 index 00000000..62a7531c Binary files /dev/null and b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_1.schem differ diff --git a/structures/misc/red_desert_well/schematics/top/red_desert_well_top_2.schem b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_2.schem new file mode 100644 index 00000000..0b5f6e73 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_2.schem differ diff --git a/structures/misc/red_desert_well/schematics/top/red_desert_well_top_3.schem b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_3.schem new file mode 100644 index 00000000..85c79e08 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_3.schem differ diff --git a/structures/misc/red_desert_well/schematics/top/red_desert_well_top_4.schem b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_4.schem new file mode 100644 index 00000000..014cf349 Binary files /dev/null and b/structures/misc/red_desert_well/schematics/top/red_desert_well_top_4.schem differ