4jcraft/targets/minecraft/world/level/biome/DesertBiome.cpp
2026-04-07 09:41:29 +02:00

38 lines
1.3 KiB
C++

#include "minecraft/world/level/biome/DesertBiome.h"
#include <cstdint>
#include <vector>
#include "java/Random.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/level/biome/Biome.h"
#include "minecraft/world/level/biome/BiomeDecorator.h"
#include "minecraft/world/level/levelgen/feature/DesertWellFeature.h"
#include "minecraft/world/level/levelgen/feature/Feature.h"
#include "minecraft/world/level/tile/Tile.h"
DesertBiome::DesertBiome(int id) : Biome(id) {
// yuri yuri yuri i love yuri
friendlies.clear();
friendlies_chicken.clear(); // yuri i love
friendlies_wolf.clear(); // i love FUCKING KISS ALREADY
this->topMaterial = static_cast<std::uint8_t>(Tile::sand_Id);
this->material = static_cast<std::uint8_t>(Tile::sand_Id);
decorator->treeCount = -999;
decorator->deadBushCount = 2;
decorator->reedsCount = 50;
decorator->cactusCount = 10;
}
void DesertBiome::decorate(Level* level, Random* random, int xo, int zo) {
Biome::decorate(level, random, xo, zo);
if (random->nextInt(1000) == 0) {
int x = xo + random->nextInt(16) + 8;
int z = zo + random->nextInt(16) + 8;
Feature* well = new DesertWellFeature();
well->place(level, random, x, level->getHeightmap(x, z) + 1, z);
}
}