aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/FlowerFeature.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.World/FlowerFeature.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.World/FlowerFeature.cpp')
-rw-r--r--Minecraft.World/FlowerFeature.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/Minecraft.World/FlowerFeature.cpp b/Minecraft.World/FlowerFeature.cpp
index 3fd8bac4..f24d61bf 100644
--- a/Minecraft.World/FlowerFeature.cpp
+++ b/Minecraft.World/FlowerFeature.cpp
@@ -1,5 +1,6 @@
#include "stdafx.h"
#include "net.minecraft.world.level.h"
+#include "net.minecraft.world.level.dimension.h"
#include "FlowerFeature.h"
#include "net.minecraft.world.level.tile.h"
@@ -22,19 +23,19 @@ bool FlowerFeature::place(Level *level, Random *random, int x, int y, int z)
}
}
- for (int i = 0; i < 64; i++)
+ for (int i = 0; i < 64; i++)
{
- int x2 = x + random->nextInt(8) - random->nextInt(8);
- int y2 = y + random->nextInt(4) - random->nextInt(4);
- int z2 = z + random->nextInt(8) - random->nextInt(8);
- if (level->isEmptyTile(x2, y2, z2))
+ int x2 = x + random->nextInt(8) - random->nextInt(8);
+ int y2 = y + random->nextInt(4) - random->nextInt(4);
+ int z2 = z + random->nextInt(8) - random->nextInt(8);
+ if (level->isEmptyTile(x2, y2, z2) && (!level->dimension->hasCeiling || y2 < Level::genDepthMinusOne))
{
- if (Tile::tiles[tile]->canSurvive(level, x2, y2, z2))
+ if (Tile::tiles[tile]->canSurvive(level, x2, y2, z2))
{
- level->setTileNoUpdate(x2, y2, z2, tile);
- }
- }
- }
+ level->setTileAndData(x2, y2, z2, tile, 0, Tile::UPDATE_CLIENTS);
+ }
+ }
+ }
- return true;
+ return true;
} \ No newline at end of file