diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index cdb8cff..f99e34a 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -131,7 +131,6 @@ public class ZNpcsPlus extends JavaPlugin { EntityPropertyRegistryImpl propertyRegistry = new EntityPropertyRegistryImpl(skinCache); MetadataFactory metadataFactory = setupMetadataFactory(); PacketFactory packetFactory = setupPacketFactory(scheduler, metadataFactory, propertyRegistry); - BungeeConnector bungeeConnector = new BungeeConnector(this); ActionRegistry actionRegistry = new ActionRegistry(); NpcTypeRegistryImpl typeRegistry = new NpcTypeRegistryImpl(); @@ -142,18 +141,17 @@ public class ZNpcsPlus extends JavaPlugin { UserManager userManager = new UserManager(); shutdownTasks.add(userManager::shutdown); - DataImporterRegistry importerRegistry = new DataImporterRegistry(configManager, adventure, bungeeConnector, + DataImporterRegistry importerRegistry = new DataImporterRegistry(configManager, adventure, scheduler, packetFactory, textSerializer, typeRegistry, getDataFolder().getParentFile(), propertyRegistry, skinCache); log(ChatColor.WHITE + " * Registerring components..."); typeRegistry.registerDefault(packetEvents, propertyRegistry); - actionRegistry.registerTypes(scheduler, adventure, bungeeConnector, textSerializer); + actionRegistry.registerTypes(scheduler, adventure, textSerializer); packetEvents.getEventManager().registerListener(new InteractionPacketListener(userManager, npcRegistry, scheduler), PacketListenerPriority.MONITOR); new Metrics(this, 18244); pluginManager.registerEvents(new UserListener(userManager), this); - getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); registerCommands(npcRegistry, skinCache, adventure, actionRegistry, typeRegistry, propertyRegistry, importerRegistry, configManager); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java index 5a286ae..7fc000e 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java @@ -7,7 +7,6 @@ import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.util.BungeeConnector; import lol.pyr.znpcsplus.util.LazyLoader; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; @@ -21,14 +20,14 @@ import java.util.Map; public class DataImporterRegistry { private final Map> importers = new HashMap<>(); - public DataImporterRegistry(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector, + public DataImporterRegistry(ConfigManager configManager, BukkitAudiences adventure, TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer, NpcTypeRegistryImpl typeRegistry, File pluginsFolder, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache) { - register("znpcs", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler, + register("znpcs", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, taskScheduler, packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ServersNPC/data.json")))); - register("znpcsplus_legacy", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler, + register("znpcsplus_legacy", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, taskScheduler, packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ZNPCsPlusLegacy/data.json")))); /* register("citizens", LazyLoader.of(() -> new CitizensImporter(configManager, adventure, bungeeConnector, taskScheduler, packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "Citizens/saves.yml")))); */ diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java index 3005864..a5c2632 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java @@ -8,7 +8,6 @@ import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.util.BungeeConnector; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.configuration.file.YamlConfiguration; @@ -21,7 +20,6 @@ import java.util.Collections; public class CitizensImporter implements DataImporter { private final ConfigManager configManager; private final BukkitAudiences adventure; - private final BungeeConnector bungeeConnector; private final TaskScheduler scheduler; private final PacketFactory packetFactory; private final LegacyComponentSerializer textSerializer; @@ -30,13 +28,12 @@ public class CitizensImporter implements DataImporter { private final MojangSkinCache skinCache; private final File dataFile; - public CitizensImporter(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector, + public CitizensImporter(ConfigManager configManager, BukkitAudiences adventure, TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache, File dataFile) { this.configManager = configManager; this.adventure = adventure; - this.bungeeConnector = bungeeConnector; this.scheduler = taskScheduler; this.packetFactory = packetFactory; this.textSerializer = textSerializer; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java index ef48f1f..8ecb963 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java @@ -31,7 +31,6 @@ import lol.pyr.znpcsplus.skin.Skin; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor; -import lol.pyr.znpcsplus.util.BungeeConnector; import lol.pyr.znpcsplus.util.ItemSerializationUtil; import lol.pyr.znpcsplus.util.NpcLocation; import net.kyori.adventure.platform.bukkit.BukkitAudiences; @@ -47,7 +46,6 @@ import java.util.*; public class ZNpcImporter implements DataImporter { private final ConfigManager configManager; private final BukkitAudiences adventure; - private final BungeeConnector bungeeConnector; private final TaskScheduler taskScheduler; private final PacketFactory packetFactory; private final LegacyComponentSerializer textSerializer; @@ -57,13 +55,12 @@ public class ZNpcImporter implements DataImporter { private final File dataFile; private final Gson gson; - public ZNpcImporter(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector, + public ZNpcImporter(ConfigManager configManager, BukkitAudiences adventure, TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache, File dataFile) { this.configManager = configManager; this.adventure = adventure; - this.bungeeConnector = bungeeConnector; this.taskScheduler = taskScheduler; this.packetFactory = packetFactory; this.textSerializer = textSerializer; @@ -164,7 +161,7 @@ public class ZNpcImporter implements DataImporter { case "message": return new MessageAction(adventure, parameter, clickType, textSerializer, cooldown * 1000L, 0); case "server": - return new SwitchServerAction(bungeeConnector, parameter, clickType, cooldown * 1000L, 0); + return new SwitchServerAction(parameter, clickType, cooldown * 1000L, 0); } throw new IllegalArgumentException("Couldn't adapt znpcs click action: " + type); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/ActionRegistry.java b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/ActionRegistry.java index e04f605..ecaf4e4 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/ActionRegistry.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/ActionRegistry.java @@ -7,7 +7,6 @@ import lol.pyr.znpcsplus.interaction.playerchat.PlayerChatActionType; import lol.pyr.znpcsplus.interaction.playercommand.PlayerCommandActionType; import lol.pyr.znpcsplus.interaction.switchserver.SwitchServerActionType; import lol.pyr.znpcsplus.scheduling.TaskScheduler; -import lol.pyr.znpcsplus.util.BungeeConnector; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; @@ -23,10 +22,10 @@ public class ActionRegistry { public ActionRegistry() { } - public void registerTypes(TaskScheduler taskScheduler, BukkitAudiences adventure, BungeeConnector bungeeConnector, LegacyComponentSerializer textSerializer) { + public void registerTypes(TaskScheduler taskScheduler, BukkitAudiences adventure, LegacyComponentSerializer textSerializer) { register(new ConsoleCommandActionType(taskScheduler)); register(new PlayerCommandActionType(taskScheduler)); - register(new SwitchServerActionType(bungeeConnector)); + register(new SwitchServerActionType()); register(new MessageActionType(adventure, textSerializer)); register(new PlayerChatActionType(taskScheduler)); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerAction.java b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerAction.java index de9561e..a590a3b 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerAction.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerAction.java @@ -3,7 +3,7 @@ package lol.pyr.znpcsplus.interaction.switchserver; import lol.pyr.director.adventure.command.CommandContext; import lol.pyr.znpcsplus.api.interaction.InteractionType; import lol.pyr.znpcsplus.interaction.InteractionActionImpl; -import lol.pyr.znpcsplus.util.BungeeConnector; +import lol.pyr.znpcsplus.util.BungeeUtil; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.HoverEvent; @@ -11,18 +11,16 @@ import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.entity.Player; public class SwitchServerAction extends InteractionActionImpl { - private final BungeeConnector bungeeConnector; private final String server; - public SwitchServerAction(BungeeConnector bungeeConnector, String server, InteractionType interactionType, long cooldown, long delay) { + public SwitchServerAction(String server, InteractionType interactionType, long cooldown, long delay) { super(cooldown, delay, interactionType); - this.bungeeConnector = bungeeConnector; this.server = server; } @Override public void run(Player player) { - bungeeConnector.sendPlayer(player, server); + BungeeUtil.connectPlayer(player, server); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerActionType.java b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerActionType.java index dd9522b..5aee9ec 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerActionType.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/interaction/switchserver/SwitchServerActionType.java @@ -6,7 +6,6 @@ import lol.pyr.znpcsplus.api.interaction.InteractionType; import lol.pyr.znpcsplus.interaction.InteractionActionImpl; import lol.pyr.znpcsplus.interaction.InteractionActionType; import lol.pyr.znpcsplus.interaction.InteractionCommandHandler; -import lol.pyr.znpcsplus.util.BungeeConnector; import java.nio.charset.StandardCharsets; import java.util.Base64; @@ -14,12 +13,6 @@ import java.util.Collections; import java.util.List; public class SwitchServerActionType implements InteractionActionType, InteractionCommandHandler { - private final BungeeConnector bungeeConnector; - - public SwitchServerActionType(BungeeConnector bungeeConnector) { - this.bungeeConnector = bungeeConnector; - } - @Override public String serialize(SwitchServerAction obj) { return Base64.getEncoder().encodeToString(obj.getServer().getBytes(StandardCharsets.UTF_8)) + ";" + obj.getCooldown() + ";" + obj.getInteractionType().name() + ";" + obj.getDelay(); @@ -29,7 +22,7 @@ public class SwitchServerActionType implements InteractionActionType 2 ? InteractionType.valueOf(split[2]) : InteractionType.ANY_CLICK; - return new SwitchServerAction(bungeeConnector, new String(Base64.getDecoder().decode(split[0]), StandardCharsets.UTF_8), type, Long.parseLong(split[1]), Long.parseLong(split.length > 3 ? split[3] : "0")); + return new SwitchServerAction(new String(Base64.getDecoder().decode(split[0]), StandardCharsets.UTF_8), type, Long.parseLong(split[1]), Long.parseLong(split.length > 3 ? split[3] : "0")); } @Override @@ -53,7 +46,7 @@ public class SwitchServerActionType implements InteractionActionType