#include <mg_decoration.h>
Public Member Functions | |
Decoration ()=default | |
virtual | ~Decoration ()=default |
virtual void | resolveNodeNames () |
bool | canPlaceDecoration (MMVManip *vm, v3s16 p) |
size_t | placeDeco (Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax) |
virtual size_t | generate (MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling)=0 |
Public Member Functions inherited from ObjDef | |
virtual | ~ObjDef ()=default |
virtual ObjDef * | clone () const =0 |
Public Member Functions inherited from NodeResolver | |
NodeResolver () | |
virtual | ~NodeResolver () |
void | cloneTo (NodeResolver *res) const |
bool | getIdFromNrBacklog (content_t *result_out, const std::string &node_alt, content_t c_fallback, bool error_on_fallback=true) |
bool | getIdsFromNrBacklog (std::vector< content_t > *result_out, bool all_required=false, content_t c_fallback=CONTENT_IGNORE) |
void | nodeResolveInternal () |
Public Attributes | |
u32 | flags = 0 |
int | mapseed = 0 |
std::vector< content_t > | c_place_on |
s16 | sidelen = 1 |
s16 | y_min |
s16 | y_max |
float | fill_ratio = 0.0f |
NoiseParams | np |
std::vector< content_t > | c_spawnby |
s16 | nspawnby |
s16 | place_offset_y = 0 |
std::unordered_set< biome_t > | biomes |
Public Attributes inherited from ObjDef | |
u32 | index |
u32 | uid |
ObjDefHandle | handle |
std::string | name |
Public Attributes inherited from NodeResolver | |
u32 | m_nodenames_idx = 0 |
u32 | m_nnlistsizes_idx = 0 |
std::vector< std::string > | m_nodenames |
std::vector< size_t > | m_nnlistsizes |
const NodeDefManager * | m_ndef = nullptr |
bool | m_resolve_done = false |
Protected Member Functions | |
void | cloneTo (Decoration *def) const |
Protected Member Functions inherited from ObjDef | |
void | cloneTo (ObjDef *def) const |
|
default |
|
virtualdefault |
References ARRLEN, c_place_on, c_spawnby, CONTAINS, VoxelArea::contains(), MapNode::getContent(), ObjDef::index, VoxelArea::index(), VoxelManipulator::m_area, VoxelManipulator::m_data, nspawnby, and p().
Referenced by DecoSimple::generate(), and DecoSchematic::generate().
|
protected |
References biomes, c_place_on, c_spawnby, ObjDef::cloneTo(), fill_ratio, flags, mapseed, np, nspawnby, place_offset_y, sidelen, y_max, and y_min.
Referenced by DecoSimple::clone(), and DecoSchematic::clone().
|
pure virtual |
Implemented in DecoSchematic, and DecoSimple.
Referenced by placeDeco().
References GenerateNotifier::addEvent(), Mapgen::biomemap, biomes, DECO_ALL_CEILINGS, DECO_ALL_FLOORS, DECO_LIQUID_SURFACE, DECO_USE_NOISE, fill_ratio, Mapgen::findGroundLevel(), Mapgen::findLiquidSurface(), flags, generate(), Mapgen::gennotify, GENNOTIFY_DECORATION, Mapgen::getSurfaces(), Mapgen::heightmap, ObjDef::index, mapseed, MAX_MAP_GENERATION_LIMIT, NoisePerlin2D(), np, PcgRandom::range(), sidelen, Mapgen::vm, and y_max.
Referenced by DecorationManager::placeAllDecos().
|
virtual |
Implements NodeResolver.
Reimplemented in DecoSimple.
References c_place_on, c_spawnby, and NodeResolver::getIdsFromNrBacklog().
Referenced by DecoSimple::resolveNodeNames().
std::unordered_set<biome_t> Decoration::biomes |
Referenced by BiomeManager::clear(), cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
std::vector<content_t> Decoration::c_place_on |
Referenced by canPlaceDecoration(), cloneTo(), and resolveNodeNames().
std::vector<content_t> Decoration::c_spawnby |
Referenced by canPlaceDecoration(), cloneTo(), and resolveNodeNames().
float Decoration::fill_ratio = 0.0f |
Referenced by cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
u32 Decoration::flags = 0 |
Referenced by cloneTo(), DecoSimple::generate(), DecoSchematic::generate(), ModApiMapgen::l_register_decoration(), and placeDeco().
int Decoration::mapseed = 0 |
Referenced by cloneTo(), and placeDeco().
NoiseParams Decoration::np |
Referenced by cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
s16 Decoration::nspawnby |
Referenced by canPlaceDecoration(), cloneTo(), and ModApiMapgen::l_register_decoration().
s16 Decoration::place_offset_y = 0 |
Referenced by cloneTo(), DecoSimple::generate(), DecoSchematic::generate(), and ModApiMapgen::l_register_decoration().
s16 Decoration::sidelen = 1 |
Referenced by cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
s16 Decoration::y_max |
Referenced by cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
s16 Decoration::y_min |
Referenced by cloneTo(), and ModApiMapgen::l_register_decoration().