From edc1ff56c18f9e875759c3396b11ed72cc9da203 Mon Sep 17 00:00:00 2001 From: sky Date: Thu, 20 Feb 2020 15:52:55 +0800 Subject: [PATCH] Fix CatServer --- .../module/dependency/TDependencyInjector.java | 15 ++++++++++----- .../module/dependency/TDependencyLoader.java | 3 --- .../io/izzel/taboolib/util/lite/Effects.java | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyInjector.java b/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyInjector.java index 54c93b8..fa6a14d 100644 --- a/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyInjector.java +++ b/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyInjector.java @@ -1,5 +1,6 @@ package io.izzel.taboolib.module.dependency; +import io.izzel.taboolib.TabooLib; import io.izzel.taboolib.util.Files; import org.bukkit.plugin.Plugin; import org.objectweb.asm.ClassReader; @@ -11,10 +12,16 @@ import org.objectweb.asm.ClassWriter; */ public class TDependencyInjector { - private static boolean libInjected; - public static void inject(Plugin plugin, Class clazz) { - if (!plugin.getName().equals("TabooLib") || !libInjected) { + if (clazz.equals(TabooLib.class)) { + for (Dependency dependency : TabooLib.class.getAnnotationsByType(Dependency.class)) { + try { + TDependency.requestLib(dependency.maven(), dependency.mavenRepo(), dependency.url()); + } catch (Throwable t) { + t.printStackTrace(); + } + } + } else { try { ClassReader classReader = new ClassReader(Files.getResource(plugin, clazz.getName().replace(".", "/") + ".class")); ClassWriter classWriter = new ClassWriter(0); @@ -24,8 +31,6 @@ public class TDependencyInjector { classVisitor.visitEnd(); } catch (Throwable t) { t.printStackTrace(); - } finally { - libInjected = true; } } } diff --git a/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyLoader.java b/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyLoader.java index 18e9b20..b977ce7 100644 --- a/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyLoader.java +++ b/src/main/scala/io/izzel/taboolib/module/dependency/TDependencyLoader.java @@ -9,11 +9,8 @@ import java.io.File; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodType; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLClassLoader; public class TDependencyLoader { diff --git a/src/main/scala/io/izzel/taboolib/util/lite/Effects.java b/src/main/scala/io/izzel/taboolib/util/lite/Effects.java index c4e074a..5044488 100644 --- a/src/main/scala/io/izzel/taboolib/util/lite/Effects.java +++ b/src/main/scala/io/izzel/taboolib/util/lite/Effects.java @@ -97,7 +97,7 @@ public class Effects { } public static void buildPolygon(Location center, double range, double interval, Consumer action) { - for (double i = 0; i < 360; i += (360 / interval)) { + for (double i = 0; i < 360; i += interval) { double radians = Math.toRadians(i); double cos = Math.cos(radians) * range; double sin = Math.sin(radians) * range;