aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/DesertBiome.cpp
diff options
context:
space:
mode:
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