mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 18:42:45 +00:00
115 lines
4.7 KiB
Java
115 lines
4.7 KiB
Java
package mineverse.Aust1n46.chat.command.chat;
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import mineverse.Aust1n46.chat.MineverseChat;
|
|
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
|
import mineverse.Aust1n46.chat.command.MineverseCommand;
|
|
import mineverse.Aust1n46.chat.utilities.Format;
|
|
|
|
public class Nick extends MineverseCommand {
|
|
private MineverseChat plugin;
|
|
|
|
public Nick(String name) {
|
|
super(name);
|
|
this.plugin = MineverseChat.getInstance();
|
|
}
|
|
|
|
@Override
|
|
public void execute(CommandSender sender, String command, String[] args) {
|
|
if(sender.hasPermission("venturechat.nick")) {
|
|
if(args.length > 0) {
|
|
if(args.length == 1) {
|
|
if(!(sender instanceof Player)) {
|
|
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
|
return;
|
|
}
|
|
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender);
|
|
if(args[0].equalsIgnoreCase("Off")) {
|
|
mcp.getPlayer().setDisplayName(mcp.getName());
|
|
mcp.setNickname(mcp.getName());
|
|
mcp.getPlayer().sendMessage(ChatColor.GOLD + "You no longer have a nickname.");
|
|
String name = mcp.getName();
|
|
if(name.length() >= 16) {
|
|
name = name.substring(0, 16);
|
|
}
|
|
if(plugin.getConfig().getBoolean("nickname-in-tablist", false)) {
|
|
mcp.getPlayer().setPlayerListName(Format.FormatStringAll(name));
|
|
}
|
|
return;
|
|
}
|
|
if(!mcp.getPlayer().hasPermission("venturechat.nick.bypass")) {
|
|
for(String s : plugin.getConfig().getStringList("nicknames")) {
|
|
if(s.equalsIgnoreCase(args[0])) {
|
|
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not allowed to set your nickname to " + args[0]);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
mcp.getPlayer().setDisplayName(Format.FormatStringAll(args[0]));
|
|
mcp.setNickname(args[0]);
|
|
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Set your nickname to " + Format.FormatStringAll(args[0]));
|
|
if(args[0].length() >= 16) {
|
|
args[0] = args[0].substring(0, 16);
|
|
}
|
|
if(plugin.getConfig().getBoolean("nickname-in-tablist", false)) {
|
|
mcp.getPlayer().setPlayerListName(Format.FormatStringAll(args[0]));
|
|
}
|
|
return;
|
|
}
|
|
if(sender.hasPermission("venturechat.nick.others")) {
|
|
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
|
if(player == null) {
|
|
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
|
|
return;
|
|
}
|
|
if(args[1].equalsIgnoreCase("Off")) {
|
|
player.setNickname(player.getName());
|
|
sender.sendMessage(ChatColor.GOLD + "Removed " + ChatColor.RED + player.getName() + ChatColor.GOLD + "'s nickname.");
|
|
if(player.isOnline()) {
|
|
player.getPlayer().sendMessage(ChatColor.GOLD + "You no longer have a nickname.");
|
|
player.getPlayer().setDisplayName(player.getName());
|
|
String playerName = player.getName();
|
|
if(playerName.length() >= 16) {
|
|
playerName = playerName.substring(0, 16);
|
|
}
|
|
if(plugin.getConfig().getBoolean("nickname-in-tablist", false)) {
|
|
player.getPlayer().setPlayerListName(Format.FormatStringAll(playerName));
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if(!sender.hasPermission("venturechat.nick.bypass")) {
|
|
for(String s : plugin.getConfig().getStringList("nicknames")) {
|
|
if(s.equalsIgnoreCase(args[1])) {
|
|
sender.sendMessage(ChatColor.RED + "You are not allowed to set " + player.getName() + "'s nickname to " + args[1]);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
player.setNickname(args[1]);
|
|
sender.sendMessage(ChatColor.GOLD + "Set " + ChatColor.RED + player.getName() + ChatColor.GOLD + "'s nickname to " + Format.FormatStringAll(args[1]));
|
|
if(player.isOnline()) {
|
|
player.getPlayer().setDisplayName(Format.FormatStringAll(args[1]));
|
|
player.getPlayer().sendMessage(ChatColor.GOLD + "Your nickname has been to set to " + Format.FormatStringAll(args[1]));
|
|
if(args[1].length() >= 16) {
|
|
args[1] = args[1].substring(0, 16);
|
|
}
|
|
if(plugin.getConfig().getBoolean("nickname-in-tablist", false)) {
|
|
player.getPlayer().setPlayerListName(Format.FormatStringAll(args[1]));
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
sender.sendMessage(ChatColor.RED + "You do not have permission to set other players nicknames.");
|
|
return;
|
|
}
|
|
sender.sendMessage(ChatColor.RED + "Invalid command: /nick {player} [nickname]");
|
|
return;
|
|
}
|
|
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
|
}
|
|
} |