66import org .bukkit .event .EventHandler ;
77import org .bukkit .event .Listener ;
88import org .bukkit .event .server .PluginEnableEvent ;
9+ import org .bukkit .plugin .PluginDescriptionFile ;
910import org .bukkit .plugin .java .JavaPlugin ;
1011
1112public class ControllableMobsAPIPlugin extends JavaPlugin implements Listener , Runnable {
@@ -26,27 +27,38 @@ public void run() {
2627 if (this .usedBy .size ()==1 ) {
2728 this .getLogger ().info (" is used by the plugin [" +this .usedBy .get (0 )+"]" );
2829 } else {
29- String plugins = "[" +usedBy .get (0 )+"]" ;
30- for (int i =1 ; i <usedBy .size (); i ++) {
31- plugins += ", [" +this .usedBy .get (i )+"]" ;
30+ StringBuilder sb = new StringBuilder ();
31+ sb .append (" is used by the plugins [" ).append (usedBy .get (0 )).append ("]" );
32+ int size = this .usedBy .size ();
33+ for (int i =1 ; i <size ; i ++) {
34+ sb .append (", [" ).append (this .usedBy .get (i )).append ("]" );
3235 }
33- this .getLogger ().info (" is used by the plugins " + plugins );
36+ this .getLogger ().info (sb . toString () );
3437 }
3538 }
3639 }
3740
41+ private boolean containsIgnoreCase (List <String > list , String object ) {
42+ if (list ==null ) return false ;
43+ object = object .trim ();
44+ for (String str : list ) {
45+ if (str .trim ().equalsIgnoreCase (object )) return true ;
46+ }
47+ return false ;
48+ }
49+
3850 @ EventHandler
3951 public void onPluginEnabled (PluginEnableEvent event ) {
4052 if (event .getPlugin ()==this ) return ;
41- final List <String > depend = event .getPlugin ().getDescription ().getDepend ();
42- if (depend !=null && depend .contains (this .getName ())) {
43- this .usedBy .add (event .getPlugin ().getDescription ().getFullName ());
53+ PluginDescriptionFile desc = event .getPlugin ().getDescription ();
54+ String name = this .getName ();
55+ if ( this .containsIgnoreCase (desc .getDepend (), name ) || this .containsIgnoreCase (desc .getSoftDepend (), name )) {
56+ this .usedBy .add (desc .getFullName ());
4457 }
4558 }
4659
4760 @ Override
4861 public void onDisable () {
49- this .usedBy .clear ();
5062 this .usedBy = null ;
5163 }
5264
0 commit comments