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();
84 ::Bedrock::NotNullNonOwnerPtr<::ServerLevel> serverLevel,
85 ::gsl::not_null<::Scripting::DependencyLocator*> locator,
111 MCNAPI ::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group);
115 ::ResourceInformation::ResourceType moduleType,
117 ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(
122 )>>
const& moduleFilters,
123 ::std::vector<::mce::UUID> excludeModuleIDs,
124 ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor>
const&)>&&
125 pluginExecutionGroupSelector
130 MCNAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope>
getPluginScopes()
const;
133 MCNAPI ::ScriptPluginManagerResult runGroup(::PluginExecutionGroup group);
MCAPI::ScriptPluginManagerResult discoverPlugins(::ResourceInformation::ResourceType moduleType, ::IScriptPluginSourceEnumerator &pluginEnumerator, ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(::PackManifest const &, ::Scripting::ModuleDescriptor const &, ::Scripting::ModuleDescriptor const &, ::ScriptPluginResult &)> > const &moduleFilters, ::std::vector<::mce::UUID > excludeModuleIDs, ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor > const &)> &&pluginExecutionGroupSelector)