From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: feat: TU19 (Dec 2014) Features & Content (#155) * try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki --- Minecraft.World/SandFeature.cpp | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'Minecraft.World/SandFeature.cpp') diff --git a/Minecraft.World/SandFeature.cpp b/Minecraft.World/SandFeature.cpp index b678e290..122264ff 100644 --- a/Minecraft.World/SandFeature.cpp +++ b/Minecraft.World/SandFeature.cpp @@ -5,21 +5,21 @@ SandFeature::SandFeature(int radius, int tile) { - this->tile = tile; - this->radius = radius; + this->tile = tile; + this->radius = radius; } bool SandFeature::place(Level *level, Random *random, int x, int y, int z) { - if (level->getMaterial(x, y, z) != Material::water) return false; + if (level->getMaterial(x, y, z) != Material::water) return false; // 4J - optimisation. Without this, we can end up creating a huge number of HeavyTiles to be ticked // a few frames away. I think instatick ought to be fine here - we're only turning rock into gravel, // so should instantly know if we've made a rock with nothing underneath and that should fall. level->setInstaTick(true); - int r = random->nextInt(radius-2)+2; - int yr = 2; + int r = random->nextInt(radius-2)+2; + int yr = 2; // 4J Stu Added to stop tree features generating areas previously place by game rule generation if(app.getLevelGenerationOptions() != NULL) @@ -34,25 +34,25 @@ bool SandFeature::place(Level *level, Random *random, int x, int y, int z) } } - for (int xx = x - r; xx <= x + r; xx++) + for (int xx = x - r; xx <= x + r; xx++) { - for (int zz = z - r; zz <= z + r; zz++) + for (int zz = z - r; zz <= z + r; zz++) { - int xd = xx - x; - int zd = zz - z; - if (xd * xd + zd * zd > r * r) continue; - for (int yy = y - yr; yy <= y + yr; yy++) + int xd = xx - x; + int zd = zz - z; + if (xd * xd + zd * zd > r * r) continue; + for (int yy = y - yr; yy <= y + yr; yy++) { - int t = level->getTile(xx, yy, zz); - if (t == Tile::dirt_Id || t == Tile::grass_Id) + int t = level->getTile(xx, yy, zz); + if (t == Tile::dirt_Id || t == Tile::grass_Id) { - level->setTileNoUpdate(xx, yy, zz, tile); - } - } - } - } + level->setTileAndData(xx, yy, zz, tile, 0, Tile::UPDATE_CLIENTS); + } + } + } + } level->setInstaTick(false); - return true; + return true; } \ No newline at end of file -- cgit v1.2.3