aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/DesertBiome.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/DesertBiome.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.World/DesertBiome.cpp')
-rw-r--r--Minecraft.World/DesertBiome.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Minecraft.World/DesertBiome.cpp b/Minecraft.World/DesertBiome.cpp
new file mode 100644
index 00000000..6928861e
--- /dev/null
+++ b/Minecraft.World/DesertBiome.cpp
@@ -0,0 +1,33 @@
+#include "stdafx.h"
+#include "net.minecraft.world.level.levelgen.feature.h"
+#include "net.minecraft.world.level.h"
+#include "net.minecraft.world.level.tile.h"
+#include "net.minecraft.world.level.biome.h"
+
+DesertBiome::DesertBiome(int id) : Biome(id)
+{
+ // remove default mob spawn settings
+ friendlies.clear();
+ friendlies_chicken.clear(); // 4J added
+ friendlies_wolf.clear(); // 4J added
+ this->topMaterial = (BYTE) Tile::sand_Id;
+ this->material = (BYTE) 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);
+ }
+} \ No newline at end of file