Moved Packet Adapters to singletons

This commit is contained in:
BuildTools
2020-09-21 14:27:53 +01:00
parent fe1dc2a468
commit f23a58b376
7 changed files with 17 additions and 9 deletions

View File

@@ -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);

View File

@@ -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)

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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