make nlpp work

This commit is contained in:
okx-code
2025-09-29 00:58:31 +01:00
parent eb1a0b154f
commit 6ffe71e588
2 changed files with 23 additions and 19 deletions

View File

@@ -10,6 +10,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import vg.civcraft.mc.namelayer.database.GroupManagerDao;
import vg.civcraft.mc.namelayer.events.GroupCreateEvent;
@@ -587,7 +588,7 @@ public class GroupManager {
return ranks.toString();
}
public static void displayPlayerTypes(Player p) {
public static void displayPlayerTypes(CommandSender p) {
p.sendMessage(ChatColor.RED
+ "That PlayerType does not exist.\n"
+ "The current types are: " + getStringOfTypes());

View File

@@ -8,6 +8,8 @@ import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import vg.civcraft.mc.namelayer.GroupManager.PlayerType;
import vg.civcraft.mc.namelayer.NameAPI;
@@ -22,20 +24,19 @@ public class PromotePlayer extends BaseCommandMiddle {
@Syntax("<group> <player> <rank>")
@Description("Promote/Demote a Player in a Group")
@CommandCompletion("@NL_Groups @allplayers @NL_Ranks")
public void execute(Player sender, String groupName, String playerName, String playerType) {
Player p = (Player) sender;
UUID executor = NameAPI.getUUID(p.getName());
public void execute(CommandSender sender, String groupName, String playerName, String playerType) {
final boolean isAdmin = sender instanceof ConsoleCommandSender || sender.hasPermission("namelayer.admin");
UUID executor = sender instanceof Player p ? NameAPI.getUUID(p.getName()) : null;
UUID promotee = NameAPI.getUUID(playerName);
if (promotee == null) {
p.sendMessage(ChatColor.RED + "That player does not exist");
sender.sendMessage(ChatColor.RED + "That player does not exist");
return;
}
if (promotee.equals(executor)) {
p.sendMessage(ChatColor.RED + "You cannot promote yourself");
sender.sendMessage(ChatColor.RED + "You cannot promote yourself");
return;
}
@@ -44,26 +45,28 @@ public class PromotePlayer extends BaseCommandMiddle {
return;
}
if (group.isDisciplined()) {
p.sendMessage(ChatColor.RED + "This group is disiplined.");
sender.sendMessage(ChatColor.RED + "This group is disiplined.");
return;
}
PlayerType promoteecurrentType = group.getPlayerType(promotee);
PlayerType promoteeType = PlayerType.getPlayerType(playerType);
if (promoteeType == null) {
PlayerType.displayPlayerTypes(p);
PlayerType.displayPlayerTypes(sender);
return;
}
if (promoteeType == PlayerType.NOT_BLACKLISTED) {
p.sendMessage(ChatColor.RED + "Nice try");
sender.sendMessage(ChatColor.RED + "Nice try");
return;
}
PlayerType t = group.getPlayerType(executor); // playertype for the player running the command.
if (!isAdmin) {
PlayerType t = group.getPlayerType(executor); // playertype for the player running the command.
if (t == null) {
p.sendMessage(ChatColor.RED + "You are not on that group.");
return;
if (t == null) {
sender.sendMessage(ChatColor.RED + "You are not on that group.");
return;
}
}
boolean allowed = false;
@@ -86,7 +89,7 @@ public class PromotePlayer extends BaseCommandMiddle {
}
if (!allowed) {
p.sendMessage(ChatColor.RED + "You do not have permissions to promote to this rank");
sender.sendMessage(ChatColor.RED + "You do not have permissions to promote to this rank");
return;
}
if (promoteecurrentType != null) {
@@ -112,12 +115,12 @@ public class PromotePlayer extends BaseCommandMiddle {
}
if (!allowed || !group.isMember(promotee)) { //can't edit a player who isn't in the group
p.sendMessage(ChatColor.RED + NameAPI.getCurrentName(promotee) + " is not a member of this group or you do not have permission to edit their rank");
sender.sendMessage(ChatColor.RED + NameAPI.getCurrentName(promotee) + " is not a member of this group or you do not have permission to edit their rank");
return;
}
if (group.isOwner(promotee)) {
p.sendMessage(ChatColor.RED + "That player owns the group, you cannot "
sender.sendMessage(ChatColor.RED + "That player owns the group, you cannot "
+ "demote the player.");
return;
}
@@ -132,7 +135,7 @@ public class PromotePlayer extends BaseCommandMiddle {
}
group.removeMember(promotee);
group.addMember(promotee, promoteeType);
p.sendMessage(ChatColor.GREEN + NameAPI.getCurrentName(promotee) + " has been added as (PlayerType) " +
sender.sendMessage(ChatColor.GREEN + NameAPI.getCurrentName(promotee) + " has been added as (PlayerType) " +
promoteeType.toString() + " in (Group) " + group.getName());
oProm.sendMessage(ChatColor.GREEN + "You have been promoted to (PlayerType) " +
promoteeType.toString() + " in (Group) " + group.getName());
@@ -140,7 +143,7 @@ public class PromotePlayer extends BaseCommandMiddle {
//player is offline change their perms
group.removeMember(promotee);
group.addMember(promotee, promoteeType);
p.sendMessage(ChatColor.GREEN + NameAPI.getCurrentName(promotee) + " has been added as (PlayerType) " +
sender.sendMessage(ChatColor.GREEN + NameAPI.getCurrentName(promotee) + " has been added as (PlayerType) " +
promoteeType.toString() + " in (Group) " + group.getName());
}
}