Skip to content

Commit def3a7e

Browse files
author
magiclu550
committed
[commit] #1071 add a plugin name
1 parent dc917da commit def3a7e

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

JPLS/src/main/java/cn/jsmod2/core/plugin/PluginClassLoader.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ public class PluginClassLoader implements IPluginClassLoader {
4141

4242
public static final String JSMOD2_PACKAGE = "cn.jsmod2";
4343

44-
private Map<String,String> plugin_info = new HashMap<>();
44+
private Map<String,String> plugin_info = new HashMap<>();//文件名 介绍
45+
46+
private Map<String,String> plugin_name = new HashMap<>();//文件名 插件名
47+
48+
private Map<String,String> name_file = new HashMap<>();//插件名 文件名
4549

4650
private PluginManager manager;
4751

@@ -53,6 +57,15 @@ public class PluginClassLoader implements IPluginClassLoader {
5357
classLoader = new PluginClassLoader();
5458
}
5559

60+
//文件名 插件名
61+
public Map<String, String> getName_file() {
62+
return name_file;
63+
}
64+
65+
public Map<String, String> getPlugin_name() {
66+
return plugin_name;
67+
}
68+
5669
private List<File> jarFiles = new ArrayList<>();
5770

5871
void setManager(PluginManager manager){
@@ -119,6 +132,8 @@ public Plugin loadPlugin(File jar) {
119132
Main main = pluginClass.getAnnotation(Main.class);
120133
if(main!=null){
121134
plugin_info.put(jar.getName(),main.description());
135+
name_file.put(main.name(),jar.getName());
136+
plugin_name.put(jar.getName(),main.name());
122137
PluginFileVO vo = new PluginFileVO(main.name(),pluginClass.getName(),main.description(),main.version());
123138
Object obj = pluginClass.newInstance();
124139
return loadPluginInfo(obj,vo,file,classLoader);
@@ -149,6 +164,9 @@ public void unloadPlugin(String name){
149164
if(removed !=null) {
150165
removed.onDisable();
151166
plugins.remove(removed);
167+
plugin_info.remove(name_file.get(name));
168+
plugin_name.remove(name_file.get(name));
169+
name_file.remove(name);
152170
}else
153171
throw new PluginException("no such plugin");
154172
}

0 commit comments

Comments
 (0)