3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/runtime/Result.h"
8#include "mc/scripting/modules/minecraft/ScriptCustomComponentRegistry.h"
9#include "mc/scripting/modules/minecraft/block/IScriptBlockCustomComponentReader.h"
10#include "mc/scripting/modules/minecraft/events/ScriptBlockCustomComponentEventTypes.h"
11#include "mc/scripting/modules/minecraft/events/metadata/ScriptCustomComponentEventMetadata.h"
12#include "mc/world/events/ScriptDeferredEventListener.h"
25namespace BlockEvents {
class BlockEntityFallOnEvent; }
26namespace BlockEvents {
class BlockPlaceEvent; }
27namespace BlockEvents {
class BlockPlayerDestroyEvent; }
28namespace BlockEvents {
class BlockPlayerInteractEvent; }
29namespace BlockEvents {
class BlockPlayerPlacingEvent; }
30namespace BlockEvents {
class BlockQueuedTickEvent; }
32namespace BlockEvents {
class BlockRandomTickLegacyEvent; }
33namespace BlockEvents {
class BlockStepOffEvent; }
34namespace BlockEvents {
class BlockStepOnEvent; }
35namespace Json {
class Value; }
36namespace ScriptModuleMinecraft {
class ScriptBlockCustomComponentInterface; }
37namespace ScriptModuleMinecraft {
class ScriptCustomComponentParameterCache; }
38namespace ScriptModuleMinecraft {
struct ScriptBlockCustomComponentAlreadyRegisteredError; }
39namespace ScriptModuleMinecraft {
struct ScriptBlockCustomComponentReloadNewComponentError; }
40namespace ScriptModuleMinecraft {
struct ScriptBlockCustomComponentReloadNewEventError; }
41namespace ScriptModuleMinecraft {
struct ScriptBlockCustomComponentReloadVersionError; }
42namespace ScriptModuleMinecraft {
struct ScriptCustomComponentInvalidRegistryError; }
43namespace ScriptModuleMinecraft {
struct ScriptCustomComponentParameters; }
44namespace Scripting {
class ModuleBindingBuilder; }
45namespace Scripting {
class WeakLifetimeScope; }
46namespace Scripting {
struct ModuleDescriptor; }
49namespace ScriptModuleMinecraft {
118 virtual void onPreFlushAfterEvents() ;
124 virtual void onPostFlushAfterEvents() ;
127 virtual void _onScriptInitializationComplete() ;
130 virtual void _onReload() ;
136 virtual ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters>
const&
137 tryGetCustomComponentParametersForItem(
140 ::std::string_view componentName,
159 MCNAPI ::Scripting::Result<
167 ::std::_List_iterator<::std::_List_val<::std::_List_simple_types<::std::pair<
174 MCNAPI ::Scripting::Result<
182 ::std::_List_iterator<::std::_List_val<::std::_List_simple_types<::std::pair<
192 ::std::vector<::gsl::not_null<::BlockCustomComponentsComponent*>>
const& comps
218 MCNAPI ::Scripting::Result<
231 MCNAPI ::Scripting::Result<
248 MCNAPI static ::ScriptModuleMinecraft::ScriptCustomComponentEventMetadata<
289 MCNAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters>
const&
293 ::std::string_view componentName,
Definition BlockCustomComponentsComponent.h:17
Definition BlockEntityFallOnEvent.h:16
Definition BlockPlaceEvent.h:16
Definition BlockPlayerDestroyEvent.h:17
Definition BlockPlayerInteractEvent.h:18
Definition BlockPlayerPlacingEvent.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockRandomTickEvent.h:16
Definition BlockRandomTickLegacyEvent.h:16
Definition BlockStepOffEvent.h:16
Definition BlockStepOnEvent.h:16
Definition BlockLegacy.h:86
Definition HashedString.h:5
Definition IBlockSource.h:35
Definition ScriptDeferredEventCoordinator.h:18
Definition ScriptDeferredEventListener.h:10
Definition ScriptDeferredFlushTracker.h:13
Definition IScriptBlockCustomComponentReader.h:18
Definition ScriptBlockCustomComponentInterface.h:10
Definition ScriptBlockCustomComponentsRegistry.h:53
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewComponentError > tryRegisterCustomComponent(::HashedString const &name, ::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface &&closures, ::Scripting::WeakLifetimeScope const &scope)
MCAPI void onPlayerBreak(::BlockEvents::BlockPlayerDestroyEvent const &eventData) const
MCAPI void _bindComponentToCereal(::HashedString const &compName, ::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface const &closures)
static MCAPI void ** $vftableForIScriptBlockCustomComponentReader()
MCAPI void onStepOff(::BlockEvents::BlockStepOffEvent const &eventData) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent const &eventData) const
static MCAPI void ** $vftableForScriptCustomComponentRegistry()
MCAPI void onEntityFallOn(::BlockEvents::BlockEntityFallOnEvent &eventData) const
MCAPI void onPlayerInteract(::BlockEvents::BlockPlayerInteractEvent &eventData) const
MCAPI void onRandomTickLegacy(::BlockEvents::BlockRandomTickLegacyEvent const &eventData) const
MCAPI void _registerBlockForEventing(::BlockLegacy &block, ::std::vector<::gsl::not_null<::BlockCustomComponentsComponent * > > const &comps)
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewComponentError > tryRegisterCustomComponentV1(::HashedString const &name, ::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface &&closures, ::Scripting::WeakLifetimeScope const &scope)
MCAPI void $onPostFlushAfterEvents()
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewComponentError > _componentReloadRegistrationValidators(::std::_List_iterator<::std::_List_val<::std::_List_simple_types<::std::pair< ::HashedString const, ::ScriptModuleMinecraft::ScriptBlockCustomComponentsRegistry::ScriptBlockCustomComponentData > > > > const &compIt, ::HashedString const &name, ::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface const &closures)
MCAPI void onQueuedTick(::BlockEvents::BlockQueuedTickEvent const &eventData) const
MCAPI void onRandomTick(::BlockEvents::BlockRandomTickEvent const &eventData) const
MCAPI void $onFlushBlockCustomComponentAfterEvents(::ScriptDeferredFlushTracker &deferredTracker)
static MCAPI void generateOrderDocumentationForVersion(::Scripting::ModuleDescriptor const &moduleToDocumentFor, ::Json::Value &eventOrderArray)
MCAPI ScriptBlockCustomComponentsRegistry(::ServerScriptManagerEvents &events, ::ScriptDeferredEventCoordinator &deferredEventCoordinator, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCache ¶meterCache)
static MCAPI void bind(::Scripting::ModuleBindingBuilder &moduleBuilder)
MCAPI void * $ctor(::ServerScriptManagerEvents &events, ::ScriptDeferredEventCoordinator &deferredEventCoordinator, ::ScriptModuleMinecraft::ScriptCustomComponentParameterCache ¶meterCache)
MCAPI void onStepOn(::BlockEvents::BlockStepOnEvent const &eventData) const
MCAPI void $_onScriptInitializationComplete()
MCAPI void beforeOnPlayerPlace(::BlockEvents::BlockPlayerPlacingEvent &eventData) const
static MCAPI ::ScriptModuleMinecraft::ScriptCustomComponentEventMetadata< ::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface > const _getEventMetadata()
MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCustomComponentParameters > const & $tryGetCustomComponentParametersForItem(::IBlockSource const ®ion, ::BlockPos blockPos, ::std::string_view componentName, ::Scripting::WeakLifetimeScope const &scope) const
MCAPI bool hasSubscriptionFor(::ScriptModuleMinecraft::ScriptBlockCustomComponentEventTypes type, ::Block const &block) const
MCAPI ::Scripting::Result< void, ::ScriptModuleMinecraft::ScriptCustomComponentInvalidRegistryError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentAlreadyRegisteredError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadVersionError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewEventError, ::ScriptModuleMinecraft::ScriptBlockCustomComponentReloadNewComponentError > _componentRegistrationValidatorsCommon(::std::_List_iterator<::std::_List_val<::std::_List_simple_types<::std::pair< ::HashedString const, ::ScriptModuleMinecraft::ScriptBlockCustomComponentsRegistry::ScriptBlockCustomComponentData > > > > const &compIt, ::HashedString const &name)
MCAPI void $onPreFlushAfterEvents()
static MCAPI void ** $vftableForScriptDeferredEventListener()
Definition ScriptCustomComponentParameterCache.h:19
Definition ScriptCustomComponentRegistry.h:10
Definition ModuleBindingBuilder.h:30
Definition WeakLifetimeScope.h:12
Definition BlockRandomTickEvent.h:13
Definition ScriptBlockCustomComponentAlreadyRegisteredError.h:16
Definition ScriptBlockCustomComponentReloadNewComponentError.h:16
Definition ScriptBlockCustomComponentReloadNewEventError.h:16
Definition ScriptBlockCustomComponentReloadVersionError.h:16
Definition ScriptBlockCustomComponentsRegistry.h:61
MCAPI void setClosureData(::ScriptModuleMinecraft::ScriptBlockCustomComponentInterface &&closures, ::Scripting::WeakLifetimeScope const &scope)
MCAPI ~ScriptBlockCustomComponentData()
Definition ScriptCustomComponentInvalidRegistryError.h:17
Definition ModuleDescriptor.h:7
Definition ServerScriptManagerEvents.h:13