public class ModuleLoader extends Object
| Modifier and Type | Field and Description |
|---|---|
private Map<String,Class<?>> |
classes |
private Map<String,ModuleClassLoader> |
classLoaders |
private ConcurrentHashMap<String,ModuleBase> |
loadedModules |
private cn.nukkit.plugin.Plugin |
plugin |
private cn.nukkit.Server |
server |
| Constructor and Description |
|---|
ModuleLoader() |
ModuleLoader(cn.nukkit.plugin.Plugin plugin) |
| Modifier and Type | Method and Description |
|---|---|
static void |
disableModule(ModuleBase module) |
void |
enabledModules() |
static void |
enableModule(ModuleBase module) |
(package private) Class<?> |
getClassByName(String name) |
ConcurrentHashMap<String,ModuleBase> |
getLoadedModules() |
private cn.nukkit.plugin.PluginDescription |
getModuleDescription(@NonNull File file) |
private void |
initModule(ModuleBase module,
cn.nukkit.plugin.PluginDescription description,
File file) |
ModuleBase |
loadModule(@NonNull File file) |
ModuleBase |
loadModuleFromModuleFolderAndModuleName(String folder,
String moduleName) |
void |
loadModuleFromWebUrl(String url,
File saveTo) |
void |
loadModuleFromWebUrl(String url,
String folder,
String moduleName)
从url里下载jar包并加载
注: 这里调用了setEnabled
储存在loadedModules里的是模块配置文件里的name的值
|
ModuleBase |
loadModuleWithDefault(String moduleName) |
(package private) void |
setClass(String name,
Class<?> clazz) |
private final cn.nukkit.plugin.Plugin plugin
private final cn.nukkit.Server server
private final Map<String,ModuleClassLoader> classLoaders
private final ConcurrentHashMap<String,ModuleBase> loadedModules
public ModuleLoader()
public ModuleLoader(cn.nukkit.plugin.Plugin plugin)
public void enabledModules()
public void loadModuleFromWebUrl(String url, String folder, String moduleName)
url - 网络urlfolder - 插件的子模块目录moduleName - 子模块名称public ModuleBase loadModuleWithDefault(String moduleName)
public ModuleBase loadModuleFromModuleFolderAndModuleName(String folder, String moduleName)
public ModuleBase loadModule(@NonNull @NonNull File file)
private cn.nukkit.plugin.PluginDescription getModuleDescription(@NonNull
@NonNull File file)
private void initModule(ModuleBase module, cn.nukkit.plugin.PluginDescription description, File file)
public static void enableModule(ModuleBase module)
public static void disableModule(ModuleBase module)
public ConcurrentHashMap<String,ModuleBase> getLoadedModules()
Copyright © 2022. All rights reserved.