#include <nodedef.h>
Public Member Functions | |
ContentFeatures () | |
~ContentFeatures () | |
void | reset () |
void | serialize (std::ostream &os, u16 protocol_version) const |
void | deSerialize (std::istream &is, u16 protocol_version) |
void | setDefaultAlphaMode () |
bool | needsBackfaceCulling () const |
bool | isLiquid () const |
bool | isLiquidRender () const |
bool | sameLiquidRender (const ContentFeatures &f) const |
ContentLightingFlags | getLightingFlags () const |
int | getGroup (const std::string &group) const |
Static Public Attributes | |
static const u8 | CONTENTFEATURES_VERSION = 13 |
Private Member Functions | |
void | setAlphaFromLegacy (u8 legacy_alpha) |
u8 | getAlphaForLegacy () const |
ContentFeatures::ContentFeatures | ( | ) |
ContentFeatures::~ContentFeatures | ( | ) |
References CF_SPECIAL_COUNT.
void ContentFeatures::deSerialize | ( | std::istream & | is, |
u16 | protocol_version ) |
References alpha, AlphaMode_END, ALPHAMODE_LEGACY_COMPAT, ALPHAMODE_OPAQUE, buildable_to, CF_SPECIAL_COUNT, climbable, collision_box, color, connect_sides, connects_to_ids, CONTENTFEATURES_VERSION, ContentParamType2_END, ContentParamType_END, CPT2_NONE, CPT_NONE, damage_per_second, NodeBox::deSerialize(), Pointabilities::deSerializePointabilityType(), SoundSpec::deSerializeSimple(), deSerializeString16(), diggable, drawtype, drowning, floodable, groups, is_ground_content, legacy_facedir_simple, legacy_wallmounted, leveled, leveled_max, LIGHT_MAX, light_propagates, light_source, liquid_alternative_flowing, liquid_alternative_source, liquid_move_physics, LIQUID_NONE, liquid_range, liquid_renewable, liquid_type, liquid_viscosity, LiquidType_END, mesh, move_resistance, MYMIN, name, NDT_NORMAL, node_box, node_dig_prediction, NodeDrawType_END, palette_name, param_type, param_type_2, pointable, post_effect_color, post_effect_color_shaded, readARGB8(), readF32(), readS16(), readU16(), readU32(), readU8(), rightclickable, selection_box, setAlphaFromLegacy(), sound_dig, sound_dug, sound_footstep, sunlight_propagates, tiledef, tiledef_overlay, tiledef_special, visual_scale, walkable, and waving.
Referenced by NodeDefManager::deSerialize(), and TEST_CASE().
|
private |
References alpha, and ALPHAMODE_OPAQUE.
Referenced by serialize().
|
inline |
References groups, and itemgroup_get().
Referenced by MapblockMeshGenerator::isSameRail().
|
inline |
References CPT_LIGHT, ContentLightingFlags::has_light, light_propagates, ContentLightingFlags::light_propagates, light_source, ContentLightingFlags::light_source, param_type, sunlight_propagates, and ContentLightingFlags::sunlight_propagates.
Referenced by NodeDefManager::clear(), NodeDefManager::deSerialize(), getSmoothLightCombined(), and NodeDefManager::set().
|
inline |
References LIQUID_NONE, and liquid_type.
Referenced by ServerMap::addNodeAndUpdate(), Mapgen::findLiquidSurface(), Mapgen::isLiquidHorizontallyFlowable(), isPointableNode(), MapgenSinglenode::makeChunk(), VoxelManipulator::print(), push_content_features(), ReflowScan::scanColumn(), and Mapgen::updateLiquid().
|
inline |
References drawtype, NDT_FLOWINGLIQUID, and NDT_LIQUID.
Referenced by sameLiquidRender().
|
inline |
References drawtype, NDT_FIRELIKE, NDT_MESH, NDT_PLANTLIKE, NDT_PLANTLIKE_ROOTED, NDT_RAILLIKE, NDT_SIGNLIKE, and NDT_TORCHLIKE.
Referenced by getItemMesh(), and WieldMeshSceneNode::setItem().
void ContentFeatures::reset | ( | ) |
References alpha, ALPHAMODE_OPAQUE, buildable_to, climbable, collision_box, color, connect_sides, connects_to, connects_to_ids, CONTENT_IGNORE, CPT2_NONE, CPT_NONE, damage_per_second, diggable, drawtype, drowning, floats, floodable, groups, has_after_destruct, has_on_construct, has_on_destruct, is_ground_content, legacy_facedir_simple, legacy_wallmounted, leveled, LEVELED_MAX, leveled_max, light_propagates, light_source, liquid_alternative_flowing, liquid_alternative_flowing_id, liquid_alternative_source, liquid_alternative_source_id, LIQUID_LEVEL_MAX, liquid_move_physics, LIQUID_NONE, liquid_range, liquid_renewable, liquid_type, liquid_viscosity, mesh, move_resistance, name, NDT_NORMAL, node_box, node_dig_prediction, palette, palette_name, param_type, param_type_2, POINTABLE, pointable, post_effect_color, post_effect_color_shaded, NodeBox::reset(), rightclickable, selection_box, sound_dig, sound_dug, sound_footstep, sunlight_propagates, tiledef, tiledef_special, visual_scale, walkable, and waving.
Referenced by ContentFeatures().
|
inline |
References isLiquidRender(), liquid_alternative_flowing_id, and liquid_alternative_source_id.
void ContentFeatures::serialize | ( | std::ostream & | os, |
u16 | protocol_version ) const |
References alpha, buildable_to, CF_SPECIAL_COUNT, climbable, collision_box, color, connect_sides, connects_to_ids, CONTENTFEATURES_VERSION, damage_per_second, diggable, drawtype, drowning, floodable, getAlphaForLegacy(), groups, is_ground_content, legacy_facedir_simple, legacy_wallmounted, leveled, leveled_max, light_propagates, light_source, liquid_alternative_flowing, liquid_alternative_source, LIQUID_FLOWING, liquid_move_physics, liquid_range, liquid_renewable, LIQUID_SOURCE, liquid_type, liquid_viscosity, mesh, move_resistance, name, NDT_FLOWINGLIQUID, NDT_LIQUID, node_box, node_dig_prediction, palette_name, param_type, param_type_2, pointable, post_effect_color, post_effect_color_shaded, rightclickable, selection_box, NodeBox::serialize(), Pointabilities::serializePointabilityType(), SoundSpec::serializeSimple(), serializeString16(), sound_dig, sound_dug, sound_footstep, sunlight_propagates, tiledef, tiledef_overlay, tiledef_special, visual_scale, walkable, waving, writeARGB8(), writeF32(), writeS16(), writeU16(), writeU32(), and writeU8().
Referenced by NodeDefManager::serialize(), and TEST_CASE().
|
private |
References alpha, ALPHAMODE_BLEND, ALPHAMODE_CLIP, ALPHAMODE_OPAQUE, drawtype, NDT_FLOWINGLIQUID, NDT_LIQUID, and NDT_NORMAL.
Referenced by deSerialize().
|
inline |
References alpha, ALPHAMODE_CLIP, ALPHAMODE_OPAQUE, drawtype, NDT_FLOWINGLIQUID, NDT_LIQUID, NDT_MESH, NDT_NODEBOX, and NDT_NORMAL.
Referenced by read_content_features().
AlphaMode ContentFeatures::alpha |
bool ContentFeatures::buildable_to |
Referenced by NodeDefManager::clear(), deSerialize(), Game::nodePlacement(), push_content_features(), read_content_features(), reset(), and serialize().
bool ContentFeatures::climbable |
Referenced by deSerialize(), LocalPlayer::move(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), and serialize().
NodeBox ContentFeatures::collision_box |
Referenced by deSerialize(), MapNode::getCollisionBoxes(), push_content_features(), read_content_features(), reset(), and serialize().
video::SColor ContentFeatures::color |
Referenced by deSerialize(), MapNode::getColor(), push_content_features(), read_content_features(), reset(), and serialize().
u8 ContentFeatures::connect_sides |
Referenced by deSerialize(), NodeDefManager::nodeboxConnects(), push_content_features(), read_content_features(), reset(), and serialize().
std::vector<std::string> ContentFeatures::connects_to |
Referenced by push_content_features(), read_content_features(), and reset().
std::vector<content_t> ContentFeatures::connects_to_ids |
Referenced by deSerialize(), NodeDefManager::nodeboxConnects(), reset(), and serialize().
|
static |
Referenced by deSerialize(), and serialize().
u32 ContentFeatures::damage_per_second |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), serialize(), and PlayerSAO::step().
bool ContentFeatures::diggable |
Referenced by NodeDefManager::clear(), deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
enum NodeDrawType ContentFeatures::drawtype |
Referenced by ParticleManager::addDiggingParticles(), NodeDefManager::clear(), createSpecialNodeMesh(), deSerialize(), MapblockMeshGenerator::drawFencelikeNode(), MapblockMeshGenerator::drawNodeboxNode(), MapgenBasic::dustTopNodes(), Server::findSpawnPos(), DungeonGen::generate(), getItemMesh(), MapNode::getNeighbors(), ParticleManager::getNodeParticleParams(), MapNode::getWallMounted(), isLiquidRender(), MapblockMeshGenerator::isSameRail(), needsBackfaceCulling(), NodeDefManager::nodeboxConnects(), Game::nodePlacement(), push_content_features(), read_content_features(), reset(), serialize(), setAlphaFromLegacy(), setDefaultAlphaMode(), and WieldMeshSceneNode::setItem().
u8 ContentFeatures::drowning |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), serialize(), and PlayerSAO::step().
bool ContentFeatures::floats |
Referenced by reset(), and ServerMap::transformLiquids().
bool ContentFeatures::floodable |
ItemGroupList ContentFeatures::groups |
Referenced by add_area_node_boxes(), TestGameDef::defineSomeNodes(), deSerialize(), NodeDefManager::deSerialize(), getGroup(), LocalPlayer::getSlipFactor(), Server::handleCommand_Interact(), isPointableNode(), LocalPlayer::move(), Game::nodePlacement(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), serialize(), NodeDefManager::set(), and ClientEnvironment::step().
bool ContentFeatures::has_after_destruct |
bool ContentFeatures::has_on_construct |
Referenced by push_content_features(), read_content_features(), reset(), and ServerEnvironment::setNode().
bool ContentFeatures::has_on_destruct |
bool ContentFeatures::is_ground_content |
Referenced by CavesRandomWalk::carveRoute(), CavesV6::carveRoute(), NodeDefManager::clear(), TestGameDef::defineSomeNodes(), deSerialize(), DungeonGen::generate(), CavernsNoise::generateCaverns(), CavesNoiseIntersection::generateCaves(), push_content_features(), read_content_features(), reset(), serialize(), and TEST_CASE().
bool ContentFeatures::legacy_facedir_simple |
Referenced by deSerialize(), MapBlock::deSerialize_pre22(), push_content_features(), read_content_features(), reset(), and serialize().
bool ContentFeatures::legacy_wallmounted |
Referenced by deSerialize(), MapBlock::deSerialize_pre22(), push_content_features(), read_content_features(), reset(), and serialize().
u8 ContentFeatures::leveled |
Referenced by deSerialize(), MapNode::getLevel(), MapNode::getMaxLevel(), push_content_features(), read_content_features(), reset(), and serialize().
u8 ContentFeatures::leveled_max |
bool ContentFeatures::light_propagates |
u8 ContentFeatures::light_source |
std::string ContentFeatures::liquid_alternative_flowing |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
content_t ContentFeatures::liquid_alternative_flowing_id |
Referenced by reset(), sameLiquidRender(), MapNode::setLevel(), and ServerMap::transformLiquids().
std::string ContentFeatures::liquid_alternative_source |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
content_t ContentFeatures::liquid_alternative_source_id |
Referenced by reset(), sameLiquidRender(), MapNode::setLevel(), and ServerMap::transformLiquids().
bool ContentFeatures::liquid_move_physics |
Referenced by deSerialize(), LocalPlayer::move(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), and serialize().
u8 ContentFeatures::liquid_range |
bool ContentFeatures::liquid_renewable |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), serialize(), and ServerMap::transformLiquids().
enum LiquidType ContentFeatures::liquid_type |
Referenced by TestGameDef::defineSomeNodes(), deSerialize(), MapNode::getLevel(), MapNode::getMaxLevel(), MapgenV6::growGrass(), RollbackAction::isImportant(), isLiquid(), push_content_features(), read_content_features(), reset(), ReflowScan::scanColumn(), serialize(), MapNode::setLevel(), and ServerMap::transformLiquids().
u8 ContentFeatures::liquid_viscosity |
std::string ContentFeatures::mesh |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
u8 ContentFeatures::move_resistance = 0 |
Referenced by deSerialize(), LocalPlayer::move(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), and serialize().
std::string ContentFeatures::name |
Referenced by RollbackNode::RollbackNode(), NodeDefManager::allocateDummy(), NodeDefManager::allocateId(), RollbackAction::applyRevert(), NodeDefManager::clear(), Schematic::condenseContentIds(), TestGameDef::defineSomeNodes(), deSerialize(), NodeDefManager::deSerialize(), ModApiEnvBase::findNodesInArea(), getBlockNodeIdMapping(), Game::handlePointingAtNode(), isPointableNode(), ModApiItem::l_get_name_from_content_id(), ModApiClient::l_get_node_def(), ModApiEnv::l_place_node(), ModApiMapgen::l_read_schematic(), ModApiItem::l_register_item_raw(), ScriptApiNode::node_after_destruct(), ScriptApiNode::node_on_construct(), ScriptApiNode::node_on_destruct(), ScriptApiNode::node_on_dig(), ScriptApiNode::node_on_flood(), ScriptApiNode::node_on_punch(), ScriptApiNode::node_on_receive_fields(), ScriptApiNode::node_on_timer(), ScriptApiNodemeta::nodemeta_inventory_AllowMove(), ScriptApiNodemeta::nodemeta_inventory_AllowPut(), ScriptApiNodemeta::nodemeta_inventory_AllowTake(), ScriptApiNodemeta::nodemeta_inventory_OnMove(), ScriptApiNodemeta::nodemeta_inventory_OnPut(), ScriptApiNodemeta::nodemeta_inventory_OnTake(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), serialize(), NodeDefManager::serialize(), Schematic::serializeToLua(), NodeDefManager::set(), set_node_in_block(), PlayerSAO::step(), TEST_CASE(), TEST_CASE(), TestMapBlock::testSaveLoad(), and GameUI::update().
NodeBox ContentFeatures::node_box |
std::string ContentFeatures::node_dig_prediction |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
std::vector<video::SColor>* ContentFeatures::palette |
Referenced by MapNode::getColor(), push_content_features(), and reset().
std::string ContentFeatures::palette_name |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
ContentParamType ContentFeatures::param_type |
ContentParamType2 ContentFeatures::param_type_2 |
Referenced by createSpecialNodeMesh(), deSerialize(), MapNode::getDegRotate(), MapNode::getFaceDir(), MapNode::getLevel(), MapNode::getMaxLevel(), getNodeBoxUnion(), MapNode::getWallMounted(), NodeDefManager::nodeboxConnects(), Game::nodePlacement(), push_content_features(), read_content_features(), reset(), MapNode::rotateAlongYAxis(), serialize(), and MapNode::setLevel().
PointabilityType ContentFeatures::pointable |
Referenced by NodeDefManager::clear(), deSerialize(), isPointableNode(), push_content_features(), read_content_features(), reset(), and serialize().
video::SColor ContentFeatures::post_effect_color |
Referenced by deSerialize(), push_content_features(), read_content_features(), ClientMap::renderPostFx(), reset(), and serialize().
bool ContentFeatures::post_effect_color_shaded |
Referenced by deSerialize(), push_content_features(), read_content_features(), ClientMap::renderPostFx(), reset(), and serialize().
bool ContentFeatures::rightclickable |
Referenced by deSerialize(), Game::nodePlacement(), push_content_features(), read_content_features(), reset(), and serialize().
NodeBox ContentFeatures::selection_box |
SoundSpec ContentFeatures::sound_dig |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().
SoundSpec ContentFeatures::sound_dug |
Referenced by deSerialize(), SoundMaker::nodeDug(), push_content_features(), read_content_features(), reset(), and serialize().
SoundSpec ContentFeatures::sound_footstep |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), serialize(), GenericCAO::step(), and Game::updateSound().
bool ContentFeatures::sunlight_propagates |
TileDef ContentFeatures::tiledef[6] |
TileDef ContentFeatures::tiledef_overlay[6] |
Referenced by deSerialize(), read_content_features(), and serialize().
TileDef ContentFeatures::tiledef_special[CF_SPECIAL_COUNT] |
Referenced by NodeDefManager::applyTextureOverrides(), deSerialize(), read_content_features(), reset(), and serialize().
float ContentFeatures::visual_scale |
Referenced by deSerialize(), getItemMesh(), push_content_features(), read_content_features(), reset(), serialize(), and WieldMeshSceneNode::setItem().
bool ContentFeatures::walkable |
Referenced by add_area_node_boxes(), Pathfinder::calcCost(), NodeDefManager::clear(), deSerialize(), MapgenBasic::dustTopNodes(), Mapgen::findGroundLevel(), Mapgen::findLiquidSurface(), MapgenV6::flowMud(), Pathfinder::getPath(), LocalPlayer::getSlipFactor(), Mapgen::getSurfaces(), LocalPlayer::handleAutojump(), GridNodeContainer::initNode(), Game::nodePlacement(), LocalPlayer::old_move(), push_content_features(), read_content_features(), reset(), serialize(), TEST_CASE(), Camera::update(), LocalPlayer::updateSneakNode(), and Pathfinder::walkDownwards().
u8 ContentFeatures::waving |
Referenced by deSerialize(), push_content_features(), read_content_features(), reset(), and serialize().