@@ -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