Improved kick command logic & player class internal code

This commit is contained in:
LOOHP 2021-11-24 19:00:37 +00:00
parent 6847f46a3b
commit 9eb2060457
2 changed files with 23 additions and 24 deletions

View File

@ -57,22 +57,27 @@ public class DefaultCommands implements CommandExecutor, TabCompletor {
if (sender.hasPermission("limboserver.kick")) { if (sender.hasPermission("limboserver.kick")) {
BaseComponent reason = new TranslatableComponent("multiplayer.disconnect.kicked"); BaseComponent reason = new TranslatableComponent("multiplayer.disconnect.kicked");
boolean customReason = false; boolean customReason = false;
Player player = args.length > 1 ? Limbo.getInstance().getPlayer(args[1]) : null; if (args.length > 1) {
if (player != null) { Player player = Limbo.getInstance().getPlayer(args[1]);
if (args.length < 2) { if (player != null) {
if (args.length >= 2) {
String reasonRaw = String.join(" ", Arrays.copyOfRange(args, 2, args.length));
if (reasonRaw.trim().length() > 0) {
reason = new TextComponent(reasonRaw);
customReason = true;
}
}
player.disconnect(reason); player.disconnect(reason);
if (customReason) {
sender.sendMessage(ChatColor.RED + "Kicked the player " + player.getName() + " for the reason: " + reason.toLegacyText());
} else {
sender.sendMessage(ChatColor.RED + "Kicked the player " + player.getName());
}
} else { } else {
reason = new TextComponent(String.join(" ", Arrays.copyOfRange(args, 2, args.length))); sender.sendMessage(ChatColor.RED + "Player is not online!");
customReason = true;
player.disconnect(reason);
}
if (customReason) {
sender.sendMessage(ChatColor.RED + "Kicked the player " + player.getName() + " for the reason: " + reason.toLegacyText());
} else {
sender.sendMessage(ChatColor.RED + "Kicked the player " + player.getName());
} }
} else { } else {
sender.sendMessage(ChatColor.RED + "Player is not online!"); sender.sendMessage(ChatColor.RED + "You have to specifiy a player!");
} }
} else { } else {
sender.sendMessage(ChatColor.RED + "You do not have permission to use that command!"); sender.sendMessage(ChatColor.RED + "You do not have permission to use that command!");

View File

@ -190,9 +190,7 @@ public class Player extends LivingEntity implements CommandSender {
} }
PacketPlayOutPositionAndLook positionLook = new PacketPlayOutPositionAndLook(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch(), 1, false); PacketPlayOutPositionAndLook positionLook = new PacketPlayOutPositionAndLook(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch(), 1, false);
clientConnection.sendPacket(positionLook); clientConnection.sendPacket(positionLook);
} catch (IOException e) { } catch (IOException e) {}
e.printStackTrace();
}
} }
} }
@ -201,7 +199,7 @@ public class Player extends LivingEntity implements CommandSender {
} }
public void sendMessage(String message, UUID uuid) { public void sendMessage(String message, UUID uuid) {
sendMessage(TextComponent.fromLegacyText(message), uuid); sendMessage(new TextComponent(message), uuid);
} }
public void sendMessage(BaseComponent component, UUID uuid) { public void sendMessage(BaseComponent component, UUID uuid) {
@ -213,13 +211,11 @@ public class Player extends LivingEntity implements CommandSender {
try { try {
PacketPlayOutChat chat = new PacketPlayOutChat(component, 0, uuid); PacketPlayOutChat chat = new PacketPlayOutChat(component, 0, uuid);
clientConnection.sendPacket(chat); clientConnection.sendPacket(chat);
} catch (IOException e) { } catch (IOException e) {}
e.printStackTrace();
}
} }
public void sendMessage(String message) { public void sendMessage(String message) {
sendMessage(TextComponent.fromLegacyText(message)); sendMessage(new TextComponent(message));
} }
public void sendMessage(BaseComponent component) { public void sendMessage(BaseComponent component) {
@ -231,9 +227,7 @@ public class Player extends LivingEntity implements CommandSender {
try { try {
PacketPlayOutChat chat = new PacketPlayOutChat(component, 0, new UUID(0, 0)); PacketPlayOutChat chat = new PacketPlayOutChat(component, 0, new UUID(0, 0));
clientConnection.sendPacket(chat); clientConnection.sendPacket(chat);
} catch (IOException e) { } catch (IOException e) {}
e.printStackTrace();
}
} }
public void disconnect() { public void disconnect() {
@ -241,7 +235,7 @@ public class Player extends LivingEntity implements CommandSender {
} }
public void disconnect(String reason) { public void disconnect(String reason) {
disconnect(TextComponent.fromLegacyText(reason)); disconnect(new TextComponent(reason));
} }
public void disconnect(BaseComponent reason) { public void disconnect(BaseComponent reason) {