void cPrefabStructure::PlacePieceOnGround(cPlacedPiece & a_Piece) { cPiece::cConnector FirstConnector = a_Piece.GetRotatedConnector(0); int ChunkX, ChunkZ; int BlockX = FirstConnector.m_Pos.x; int BlockZ = FirstConnector.m_Pos.z; int BlockY; cChunkDef::AbsoluteToRelative(BlockX, BlockY, BlockZ, ChunkX, ChunkZ); cChunkDef::HeightMap HeightMap; m_HeightGen->GenHeightMap(ChunkX, ChunkZ, HeightMap); int TerrainHeight = cChunkDef::GetHeight(HeightMap, BlockX, BlockZ); a_Piece.MoveToGroundBy(TerrainHeight - FirstConnector.m_Pos.y + 1); }