TabooLib v4.6-R2
+ Fixed some bugs for TDependencyInjector in DISABLE-INJECT mode. + Fixed some bugs for TInject in HOT-RELOAD mode. + Add TPluginLoadEvent. + Add TPluginEnableEvent.
This commit is contained in:
@@ -24,19 +24,6 @@ public class TDependencyInjector {
|
||||
|
||||
private static List<String> injected = new ArrayList<>();
|
||||
|
||||
public static Dependency[] getDependencies(Object o) {
|
||||
Dependency[] dependencies = new Dependency[0];
|
||||
Dependencies d = o.getClass().getAnnotation(Dependencies.class);
|
||||
if (d != null) {
|
||||
dependencies = d.value();
|
||||
}
|
||||
Dependency d2 = o.getClass().getAnnotation(Dependency.class);
|
||||
if (d2 != null) {
|
||||
dependencies = new Dependency[]{d2};
|
||||
}
|
||||
return dependencies;
|
||||
}
|
||||
|
||||
static void injectOnEnable(Plugin plugin) {
|
||||
inject(plugin, plugin);
|
||||
}
|
||||
@@ -45,6 +32,10 @@ public class TDependencyInjector {
|
||||
eject(plugin, plugin);
|
||||
}
|
||||
|
||||
public static boolean injected(Plugin plugin) {
|
||||
return injected.contains(plugin.getName());
|
||||
}
|
||||
|
||||
public static void inject(Plugin plugin, Object o) {
|
||||
if (!injected.contains(plugin.getName())) {
|
||||
injected.add(plugin.getName());
|
||||
@@ -64,6 +55,19 @@ public class TDependencyInjector {
|
||||
}
|
||||
}
|
||||
|
||||
public static Dependency[] getDependencies(Object o) {
|
||||
Dependency[] dependencies = new Dependency[0];
|
||||
Dependencies d = o.getClass().getAnnotation(Dependencies.class);
|
||||
if (d != null) {
|
||||
dependencies = d.value();
|
||||
}
|
||||
Dependency d2 = o.getClass().getAnnotation(Dependency.class);
|
||||
if (d2 != null) {
|
||||
dependencies = new Dependency[]{d2};
|
||||
}
|
||||
return dependencies;
|
||||
}
|
||||
|
||||
private static void ejectConfig(Plugin plugin, Object o) {
|
||||
for (Field field : Ref.getDeclaredFields(o.getClass())) {
|
||||
TConfig config;
|
||||
|
||||
Reference in New Issue
Block a user