diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/AbstractPacketAdapter.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/AbstractPacketAdapter.java index ae2e7e97..a32ab920 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/AbstractPacketAdapter.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/AbstractPacketAdapter.java @@ -9,11 +9,15 @@ import com.willfp.ecoenchants.EcoEnchantsPlugin; import java.util.Collections; public abstract class AbstractPacketAdapter extends PacketAdapter { + private static AbstractPacketAdapter instance; + private final PacketType type; protected AbstractPacketAdapter(PacketType type) { super(EcoEnchantsPlugin.getInstance(), Collections.singletonList(type)); this.type = type; + + instance = this; } public void onReceive(PacketContainer packet) {} @@ -42,6 +46,10 @@ public abstract class AbstractPacketAdapter extends PacketAdapter { onSend(event.getPacket()); } + public static AbstractPacketAdapter getInstance() { + return instance; + } + public final void register() { if(!EcoEnchantsPlugin.getInstance().protocolManager.getPacketListeners().contains(this)) { EcoEnchantsPlugin.getInstance().protocolManager.addPacketListener(this); diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java index d5e21f61..5eb0f588 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/EnchantDisplay.java @@ -27,7 +27,7 @@ import java.util.Map; /** * All methods and fields pertaining to showing players the enchantments on their items. */ -public class EnchantDisplay { +public final class EnchantDisplay { /** * The meta key of the length of enchantments in lore (for legacy support) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketOpenWindowMerchant.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketOpenWindowMerchant.java index d950d5fd..c106e970 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketOpenWindowMerchant.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketOpenWindowMerchant.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.stream.Collectors; public class PacketOpenWindowMerchant extends AbstractPacketAdapter { - public PacketOpenWindowMerchant() { + private PacketOpenWindowMerchant() { super(PacketType.Play.Server.OPEN_WINDOW_MERCHANT); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetCreativeSlot.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetCreativeSlot.java index ed8866fa..35bd4673 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetCreativeSlot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetCreativeSlot.java @@ -6,7 +6,7 @@ import com.willfp.ecoenchants.display.AbstractPacketAdapter; import com.willfp.ecoenchants.display.EnchantDisplay; public class PacketSetCreativeSlot extends AbstractPacketAdapter { - public PacketSetCreativeSlot() { + private PacketSetCreativeSlot() { super(PacketType.Play.Client.SET_CREATIVE_SLOT); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java index 966dc17a..16fb75c2 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketSetSlot.java @@ -6,7 +6,7 @@ import com.willfp.ecoenchants.display.AbstractPacketAdapter; import com.willfp.ecoenchants.display.EnchantDisplay; public class PacketSetSlot extends AbstractPacketAdapter { - public PacketSetSlot() { + private PacketSetSlot() { super(PacketType.Play.Server.SET_SLOT); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java index 450dab67..544ad98c 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/display/packets/PacketWindowItems.java @@ -6,7 +6,7 @@ import com.willfp.ecoenchants.display.AbstractPacketAdapter; import com.willfp.ecoenchants.display.EnchantDisplay; public class PacketWindowItems extends AbstractPacketAdapter { - public PacketWindowItems() { + private PacketWindowItems() { super(PacketType.Play.Server.WINDOW_ITEMS); } diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java index 04f9ddbb..cd558b35 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java @@ -99,10 +99,10 @@ public class Loader { Bukkit.getLogger().info("Loading ProtocolLib..."); EcoEnchantsPlugin.getInstance().protocolManager = ProtocolLibrary.getProtocolManager(); - new PacketOpenWindowMerchant().register(); - new PacketSetCreativeSlot().register(); - new PacketSetSlot().register(); - new PacketWindowItems().register(); + PacketOpenWindowMerchant.getInstance().register(); + PacketSetCreativeSlot.getInstance().register(); + PacketSetSlot.getInstance().register(); + PacketWindowItems.getInstance().register(); /* Load land management support