From 4cbe8ed802c7f090fdb86afef0ac9b508f6470d0 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Tue, 8 Mar 2022 20:12:02 +0100 Subject: [PATCH] 2.6.0 Add: - 1.18.2 Support Bugfix: - Fixed a bug where bungee commands were executed multiple times when multiple players were on the server. New features: - Bungee commands can now also be executed from the server --- CommandGUI V2/pom.xml | 17 +++++++++---- .../jatitv/commandguiv2/Bungee/BListener.java | 14 ++++++++--- .../Spigot/Listener/GUI_Listener.java | 4 ++-- .../cmdManagement/register/AliasRegister.java | 6 +++++ .../Spigot/system/Bungee_Sender_Reciver.java | 24 ++++++++++++++++--- 5 files changed, 52 insertions(+), 13 deletions(-) diff --git a/CommandGUI V2/pom.xml b/CommandGUI V2/pom.xml index 0289d90..52c9429 100644 --- a/CommandGUI V2/pom.xml +++ b/CommandGUI V2/pom.xml @@ -6,7 +6,7 @@ net.t2code CommandGUI_V2 - 2.5.23 + 2.6.0 jar CommandGUI @@ -53,6 +53,10 @@ + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + Builders-Paradise https://repo.t2code.net/repository/Builders-Paradise/ @@ -61,10 +65,7 @@ T2Code https://repo.t2code.net/repository/T2Code/ - - spigot-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - + @@ -88,11 +89,17 @@ LuckyBox-API 4.2.2 + + net.t2code.minecraft.1_18.r2 + spigot + 1.18r2 + net.t2code.minecraft.1_18.r1 spigot 1.18r1 + net.t2code.minecraft.1_17.r1 spigot diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java index bdab148..774d01c 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Bungee/BListener.java @@ -1,6 +1,7 @@ package de.jatitv.commandguiv2.Bungee; import net.md_5.bungee.BungeeCord; +import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.event.PlayerDisconnectEvent; import net.md_5.bungee.api.event.PluginMessageEvent; @@ -16,13 +17,20 @@ public class BListener implements Listener { @EventHandler public void onPluginmessage(PluginMessageEvent event) { if (event.getTag().equalsIgnoreCase("cgui:bungee")) { + DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData())); try { String channel = stream.readUTF(); String input = stream.readUTF(); - ProxiedPlayer player = BungeeCord.getInstance().getPlayer(channel); - if (player != null) { - BungeeCord.getInstance().getPluginManager().dispatchCommand(player, input); + if (channel.equals("cgui-Console")) { + ProxyServer.getInstance().getConsole().sendMessage("Command Console: "+ input); + ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), input); + } else { + ProxiedPlayer player = ProxyServer.getInstance().getPlayer(channel); + if (player != null) { + ProxyServer.getInstance().getConsole().sendMessage("Command " + player +": "+ input); + ProxyServer.getInstance().getPluginManager().dispatchCommand(player, input); + } } } catch (IOException e) { e.printStackTrace(); diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java index 25c9d63..deeeacb 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java @@ -74,7 +74,7 @@ public class GUI_Listener implements Listener { public void run() { if (slot.Command_BungeeCommand && SelectConfig.Bungee) { for (String cmd : slot.Command) { - Bungee_Sender_Reciver.sendToBungee(player, player.getName(), cmd.replace("[player]", player.getName())); + Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.CommandAsConsole); } } else { if (slot.CommandAsConsole) { @@ -238,7 +238,7 @@ public class GUI_Listener implements Listener { if (slot.Command_BungeeCommand) { if (SelectConfig.Bungee) { for (String cmd : slot.Command) { - Bungee_Sender_Reciver.sendToBungee(player, player.getName(), cmd.replace("[player]", player.getName())); + Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.CommandAsConsole); } } else { send.console(prefix + " ยง4To use bungee commands, enable the Bungee option in the config."); diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java index 5f42137..87e775d 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java @@ -7,6 +7,7 @@ import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion; import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; +import org.eclipse.sisu.space.ClassFinder; import java.io.File; @@ -110,6 +111,11 @@ public class AliasRegister { org.bukkit.craftbukkit.v1_18_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R1.CraftServer) plugin.getServer(); craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); } + if (NMSVersion.v1_18_R2) { + send.debug(plugin, "Alias register 1.18_R2"); + org.bukkit.craftbukkit.v1_18_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R2.CraftServer) plugin.getServer(); + craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); + } } } } diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Bungee_Sender_Reciver.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Bungee_Sender_Reciver.java index 5e693e6..0385ebe 100644 --- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Bungee_Sender_Reciver.java +++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Bungee_Sender_Reciver.java @@ -2,6 +2,8 @@ package de.jatitv.commandguiv2.Spigot.system; import de.jatitv.commandguiv2.Spigot.Main; import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.messaging.PluginMessageListener; @@ -9,16 +11,32 @@ import java.io.*; public class Bungee_Sender_Reciver implements PluginMessageListener { - public static void sendToBungee(Player player,String channel, String information) { + public static void sendToBungee(CommandSender sender, String information, Boolean console) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); DataOutputStream output = new DataOutputStream(stream); try { - output.writeUTF(channel); + if (console) { + output.writeUTF("cgui-Console"); + } else { + if (sender instanceof Player) { + output.writeUTF(sender.getName()); + } else { + output.writeUTF("cgui-Console"); + } + } output.writeUTF(information); } catch (IOException e) { e.printStackTrace(); } - player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray()); + if (sender instanceof Player) { + Player player = (Player) sender; + player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray()); + }else { + for(Player player : Bukkit.getOnlinePlayers()){ + player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray()); + return; + } + } } @Override