Change some minor things to Nicknames

This commit is contained in:
Len 2022-10-01 13:47:20 +02:00
parent df4ff7f6b3
commit 4b947996da
3 changed files with 58 additions and 62 deletions

View File

@ -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<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
public List<String> onTabComplete(CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
List<String> completions = new ArrayList<>();
if (!sender.hasPermission("utility.nick")) return completions;
if (args.length == 1){
if (args.length == 1) {
List<String> 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 <nickname>&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 <username> <nickname>&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 <nickname>&f - Requests a username to be reviewed by staff.\n" +
" &7Try using &8/nick try <nickname>&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 <nickname>&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);
}

View File

@ -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;
}

View File

@ -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();