33class ScriptPluginManager {
45 ::ll::TypedStorage<8, 32, ::std::string> name;
46 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> scope;
53 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mBaseGameVersion;
54 ::ll::TypedStorage<8, 8, ::Scripting::ScriptEngine&> mScriptEngine;
55 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ScriptPlugin>>> mScriptPlugins;
56 ::ll::TypedStorage<8, 24, ::Scripting::RuntimeConditions> mCurrentRuntimeConditions;
57 ::ll::TypedStorage<1, 1, bool> mSystemPackDiscoveryError;
58 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DebuggerStatCollector>> mMemoryStatCollector;
59 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DebuggerStatCollector>> mHandleCountStatCollector;
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DebuggerStatCollector>> mSubscriberCountStatCollector;
61 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DebuggerStatCollector>> mQuickJsStatCollector;
62 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DebuggerStatCollector>> mScriptingStatCollector;
67 ScriptPluginManager& operator=(ScriptPluginManager
const&);
68 ScriptPluginManager(ScriptPluginManager
const&);
69 ScriptPluginManager();
74 MCAPI ::std::optional<::DebuggerStat> _collectHandleCountStats(uint64, uint64, uint64);
76 MCAPI ::std::optional<::DebuggerStat> _collectMemoryStats(uint64, uint64, uint64);
78 MCAPI ::std::optional<::DebuggerStat> _collectQuickJsStats(uint64, uint64, uint64);
80 MCAPI ::std::optional<::DebuggerStat>
81 _collectScriptingStats(::std::reference_wrapper<::ServerLevel> serverLevel, uint64, uint64, uint64);
83 MCAPI ::std::optional<::DebuggerStat> _collectSubscriberCountStats(
84 ::Bedrock::NotNullNonOwnerPtr<::ServerLevel> serverLevel,
85 ::gsl::not_null<::Scripting::DependencyLocator*> locator,
99 MCAPI
void _disableHandleCounter();
101 MCAPI
void _enableHandleCounter();
103 MCAPI
void _reloadHandleCounter(
bool publisherEnabled);
109 MCAPI ::Scripting::RuntimeStats collectRuntimeStats()
const;
112 MCAPI ::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group);
115 MCAPI ::ScriptPluginManagerResult discoverPlugins(
116 ::ResourceInformation::ResourceType moduleType,
118 ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(
123 )>>
const& moduleFilters,
124 ::std::vector<::mce::UUID> excludeModuleIDs,
125 ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor>
const&)>&&
126 pluginExecutionGroupSelector
131 MCAPI ::std::vector<::Scripting::ModuleDescriptor> getPluginModuleDescriptors()
const;
133 MCAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope> getPluginScopes()
const;
136 MCAPI ::ScriptPluginManagerResult runGroup(::PluginExecutionGroup group);
139 MCAPI ~ScriptPluginManager();