MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / init

Method init

source/game/StarNpc.cpp:171–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169}
170
171void Npc::init(World* world, EntityId entityId, EntityMode mode) {
172 Entity::init(world, entityId, mode);
173 m_movementController->init(world);
174 m_movementController->setIgnorePhysicsEntities({entityId});
175 m_statusController->init(this, m_movementController.get());
176 m_tools->init(this);
177
178 m_armor->setupHumanoid(m_humanoid, false);
179
180 if (isMaster()) {
181 m_movementController->resetAnchorState();
182
183 auto itemDatabase = Root::singleton().itemDatabase();
184 for (auto const& item : m_npcVariant.items)
185 setItemSlot(item.first, item.second);
186 m_scriptComponent.addCallbacks("npc", makeNpcCallbacks());
187 m_scriptComponent.addCallbacks("config",
188 LuaBindings::makeConfigCallbacks([this](String const& name, Json const& def)
189 { return m_npcVariant.scriptConfig.query(name, def); }));
190 m_scriptComponent.addCallbacks("entity", LuaBindings::makeEntityCallbacks(this));
191 m_scriptComponent.addCallbacks("status", LuaBindings::makeStatusControllerCallbacks(m_statusController.get()));
192 m_scriptComponent.addCallbacks("behavior", LuaBindings::makeBehaviorCallbacks(&m_behaviors));
193 m_scriptComponent.addCallbacks("songbook", LuaBindings::makeSongbookCallbacks(m_songbook.get()));
194 m_scriptComponent.addActorMovementCallbacks(m_movementController.get());
195 m_scriptComponent.init(world);
196 }
197}
198
199void Npc::uninit() {
200 if (isMaster()) {

Callers 13

initEntityMethod · 0.45
WorldClientMethod · 0.45
reviveMainPlayerMethod · 0.45
handleIncomingPacketsMethod · 0.45
addEntityMethod · 0.45
initWorldMethod · 0.45
findRandomWorldMethod · 0.45
startLuaScriptsMethod · 0.45
runStatScriptMethod · 0.45
startLuaScriptsMethod · 0.45
CommandProcessorMethod · 0.45
applyAugmentMethod · 0.45

Calls 10

initFunction · 0.85
singletonClass · 0.85
setupHumanoidMethod · 0.80
resetAnchorStateMethod · 0.80
itemDatabaseMethod · 0.80
getMethod · 0.45
addCallbacksMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected