int MapgenCarpathian::getSpawnLevelAtPoint(v2s16 p) { s16 level_at_point = terrainLevelAtPoint(p.X, p.Y); if (level_at_point <= water_level || level_at_point > water_level + 32) return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point return level_at_point; }
int MapgenValleys::getSpawnLevelAtPoint(v2s16 p) { // Check to make sure this isn't a request for a location in a river. float rivers = NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed); if (fabs(rivers) < river_size_factor) return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point s16 level_at_point = terrainLevelAtPoint(p.X, p.Y); if (level_at_point <= water_level || level_at_point > water_level + 32) return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point else return level_at_point; }
int MapgenValleys::getGroundLevelAtPoint(v2s16 p) { // *********************************** // This method (deliberately) does not // return correct terrain values. // *********************************** // Since MT doesn't normally deal with rivers, check // to make sure this isn't a request for a location // in a river. float rivers = NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed); // If it's wet, return an unusable number. if (fabs(rivers) < river_size_factor) return MAX_MAP_GENERATION_LIMIT; // Otherwise, return the real result. return terrainLevelAtPoint(p.X, p.Y); }