#include <mg_decoration.h>
Public Member Functions | |
| Decoration ()=default | |
| virtual | ~Decoration ()=default |
| virtual void | resolveNodeNames () |
| bool | canPlaceDecoration (MMVManip *vm, v3s16 p) |
| void | 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) |
| bool | isResolveDone () const |
| void | reset (bool resolve_done=false) |
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 |
| s16 | check_offset = -1 |
| 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 | |
| std::vector< std::string > | m_nodenames |
| std::vector< size_t > | m_nnlistsizes |
Protected Member Functions | |
| void | cloneTo (Decoration *def) const |
| Protected Member Functions inherited from ObjDef | |
| void | cloneTo (ObjDef *def) const |
Additional Inherited Members | |
| Protected Attributes inherited from NodeResolver | |
| const NodeDefManager * | m_ndef = nullptr |
| u32 | m_nodenames_idx = 0 |
|
default |
|
virtualdefault |
References ARRLEN, c_place_on, c_spawnby, check_offset, CONTAINS, VoxelArea::contains(), MapNode::getContent(), ObjDef::index, VoxelArea::index(), VoxelManipulator::m_area, VoxelManipulator::m_data, nspawnby, and p().
Referenced by DecoLSystem::generate(), DecoSchematic::generate(), and DecoSimple::generate().
|
protected |
References Decoration(), biomes, c_place_on, c_spawnby, check_offset, ObjDef::cloneTo(), fill_ratio, flags, mapseed, np, nspawnby, place_offset_y, sidelen, y_max, and y_min.
Referenced by DecoLSystem::clone(), DecoSchematic::clone(), and DecoSimple::clone().
|
pure virtual |
Implemented in DecoLSystem, DecoSchematic, and DecoSimple.
References p().
Referenced by placeDeco().
References GenerateNotifier::addDecorationEvent(), 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, Mapgen::getSurfaces(), Mapgen::heightmap, ObjDef::index, mapseed, MAX_MAP_GENERATION_LIMIT, PcgRandom::next(), NoiseFractal2D(), np, PcgRandom::RANDOM_RANGE, PcgRandom::range(), sidelen, Mapgen::vm, x, y, y_max, y_min, and z.
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().
| s16 Decoration::check_offset = -1 |
Referenced by canPlaceDecoration(), cloneTo(), and ModApiMapgen::l_register_decoration().
| float Decoration::fill_ratio = 0.0f |
Referenced by cloneTo(), ModApiMapgen::l_register_decoration(), and placeDeco().
| u32 Decoration::flags = 0 |
Referenced by cloneTo(), DecoSchematic::generate(), DecoSimple::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(), DecoSchematic::generate(), DecoSimple::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(), ModApiMapgen::l_register_decoration(), and placeDeco().