3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/deps/script_core/lifetime_registry/scripting/StrongTypedObjectHandle.h"
10#include "mc/deps/script_core/lifetime_registry/scripting/WeakTypedObjectHandle.h"
11#include "mc/deps/script_core/runtime/scripting/Result.h"
12#include "mc/deps/script_core/scripting/Version.h"
13#include "mc/scripting/modules/minecraft/events/ScriptItemCustomComponentClosureFlags.h"
14#include "mc/scripting/modules/minecraft/items/IScriptItemCustomComponentRegistry.h"
15#include "mc/world/item/registry/ItemRegistryRef.h"
36namespace ScriptModuleMinecraft {
50 ::ll::TypedStorage<1, 1, bool> mRegistered;
51 ::ll::TypedStorage<8, 40, ::Scripting::Version> mClosureFlagsVersion;
52 ::ll::TypedStorage<2, 2, ::ScriptModuleMinecraft::ScriptItemCustomComponentClosureFlags> mClosureFlags;
62 ::std::unordered_map<::HashedString, ::ScriptModuleMinecraft::ScriptItemCustomComponentRegistry::ComponentInfo>>
64 ::ll::TypedStorage<8, 8, ::ScriptDeferredEventCoordinator&> mDeferredEventCoordinator;
65 ::ll::TypedStorage<8, 16, ::ItemRegistryRef const> mItemRegistry;
66 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mItemRegistryInitSubscription;
67 ::ll::TypedStorage<8, 8, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCache&> mParameterCache;
68 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScriptModuleMinecraft::IScriptItemCustomComponentSignalCollection>>
70 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::cereal::ReflectionCtx>> mCerealContext;
75 ScriptItemCustomComponentRegistry& operator=(ScriptItemCustomComponentRegistry
const&);
76 ScriptItemCustomComponentRegistry(ScriptItemCustomComponentRegistry
const&);
77 ScriptItemCustomComponentRegistry();
82 virtual ~ScriptItemCustomComponentRegistry() =
default;
84 virtual ::Scripting::Result<
91 tryRegisterComponentV1(
96 virtual ::Scripting::Result<
103 tryRegisterComponent(
108 virtual ::std::vector<::std::string_view> getValidComponentsForItem(
112 virtual ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters>
const&
113 tryGetCustomComponentParametersForItem(
115 ::std::string_view componentName,
119 virtual ::ScriptDeferredEventListener& getEventListener() ;
123 virtual void _onReload() ;
125 virtual void _onScriptInitializationComplete() ;
135 ::std::unique_ptr<::ScriptModuleMinecraft::IScriptItemCustomComponentSignalCollection>&& signals,
141 MCNAPI ::Scripting::Result<
161 ::std::unique_ptr<::ScriptModuleMinecraft::IScriptItemCustomComponentSignalCollection>&& signals,
169 MCNAPI ::Scripting::Result<
181 MCNAPI ::Scripting::Result<
197 MCNAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters>
const&
200 ::std::string_view componentName,
Definition HashedString.h:5
Definition ItemRegistryRef.h:36
Definition ScriptDeferredEventCoordinator.h:18
Definition ScriptDeferredEventListener.h:10
Definition IScriptItemCustomComponentRegistry.h:20
Definition IScriptItemCustomComponentSignalCollection.h:18
Definition ScriptCustomComponentParameterCache.h:21
Definition ScriptItemCustomComponentInterface.h:15
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptItemCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewComponentError > $tryRegisterComponentV1(::HashedString const &componentName, ::ScriptModuleMinecraft::ScriptItemCustomComponentInterface &&closures)
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptItemCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewComponentError > _tryRegisterComponent(::HashedString const &componentName, ::ScriptModuleMinecraft::ScriptItemCustomComponentInterface &&closures)
MCAPI void $_onScriptInitializationComplete()
MCAPI ScriptItemCustomComponentRegistry(::ServerScriptManagerEvents &events, ::ScriptDeferredEventCoordinator &deferredEventCoordinator, ::ItemRegistryRef itemRegistry, ::std::unique_ptr<::ScriptModuleMinecraft::IScriptItemCustomComponentSignalCollection > &&signals, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCache ¶meterCache)
MCAPI void _subscribeItemsToComponents()
MCAPI::ScriptDeferredEventListener & $getEventListener()
MCAPI void $setCerealContext(::cereal::ReflectionCtx &ctx)
MCAPI void * $ctor(::ServerScriptManagerEvents &events, ::ScriptDeferredEventCoordinator &deferredEventCoordinator, ::ItemRegistryRef itemRegistry, ::std::unique_ptr<::ScriptModuleMinecraft::IScriptItemCustomComponentSignalCollection > &&signals, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCache ¶meterCache)
MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters > const & $tryGetCustomComponentParametersForItem(::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack > itemHandle, ::std::string_view componentName, ::Scripting::WeakLifetimeScope const &scope) const
MCAPI ::std::vector<::std::string_view > $getValidComponentsForItem(::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack > itemHandle) const
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptItemCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptItemCustomComponentReloadNewComponentError > $tryRegisterComponent(::HashedString const &componentName, ::ScriptModuleMinecraft::ScriptItemCustomComponentInterface &&closures)
Definition ScriptItemStack.h:30
Definition WeakLifetimeScope.h:12
Definition WeakTypedObjectHandle.h:8
Definition ScriptCustomComponentInvalidRegistryError.h:17
Definition ScriptCustomComponentParameters.h:15
Definition ScriptItemCustomComponentAlreadyRegisteredError.h:15
Definition ScriptItemCustomComponentRegistry.h:46
Definition ScriptItemCustomComponentReloadNewComponentError.h:15
Definition ScriptItemCustomComponentReloadNewEventError.h:15
Definition ScriptItemCustomComponentReloadVersionError.h:15
Definition ServerScriptManagerEvents.h:13
Definition ReflectionCtx.h:11