diff --git a/Minecraft.World/BasicTree.cpp b/Minecraft.World/BasicTree.cpp index fc08a5f7a..c1cb2dfe3 100644 --- a/Minecraft.World/BasicTree.cpp +++ b/Minecraft.World/BasicTree.cpp @@ -475,7 +475,14 @@ bool BasicTree::checkLocation() int baseMaterial = thisLevel->getTile(origin[0], origin[1] - 1, origin[2]); if (!((baseMaterial == 2) || (baseMaterial == 3))) { - return false; + if (baseMaterial == Tile::alphaGrass_Id) + { + return true; + } + else + { + return false; + } } int allowedHeight = checkLine(startPosition, endPosition); // If the set height is good, go with that diff --git a/Minecraft.World/IslandFeature.cpp b/Minecraft.World/IslandFeature.cpp index 99229a9f7..65ed2cf5a 100644 --- a/Minecraft.World/IslandFeature.cpp +++ b/Minecraft.World/IslandFeature.cpp @@ -104,11 +104,11 @@ bool IslandFeature::place(Level *level, Random *random, int x, int y, int z) { for (int yy = 0; yy < 8; yy++) { - if (grid[((xx) * 8 + (zz)) * 8 + (yy)]) + if (grid[((xx) * 16 + (zz)) * 8 + (yy)]) { level->setTileAndData(x + xx, y + yy+100+height, z + zz, tile, 0, Tile::UPDATE_CLIENTS); - level->setTileAndData(x + xx, y + yy+98+height, z + zz, Tile::dirt_Id, 0, Tile::UPDATE_CLIENTS); - level->setTileAndData(x + xx, y + yy+96+height, z + zz, Tile::stone_Id, 0, Tile::UPDATE_CLIENTS); + level->setTileAndData(x + xx, y + yy+99+height, z + zz, Tile::dirt_Id, 0, Tile::UPDATE_CLIENTS); + level->setTileAndData(x + xx, y + yy+98+height, z + zz, Tile::stone_Id, 0, Tile::UPDATE_CLIENTS); } } }