Class PluginManager
java.lang.Object
com.hypixel.hytale.server.core.plugin.PluginManager
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<PluginIdentifier, PluginManifest> private final PluginManager.PluginBridgeClassLoaderprivate final Map<Path, PluginClassLoader> private final PluginClassLoaderprivate final List<PendingLoadPlugin> private static PluginManagerprivate final booleanprivate Map<PluginIdentifier, PluginBase> private List<PendingLoadPlugin> private final ReentrantReadWriteLockprivate static final com.hypixel.hytale.logger.HytaleLoggerstatic final MetricsRegistry<PluginManager> static final Pathprivate final Map<PluginIdentifier, PluginBase> private PluginState -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanLoadOnBoot(PluginManifest manifest) private booleandependenciesMatchState(PluginBase plugin, PluginState requiredState, PluginState stage) private booleanfindAndLoadPlugin(PluginIdentifier identifier) private BooleanfindPluginInDirectory(PluginIdentifier identifier, Path modsPath) static PluginManagerget()getPlugin(PluginIdentifier identifier) getState()booleanhasPlugin(PluginIdentifier identifier, SemverRange range) booleanload(PluginIdentifier identifier) private booleanload(PendingLoadPlugin pendingLoadPlugin) private static PluginManifestloadManifest(Path file) private PendingLoadJavaPluginloadPendingJavaPlugin(Path file) private static voidloadPendingPlugin(Map<PluginIdentifier, PendingLoadPlugin> pending, PendingLoadPlugin plugin) private voidloadPluginsFromDirectory(Map<PluginIdentifier, PendingLoadPlugin> pending, Path path, boolean create, Map<PluginIdentifier, PluginManifest> bootRejectMap) private voidloadPluginsInClasspath(Map<PluginIdentifier, PendingLoadPlugin> pending, Map<PluginIdentifier, PluginManifest> rejectedBootList) voidregisterCorePlugin(PluginManifest builder) booleanreload(PluginIdentifier identifier) voidsetup()private booleansetup(PluginBase plugin) voidshutdown()voidstart()private booleanstart(PluginBase plugin) booleanunload(PluginIdentifier identifier) protected voidunloadJavaPlugin(JavaPlugin plugin) private voidvalidatePluginDeps(PendingLoadPlugin pendingLoadPlugin, Map<PluginIdentifier, PendingLoadPlugin> pending)
-
Field Details
-
LOGGER
@Nonnull private static final com.hypixel.hytale.logger.HytaleLogger LOGGER -
MODS_PATH
-
METRICS_REGISTRY
-
instance
-
corePluginClassLoader
-
corePlugins
-
bridgeClassLoader
-
lock
-
plugins
-
classLoaders
-
loadExternalPlugins
private final boolean loadExternalPlugins- See Also:
-
state
-
loadOrder
-
loading
-
availablePlugins
-
pluginListPageManager
-
sessionSettingsComponentType
private ComponentType<EntityStore,PluginListPageManager.SessionSettings> sessionSettingsComponentType
-
-
Constructor Details
-
PluginManager
public PluginManager()
-
-
Method Details
-
get
-
registerCorePlugin
-
canLoadOnBoot
-
setup
public void setup() -
start
public void start() -
shutdown
public void shutdown() -
getState
-
getBridgeClassLoader
-
validatePluginDeps
private void validatePluginDeps(@Nonnull PendingLoadPlugin pendingLoadPlugin, @Nullable Map<PluginIdentifier, PendingLoadPlugin> pending) -
loadPluginsFromDirectory
private void loadPluginsFromDirectory(@Nonnull Map<PluginIdentifier, PendingLoadPlugin> pending, @Nonnull Path path, boolean create, @Nonnull Map<PluginIdentifier, PluginManifest> bootRejectMap) -
loadPendingJavaPlugin
-
loadPluginsInClasspath
private void loadPluginsInClasspath(@Nonnull Map<PluginIdentifier, PendingLoadPlugin> pending, @Nonnull Map<PluginIdentifier, PluginManifest> rejectedBootList) -
getPlugins
-
getPlugin
-
hasPlugin
-
reload
-
unload
-
unloadJavaPlugin
-
load
-
findAndLoadPlugin
-
findPluginInDirectory
@Nullable private Boolean findPluginInDirectory(@Nonnull PluginIdentifier identifier, @Nonnull Path modsPath) -
loadManifest
-
load
-
setup
-
start
-
dependenciesMatchState
private boolean dependenciesMatchState(PluginBase plugin, PluginState requiredState, PluginState stage) -
loadPendingPlugin
private static void loadPendingPlugin(@Nonnull Map<PluginIdentifier, PendingLoadPlugin> pending, @Nonnull PendingLoadPlugin plugin) -
getAvailablePlugins
-
getSessionSettingsComponentType
public ComponentType<EntityStore,PluginListPageManager.SessionSettings> getSessionSettingsComponentType()
-