added permission check to SendTestMessageCommand

master
Alex 2022-03-19 23:39:24 +01:00
parent 5aa4730707
commit 7cc71b2a3d
1 changed files with 45 additions and 38 deletions

View File

@ -1,5 +1,7 @@
package net.krakatoa.proxy.command; package net.krakatoa.proxy.command;
import de.dytanic.cloudnet.driver.CloudNetDriver;
import de.dytanic.cloudnet.driver.permission.IPermissionUser;
import earth.krakatao.protocol.KraSocketClientProtocolMessage; import earth.krakatao.protocol.KraSocketClientProtocolMessage;
import earth.krakatao.protocol.KraSocketClientProtocolStatus; import earth.krakatao.protocol.KraSocketClientProtocolStatus;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -11,6 +13,8 @@ import net.md_5.bungee.api.plugin.Command;
public class SendTestMessageCommand extends Command { public class SendTestMessageCommand extends Command {
// /sendTestMessage <status> <cmdID> <dest> <cmdNumber> <msg>
public SendTestMessageCommand(String name) { public SendTestMessageCommand(String name) {
super(name); super(name);
} }
@ -20,49 +24,52 @@ public class SendTestMessageCommand extends Command {
if (commandSender instanceof ProxiedPlayer) { if (commandSender instanceof ProxiedPlayer) {
ProxiedPlayer proxiedPlayer = (ProxiedPlayer) commandSender; ProxiedPlayer proxiedPlayer = (ProxiedPlayer) commandSender;
// /sendTestMessage <status> <cmdID> <dest> <cmdNumber> <msg> IPermissionUser permissionUser = CloudNetDriver.getInstance().getPermissionManagement()
.getUser(proxiedPlayer.getUniqueId());
if (args.length == 5) { if (permissionUser != null && permissionUser.hasPermission("*").asBoolean()) {
try { if (args.length == 5) {
int cmdID; try {
int cmdID;
byte status = Byte.parseByte(args[0]); byte status = Byte.parseByte(args[0]);
if (status == KraSocketClientProtocolStatus.GET.getStatus()) { if (status == KraSocketClientProtocolStatus.GET.getStatus()) {
cmdID = ProxySystem.getInstance().getKraSocketClientProtocol().generateCmdID(); cmdID = ProxySystem.getInstance().getKraSocketClientProtocol().generateCmdID();
} else { } else {
cmdID = Byte.parseByte(args[1]); cmdID = Byte.parseByte(args[1]);
}
Consumer<KraSocketClientProtocolMessage> consumer = null;
if (status == KraSocketClientProtocolStatus.GET.getStatus()) {
consumer = kraSocketClientProtocolMessage -> {
proxiedPlayer.sendMessage(new TextComponent(
"Received msg -> status:" + kraSocketClientProtocolMessage.getStatus()
+ " cmdID: "
+ kraSocketClientProtocolMessage.getCmdID() + " dest: "
+ kraSocketClientProtocolMessage.getDest() + " uuid: "
+ kraSocketClientProtocolMessage.getUuid() + " cmdNumber: "
+ kraSocketClientProtocolMessage.getCmdNumber() + " args: "
+ kraSocketClientProtocolMessage.getArgs()));
};
}
KraSocketClientProtocolMessage kraSocketClientProtocolMessage = null;
kraSocketClientProtocolMessage = new KraSocketClientProtocolMessage(
status, (byte) cmdID, Integer.parseInt(args[2]),
proxiedPlayer.getUniqueId(), Integer.parseInt(args[3]), args[4],
consumer);
ProxySystem.getInstance().getKraSocketClient().getSocketClient()
.SendMessage(kraSocketClientProtocolMessage);
} catch (NumberFormatException exception) {
proxiedPlayer.sendMessage(new TextComponent("§7Error: §cNumberFormatException"));
} }
} else {
Consumer<KraSocketClientProtocolMessage> consumer = null; proxiedPlayer.sendMessage(new TextComponent(
if (status == KraSocketClientProtocolStatus.GET.getStatus()) { "§cVerwendung: §7/sendTestMessage <status> <cmdID> <dest> <cmdNumber> <msg>"));
consumer = kraSocketClientProtocolMessage -> {
proxiedPlayer.sendMessage(new TextComponent(
"Received msg -> status:" + kraSocketClientProtocolMessage.getStatus()
+ " cmdID: "
+ kraSocketClientProtocolMessage.getCmdID() + " dest: "
+ kraSocketClientProtocolMessage.getDest() + " uuid: "
+ kraSocketClientProtocolMessage.getUuid() + " cmdNumber: "
+ kraSocketClientProtocolMessage.getCmdNumber() + " args: "
+ kraSocketClientProtocolMessage.getArgs()));
};
}
KraSocketClientProtocolMessage kraSocketClientProtocolMessage = null;
kraSocketClientProtocolMessage = new KraSocketClientProtocolMessage(
status, (byte) cmdID, Integer.parseInt(args[2]),
proxiedPlayer.getUniqueId(), Integer.parseInt(args[3]), args[4],
consumer);
ProxySystem.getInstance().getKraSocketClient().getSocketClient()
.SendMessage(kraSocketClientProtocolMessage);
} catch (NumberFormatException exception) {
proxiedPlayer.sendMessage(new TextComponent("§7Error: §cNumberFormatException"));
} }
} else {
proxiedPlayer.sendMessage(new TextComponent(
"§cVerwendung: §7/sendTestMessage <status> <cmdID> <dest> <cmdNumber> <msg>"));
} }
} }
} }