From 4b947996daa287537d940f662c69a5c7af6645b9 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 1 Oct 2022 13:47:20 +0200 Subject: [PATCH] Change some minor things to Nicknames --- .../com/alttd/chat/nicknames/Nicknames.java | 85 +++++++++---------- .../alttd/chat/nicknames/NicknamesEvents.java | 3 +- .../alttd/chat/nicknames/NicknamesGui.java | 32 +++---- 3 files changed, 58 insertions(+), 62 deletions(-) diff --git a/galaxy/src/main/java/com/alttd/chat/nicknames/Nicknames.java b/galaxy/src/main/java/com/alttd/chat/nicknames/Nicknames.java index a252027..5fd7334 100644 --- a/galaxy/src/main/java/com/alttd/chat/nicknames/Nicknames.java +++ b/galaxy/src/main/java/com/alttd/chat/nicknames/Nicknames.java @@ -20,6 +20,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; +import org.jetbrains.annotations.NotNull; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; @@ -40,31 +41,30 @@ public class Nicknames implements CommandExecutor, TabCompleter { } @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args) { + if (sender instanceof Player player) { if (args.length == 0) { sender.sendMessage(format(helpMessage(sender, HelpType.ALL))); return true; } - switch (args[0].toLowerCase()){ + switch (args[0].toLowerCase()) { case "set": - if (args.length == 2 && hasPermission(sender, "utility.nick.set")){ + if (args.length == 2 && hasPermission(sender, "utility.nick.set")) { handleNick(player, player, args[1]); - } else if (args.length == 3 && hasPermission(sender, "utility.nick.set.others")){ + } else if (args.length == 3 && hasPermission(sender, "utility.nick.set.others")) { OfflinePlayer offlinePlayer = sender.getServer().getOfflinePlayer(args[1]); - if (offlinePlayer.isOnline() || offlinePlayer.hasPlayedBefore()){ + if (offlinePlayer.isOnline() || offlinePlayer.hasPlayedBefore()) { handleNick(player, offlinePlayer, args[2]); } else { sender.sendMessage(format(helpMessage(sender, HelpType.SET_OTHERS))); } - } else if (args.length > 3){ + } else if (args.length > 3) { sender.sendMessage(format(helpMessage(sender, HelpType.SET_SELF, HelpType.SET_OTHERS))); } break; case "review": - if (args.length == 1 && hasPermission(sender, "utility.nick.review")){ + if (args.length == 1 && hasPermission(sender, "utility.nick.review")) { NicknamesGui nicknamesGui = new NicknamesGui(); ChatPlugin.getInstance().getServer().getPluginManager().registerEvents(nicknamesGui, ChatPlugin.getInstance()); nicknamesGui.openInventory(player); @@ -73,7 +73,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { } break; case "request": - if (args.length == 2 && hasPermission(sender, "utility.nick.request")){ + if (args.length == 2 && hasPermission(sender, "utility.nick.request")) { new BukkitRunnable() { @Override public void run() { @@ -85,13 +85,13 @@ public class Nicknames implements CommandExecutor, TabCompleter { } break; case "try": - if (args.length == 2 && hasPermission(sender, "utility.nick.try")){ + if (args.length == 2 && hasPermission(sender, "utility.nick.try")) { LuckPerms api = ChatAPI.get().getLuckPerms(); - if (api != null){ + if (api != null) { if (NickUtilities.validNick(player, player, args[1])) { sender.sendMessage(format(Config.NICK_TRYOUT .replace("%prefix", api.getUserManager().getUser(player.getUniqueId()) - .getCachedData().getMetaData().getPrefix()) + .getCachedData().getMetaData().getPrefix()) // TODO pull this from chatuser? .replace("%nick%", args[1]))); } } else { @@ -121,11 +121,11 @@ public class Nicknames implements CommandExecutor, TabCompleter { } @Override - public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { + public List onTabComplete(CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { List completions = new ArrayList<>(); if (!sender.hasPermission("utility.nick")) return completions; - if (args.length == 1){ + if (args.length == 1) { List choices = new ArrayList<>(); if (sender.hasPermission("utility.nick.set")) { choices.add("set"); @@ -170,19 +170,19 @@ public class Nicknames implements CommandExecutor, TabCompleter { } private void handleNickRequest(Player player, String nickName) { - if (!NickUtilities.validNick(player, player, nickName)){ + if (!NickUtilities.validNick(player, player, nickName)) { return; } NickUtilities.updateCache(); UUID uniqueId = player.getUniqueId(); - if (NickCache.containsKey(uniqueId)){ + if (NickCache.containsKey(uniqueId)) { Nick nick = NickCache.get(uniqueId); long timeSinceLastChange = new Date().getTime() - nick.getLastChangedDate(); long waitTime = Config.NICK_WAIT_TIME; - if (timeSinceLastChange > waitTime){ - if (nick.hasRequest()){ + if (timeSinceLastChange > waitTime) { + if (nick.hasRequest()) { player.sendMessage(format(Config.NICK_REQUEST_PLACED .replace("%oldRequestedNick%", nick.getNewNick()) .replace("%newRequestedNick%", nickName))); @@ -216,7 +216,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { DataOutputStream msgout = new DataOutputStream(msgbytes); try { msgout.writeUTF(uniqueId.toString()); - } catch (IOException exception){ + } catch (IOException exception) { exception.printStackTrace(); return; } @@ -229,20 +229,20 @@ public class Nicknames implements CommandExecutor, TabCompleter { Nicknames.getInstance().nickCacheUpdate.add(uniqueId); } - private String formatTime(long timeInMillis){ + private String formatTime(long timeInMillis) { long second = (timeInMillis / 1000) % 60; long minute = (timeInMillis / (1000 * 60)) % 60; long hour = (timeInMillis / (1000 * 60 * 60)) % 24; long days = (timeInMillis / (1000 * 60 * 60 * 24)); StringBuilder stringBuilder = new StringBuilder(); - if (days!=0){ + if (days!=0) { stringBuilder.append(days).append(" days "); } - if (days!=0 || hour!=0){ + if (days!=0 || hour!=0) { stringBuilder.append(hour).append(" hours "); } - if (days!=0 || hour!=0 || minute != 0){ + if (days!=0 || hour!=0 || minute != 0) { stringBuilder.append(minute).append(" minutes and "); } stringBuilder.append(second).append(" seconds"); @@ -253,7 +253,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { if (nickName.equalsIgnoreCase("off")) { try { - if (target.isOnline()){ + if (target.isOnline()) { resetNick(target.getPlayer()); } Queries.removePlayerFromDataBase(target.getUniqueId()); @@ -263,12 +263,12 @@ public class Nicknames implements CommandExecutor, TabCompleter { e.printStackTrace(); } - if (!sender.equals(target)){ + if (!sender.equals(target)) { sender.sendMessage(format(Config.NICK_RESET_OTHERS .replace("%player%", target.getName()))); } - if (target.isOnline()){ + if (target.isOnline()) { target.getPlayer().sendMessage(format(Config.NICK_RESET)); } @@ -286,7 +286,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { NickEvent nickEvent = new NickEvent(sender.getName(), target.getName(), nickName, NickEvent.NickEventType.SET); nickEvent.callEvent(); - if (NickCache.containsKey(target.getUniqueId())){ + if (NickCache.containsKey(target.getUniqueId())) { Nick nick = NickCache.get(target.getUniqueId()); nick.setCurrentNick(nickName); nick.setLastChangedDate(new Date().getTime()); @@ -294,7 +294,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { NickCache.put(target.getUniqueId(), new Nick(target.getUniqueId(), nickName, new Date().getTime())); } - if (!sender.equals(target)){ + if (!sender.equals(target)) { sender.sendMessage(format(Config.NICK_CHANGED_OTHERS .replace("%targetplayer%", target.getName()) .replace("%nickname%", nickName))); @@ -304,7 +304,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { .replace("%sendernick%", getNick(sender)) .replace("%player%", target.getName()))); } - } else if (target.isOnline()){ + } else if (target.isOnline()) { target.getPlayer().sendMessage(format(Config.NICK_CHANGED .replace("%nickname%", getNick(target.getPlayer())))); } @@ -313,8 +313,8 @@ public class Nicknames implements CommandExecutor, TabCompleter { private String helpMessage(final CommandSender sender, final HelpType... helpTypes) { StringBuilder message = new StringBuilder(); - for (HelpType helpType : helpTypes){ - if (helpType.equals(HelpType.ALL)){ + for (HelpType helpType : helpTypes) { + if (helpType.equals(HelpType.ALL)) { return helpMessage(sender, helpType); } message.append(helpMessage(sender, helpType)); @@ -324,7 +324,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { private String helpMessage(CommandSender sender, HelpType type) { StringBuilder message = new StringBuilder(); - switch (type){ + switch (type) { case ALL: message.append(helpMessage(sender, HelpType.SET_SELF)); message.append(helpMessage(sender, HelpType.SET_OTHERS)); @@ -333,28 +333,28 @@ public class Nicknames implements CommandExecutor, TabCompleter { message.append(helpMessage(sender, HelpType.TRY)); break; case SET_SELF: - if (sender.hasPermission("utility.nick.set")){ + if (sender.hasPermission("utility.nick.set")) { message.append("&6/nick set &f - Sets your nickname to the specified name.\n"); } break; case SET_OTHERS: - if (sender.hasPermission("utility.nick.set.others")){ + if (sender.hasPermission("utility.nick.set.others")) { message.append("&6/nick set &f - Sets the specified user's nickname to the specified name.\n"); } break; case REQUEST: - if (sender.hasPermission("utility.nick.request")){ + if (sender.hasPermission("utility.nick.request")) { message.append("&6/nick request &f - Requests a username to be reviewed by staff.\n" + " &7Try using &8/nick try &7 to see if you like the name, you can only change it once per day!\n"); } break; case REVIEW: - if (sender.hasPermission("utility.nick.review")){ + if (sender.hasPermission("utility.nick.review")) { message.append("&6/nick review&f - Opens the nickname review GUI (left click to accept a nick, right click to deny it)\n"); } break; case TRY: - if (sender.hasPermission("utility.nick.try")){ + if (sender.hasPermission("utility.nick.try")) { message.append("&6/nick try &f - Shows you what your nickname will look like in chat.\n"); } } @@ -362,7 +362,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { } private boolean hasPermission(CommandSender sender, String permission) { - if (!sender.hasPermission(permission)){ + if (!sender.hasPermission(permission)) { sender.sendMessage(format(Config.NO_PERMISSION)); return false; } @@ -371,7 +371,7 @@ public class Nicknames implements CommandExecutor, TabCompleter { public void resetNick(final Player player) { ChatUser user = ChatUserManager.getChatUser(player.getUniqueId()); - user.setDisplayName(player.getDisplayName()); + user.setDisplayName(player.getName()); } public String getNick(final Player player) { @@ -384,11 +384,6 @@ public class Nicknames implements CommandExecutor, TabCompleter { user.setDisplayName(nickName); } -// @Deprecated -// public void setNick(final CommandSender sender, final Player player, final String nickName) { -// Bukkit.getServer().dispatchCommand(sender, "cmi nick " + nickName + " " + player.getName()); -// } - public static String format(final String m) { return NickUtilities.applyColor(m); } diff --git a/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesEvents.java b/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesEvents.java index aee980a..87588bc 100644 --- a/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesEvents.java +++ b/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesEvents.java @@ -20,6 +20,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.messaging.PluginMessageListener; import org.bukkit.scheduler.BukkitRunnable; +import org.jetbrains.annotations.NotNull; import java.io.ByteArrayInputStream; import java.io.DataInputStream; @@ -82,7 +83,7 @@ public class NicknamesEvents implements Listener, PluginMessageListener { } @Override - public void onPluginMessageReceived(String channel, Player player, byte[] message) { + public void onPluginMessageReceived(String channel, @NotNull Player player, byte[] message) { if (!channel.equals(Config.MESSAGECHANNEL)) { return; } diff --git a/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesGui.java b/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesGui.java index afb5ff8..64ae7a0 100644 --- a/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesGui.java +++ b/galaxy/src/main/java/com/alttd/chat/nicknames/NicknamesGui.java @@ -5,6 +5,8 @@ import com.alttd.chat.config.Config; import com.alttd.chat.database.Queries; import com.alttd.chat.events.NickEvent; import com.alttd.chat.objects.Nick; +import com.alttd.chat.util.Utility; +import net.kyori.adventure.text.Component; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -31,12 +33,12 @@ import static com.alttd.chat.nicknames.Nicknames.format; public class NicknamesGui implements Listener { - private Inventory inv; - private int currentPage; + private final Inventory inv; + private final int currentPage; public NicknamesGui() { // Create a new inventory, with no owner (as this isn't a real inventory) - inv = Bukkit.createInventory(null, 36, "Nicknames GUI"); + inv = Bukkit.createInventory(null, 36, Utility.parseMiniMessage("Nicknames GUI")); // Put the items into the inventory currentPage = 1; @@ -88,12 +90,10 @@ public class NicknamesGui implements Listener { meta.setOwningPlayer(offlinePlayer); meta.setDisplayName(offlinePlayer.getName()); - for (int ii = 0; ii < lore.size(); ii++) { - lore.set(ii, format(lore.get(ii) - .replace("%newNick%", nick.getNewNick()) - .replace("%oldNick%", nick.getCurrentNick() == null ? "None" : nick.getCurrentNick()) - .replace("%lastChanged%", nick.getLastChangedDate() == 0 ? "Not Applicable" : nick.getLastChangedDateFormatted()))); - } + lore.replaceAll(s -> format(s + .replace("%newNick%", nick.getNewNick()) + .replace("%oldNick%", nick.getCurrentNick() == null ? "None" : nick.getCurrentNick()) + .replace("%lastChanged%", nick.getLastChangedDate() == 0 ? "Not Applicable" : nick.getLastChangedDateFormatted()))); meta.setLore(lore); playerHead.setItemMeta(meta); @@ -107,7 +107,7 @@ public class NicknamesGui implements Listener { final ItemMeta meta = item.getItemMeta(); // Set the name of the item - meta.setDisplayName(name); + meta.displayName(Component.text(name)); // Set the lore of the item meta.setLore(Arrays.asList(lore)); @@ -189,7 +189,7 @@ public class NicknamesGui implements Listener { .replace("%newNick%", nick.getNewNick()) .replace("%oldNick%", nick.getCurrentNick() == null ? clickedItem.getItemMeta().getDisplayName() : nick.getCurrentNick()))); - if (owningPlayer.isOnline()) { + if (owningPlayer.isOnline() && owningPlayer.getPlayer() != null) { Nicknames.getInstance().setNick(owningPlayer.getPlayer(), nick.getNewNick()); owningPlayer.getPlayer().sendMessage(format(Config.NICK_CHANGED .replace("%nickname%", nick.getNewNick()))); @@ -206,8 +206,8 @@ public class NicknamesGui implements Listener { ItemStack itemStack = new ItemStack(Material.SKELETON_SKULL); ItemMeta itemMeta = itemStack.getItemMeta(); - itemMeta.setDisplayName(clickedItem.getItemMeta().getDisplayName()); - itemMeta.setLore(clickedItem.getLore()); + itemMeta.displayName(clickedItem.getItemMeta().displayName()); + itemMeta.lore(clickedItem.lore()); itemStack.setItemMeta(itemMeta); e.getInventory().setItem(e.getSlot(), itemStack); p.updateInventory(); @@ -244,7 +244,7 @@ public class NicknamesGui implements Listener { Nicknames.getInstance().NickCache.remove(uniqueId); } - if (owningPlayer.isOnline()) { + if (owningPlayer.isOnline() && owningPlayer.getPlayer() != null) { Nicknames.getInstance().setNick(owningPlayer.getPlayer(), nick.getCurrentNick() == null ? owningPlayer.getName() : nick.getCurrentNick()); owningPlayer.getPlayer().sendMessage(format(Config.NICK_NOT_CHANGED)); } @@ -260,8 +260,8 @@ public class NicknamesGui implements Listener { ItemStack itemStack = new ItemStack(Material.SKELETON_SKULL); ItemMeta itemMeta = itemStack.getItemMeta(); - itemMeta.setDisplayName(clickedItem.getItemMeta().getDisplayName()); - itemMeta.setLore(clickedItem.getLore()); + itemMeta.displayName(clickedItem.getItemMeta().displayName()); + itemMeta.lore(clickedItem.lore()); itemStack.setItemMeta(itemMeta); e.getInventory().setItem(e.getSlot(), itemStack); p.updateInventory();