advanced plants test
This commit is contained in:
parent
5bdabaea42
commit
a81555b979
@ -21,7 +21,8 @@ biomes = {
|
||||
},
|
||||
plant_chance = 0.5,
|
||||
plants = {
|
||||
{block="base:grass", weight=1}
|
||||
{block="base:grass", weight=1},
|
||||
{block="base:flower", weight=0.03},
|
||||
}
|
||||
},
|
||||
desert = {
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
#include "scripting.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
|
||||
#include "scripting_commons.hpp"
|
||||
#include "typedefs.hpp"
|
||||
#include "lua/lua_engine.hpp"
|
||||
@ -188,7 +191,7 @@ static inline Biome load_biome(
|
||||
}
|
||||
lua::pop(L);
|
||||
}
|
||||
// TODO: sort by weight descending
|
||||
std::sort(plants.begin(), plants.end(), std::greater<PlantEntry>());
|
||||
|
||||
BlocksLayers groundLayers = load_layers(L, "layers");
|
||||
BlocksLayers seaLayers = load_layers(L, "sea_layers");
|
||||
|
||||
@ -41,6 +41,7 @@ struct BiomeParameter {
|
||||
float weight;
|
||||
};
|
||||
|
||||
/// @brief Plant is a single-block structure randomly generating in world
|
||||
struct PlantEntry {
|
||||
/// @brief Plant block id
|
||||
std::string block;
|
||||
@ -50,6 +51,10 @@ struct PlantEntry {
|
||||
struct {
|
||||
blockid_t id;
|
||||
} rt;
|
||||
|
||||
bool operator>(const PlantEntry& other) const {
|
||||
return weight > other.weight;
|
||||
}
|
||||
};
|
||||
|
||||
struct BiomePlants {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user