From 11c54a00556035694ddbd2bc333abb6cfe546520 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 17 Jan 2021 15:52:40 +0000 Subject: [PATCH] Finally fixed proxies --- .../eco/util/plugin/AbstractEcoPlugin.java | 8 ---- .../willfp/eco/util/proxy/ProxyFactory.java | 47 ------------------- .../eco/util/proxy/ProxyFactoryFactory.java | 42 ----------------- 3 files changed, 97 deletions(-) delete mode 100644 src/main/java/com/willfp/eco/util/proxy/ProxyFactory.java delete mode 100644 src/main/java/com/willfp/eco/util/proxy/ProxyFactoryFactory.java diff --git a/src/main/java/com/willfp/eco/util/plugin/AbstractEcoPlugin.java b/src/main/java/com/willfp/eco/util/plugin/AbstractEcoPlugin.java index 191dd88d..8cea241f 100644 --- a/src/main/java/com/willfp/eco/util/plugin/AbstractEcoPlugin.java +++ b/src/main/java/com/willfp/eco/util/plugin/AbstractEcoPlugin.java @@ -41,7 +41,6 @@ import com.willfp.eco.util.integrations.placeholder.PlaceholderManager; import com.willfp.eco.util.integrations.placeholder.plugins.PlaceholderIntegrationPAPI; import com.willfp.eco.util.optional.Prerequisite; import com.willfp.eco.util.protocollib.AbstractPacketAdapter; -import com.willfp.eco.util.proxy.ProxyFactoryFactory; import com.willfp.eco.util.recipe.RecipeListener; import com.willfp.eco.util.recipe.RecipeManager; import com.willfp.eco.util.recipe.lookup.EcoItemLookup; @@ -160,12 +159,6 @@ public abstract class AbstractEcoPlugin extends JavaPlugin { @Getter private final RunnableFactory runnableFactory; - /** - * Get proxy factory factory to produce {@link com.willfp.eco.util.proxy.AbstractProxy} implementations. - */ - @Getter - private final ProxyFactoryFactory proxyFactory; - /** * Recipe handler for crafting recipes. */ @@ -218,7 +211,6 @@ public abstract class AbstractEcoPlugin extends JavaPlugin { this.namespacedKeyFactory = new NamespacedKeyFactory(this); this.metadataValueFactory = new MetadataValueFactory(this); this.runnableFactory = new RunnableFactory(this); - this.proxyFactory = new ProxyFactoryFactory(this); this.extensionLoader = new EcoExtensionLoader(this); this.configHandler = new ConfigHandler(this); this.recipeManager = new RecipeManager(this); diff --git a/src/main/java/com/willfp/eco/util/proxy/ProxyFactory.java b/src/main/java/com/willfp/eco/util/proxy/ProxyFactory.java deleted file mode 100644 index fc9617a1..00000000 --- a/src/main/java/com/willfp/eco/util/proxy/ProxyFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.willfp.eco.util.proxy; - -import com.willfp.eco.util.internal.PluginDependent; -import com.willfp.eco.util.plugin.AbstractEcoPlugin; -import org.jetbrains.annotations.NotNull; - -public class ProxyFactory extends PluginDependent { - /** - * The instance of the proxy. - */ - private final T instance; - - /** - * Create a new Proxy Factory for a specific type. - * - * @param plugin The plugin to create proxies for. - * @param proxyClass The class of the proxy interface. - */ - public ProxyFactory(@NotNull final AbstractEcoPlugin plugin, - @NotNull final Class proxyClass) { - super(plugin); - - try { - String className = this.getPlugin().getProxyPackage() + "." + ProxyConstants.NMS_VERSION + "." + proxyClass.getSimpleName().replace("Proxy", ""); - final Class class2 = Class.forName(className); - Object instance = class2.getConstructor().newInstance(); - - if (proxyClass.isInstance(instance)) { - this.instance = proxyClass.cast(instance); - } else { - throw new UnsupportedVersionException("You're running an unsupported server version: " + ProxyConstants.NMS_VERSION); - } - } catch (Exception e) { - e.printStackTrace(); - throw new UnsupportedVersionException("You're running an unsupported server version: " + ProxyConstants.NMS_VERSION); - } - } - - /** - * Get the implementation of a proxy. - * - * @return The proxy implementation. - */ - public @NotNull T getProxy() { - return instance; - } -} diff --git a/src/main/java/com/willfp/eco/util/proxy/ProxyFactoryFactory.java b/src/main/java/com/willfp/eco/util/proxy/ProxyFactoryFactory.java deleted file mode 100644 index 6662e7eb..00000000 --- a/src/main/java/com/willfp/eco/util/proxy/ProxyFactoryFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.willfp.eco.util.proxy; - -import com.willfp.eco.util.internal.PluginDependent; -import com.willfp.eco.util.plugin.AbstractEcoPlugin; -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.Map; - -@SuppressWarnings("unchecked") -public class ProxyFactoryFactory extends PluginDependent { - /** - * Cached proxy implementations in order to not perform expensive reflective class-finding. - */ - private final Map, ProxyFactory> cache = new HashMap<>(); - - /** - * Pass an {@link AbstractEcoPlugin} in order to interface with it. - * - * @param plugin The plugin to manage. - */ - public ProxyFactoryFactory(@NotNull final AbstractEcoPlugin plugin) { - super(plugin); - } - - /** - * Get proxy factory. - * - * @param proxyClass The proxy class. - * @param The class. - * @return The factory. - */ - public ProxyFactory getFactory(@NotNull final Class proxyClass) { - ProxyFactory cached = (ProxyFactory) cache.get(proxyClass); - if (cached == null) { - cache.put(proxyClass, new ProxyFactory<>(this.getPlugin(), proxyClass)); - } else { - return cached; - } - return getFactory(proxyClass); - } -}