Package cn.lanink.gamecore.hotswap.load
Class ModuleLoader
java.lang.Object
cn.lanink.gamecore.hotswap.load.ModuleLoader
- Author:
- iGxnon 实例化该类然后加载你的子模块
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<String,ModuleClassLoader> private final ConcurrentHashMap<String,ModuleBase> private final cn.nukkit.plugin.Pluginprivate final cn.nukkit.Server -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voiddisableModule(ModuleBase module) voidstatic voidenableModule(ModuleBase module) (package private) Class<?>getClassByName(String name) private cn.nukkit.plugin.PluginDescriptiongetModuleDescription(@NonNull File file) private voidinitModule(ModuleBase module, cn.nukkit.plugin.PluginDescription description, File file) loadModule(@NonNull File file) loadModuleFromModuleFolderAndModuleName(String folder, String moduleName) voidloadModuleFromWebUrl(String url, File saveTo) voidloadModuleFromWebUrl(String url, String folder, String moduleName) 从url里下载jar包并加载 注: 这里调用了setEnabled 储存在loadedModules里的是模块配置文件里的name的值loadModuleWithDefault(String moduleName) (package private) void
-
Field Details
-
plugin
private final cn.nukkit.plugin.Plugin plugin -
server
private final cn.nukkit.Server server -
classes
-
classLoaders
-
loadedModules
-
-
Constructor Details
-
ModuleLoader
public ModuleLoader() -
ModuleLoader
public ModuleLoader(cn.nukkit.plugin.Plugin plugin)
-
-
Method Details
-
enabledModules
public void enabledModules() -
loadModuleFromWebUrl
从url里下载jar包并加载 注: 这里调用了setEnabled 储存在loadedModules里的是模块配置文件里的name的值- Parameters:
url- 网络urlfolder- 插件的子模块目录moduleName- 子模块名称
-
loadModuleFromWebUrl
-
loadModuleWithDefault
-
loadModuleFromModuleFolderAndModuleName
-
loadModule
-
getModuleDescription
-
initModule
private void initModule(ModuleBase module, cn.nukkit.plugin.PluginDescription description, File file) -
enableModule
-
disableModule
-
getClassByName
-
setClass
-
getLoadedModules
-