3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/entity/components_json_legacy/NpcGUIOffset.h"
7#include "mc/legacy/ActorUniqueID.h"
8#include "mc/world/actor/ActorDataIDs.h"
9#include "mc/world/actor/npc/ActionContainer.h"
10#include "mc/world/item/HandSlot.h"
21namespace Json {
class Value; }
27 using TextFilter = ::std::function<::std::string(::std::string
const&)>;
32 ::ll::TypedStorage<4, 4, int> mCurrentSkin;
33 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPortraitOffsets;
34 ::ll::TypedStorage<4, 36, ::NpcGUIOffset> mPickerOffsets;
35 ::ll::TypedStorage<8, 24, ::std::vector<::SkinData>> mNPCSkins;
36 ::ll::TypedStorage<8, 48, ::npc::ActionContainer> mActionsContainer;
37 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::std::string>> mPlayerSceneState;
38 ::ll::TypedStorage<8, 32, ::std::string> mDefaultSceneId;
39 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mInteractText;
40 ::ll::TypedStorage<8, 64, ::std::function<::std::string(::std::string
const&)>> mInteractTextFilter;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::NpcI18nObserver>> mNpcI18nObserver;
42 ::ll::TypedStorage<1, 1, bool> mIsGloballyAccessed;
47 NpcComponent& operator=(NpcComponent
const&);
48 NpcComponent(NpcComponent
const&);
54 virtual ~NpcComponent();
73 MCNAPI ::std::string
const& getInteractiveRawText(
::Actor const& owner)
const;
79 MCNAPI ::std::string
const& getName(
::Actor const& owner)
const;
81 MCNAPI ::std::string
const& getNameRawText(
::Actor const& owner)
const;
96 MCNAPI ::NpcComponent&
operator=(::NpcComponent&& rhs);
110 setInteractiveTextFilter(::std::function<::std::string(::std::string
const&)> filter,
bool shouldRunFilter);
122 MCNAPI
void syncActionsWithServer(
::Actor& owner)
const;
132 executeCommandAction(
::Actor& owner,
::Player& sourcePlayer,
int actionIndex, ::std::string
const& sceneName);
156 MCNAPI
void*
$ctor(::NpcComponent&& rhs);
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition Interaction.h:9
MCAPI void setName(::Actor &owner, ::std::string const &name, bool setLocal)
MCAPI void initFromDefinition(::Actor &owner)
MCAPI bool setSkinIndex(::Actor &owner, int skinIndex, bool setLocal)
MCAPI void addAdditionalSaveData(::CompoundTag &tag, ::Actor const &owner) const
MCAPI void initClientOnlyData(::Actor &owner)
MCAPI void setSceneStateForPlayer(::Actor &owner, ::ActorUniqueID const &playerID, ::std::string const &sceneName)
MCAPI void _deserializeData(::Json::Value const &npcData)
static MCAPI ::std::string const & ACTIONS_TAG()
static MCAPI ::std::string const & PLAYER_ID_TAG()
MCAPI ::std::vector< int > getCommandCounts() const
MCAPI NpcComponent(::NpcComponent &&rhs)
static MCAPI ::std::string const & INTERACTIVE_TAG()
MCAPI void readAdditionalSaveData(::Actor &owner, ::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI void loadNameRawText(::Actor &owner)
MCAPI::NpcComponent & operator=(::NpcComponent &&rhs)
MCAPI void _loadData(::Actor &owner)
static MCAPI void ** $vftable()
static MCAPI ::std::string const & NAME_RAW_TEXT_TAG()
MCAPI void loadActions(::Actor &owner)
MCAPI void syncActionsWithClient(::Actor &owner)
MCAPI void setDefaultSceneId(::std::string sceneId)
MCAPI::Interaction getInteraction(::Actor &owner, ::Player &player, ::HandSlot)
MCAPI::std::string const & getInteractiveText(::Actor &owner) const
MCAPI void * $ctor(::NpcComponent &&rhs)
MCAPI::std::string sanitizeRawText(::std::string const &rawText) const
MCAPI::std::string const & getSceneStateForPlayer(::ActorUniqueID const &playerID) const
MCAPI void loadInteractiveRawText(::Actor &owner)
static MCAPI void _defineEntityDataString(::Actor &owner, ::ActorDataIDs id)
MCAPI void setInteractiveText(::Actor &owner, ::std::string const &text, bool setLocal)
static MCAPI ::std::string const & SCENE_NAME_TAG()
static MCAPI ::std::string const & URL_TAG()
MCAPI bool setDialogueScene(::Actor &owner, ::std::string const &sceneName)
static MCAPI ::std::string const & PLAYER_SCENE_MAPPING_TAG()
Definition NpcI18nObserver.h:15
Definition ActorUniqueID.h:5