Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.github.adrew1.cityrpchat.Commands;
- import io.github.adrew1.cityrpchat.CityRPChat;
- import io.github.adrew1.cityrpchat.Utils.DataFile;
- import net.luckperms.api.LuckPerms;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.entity.Player;
- import java.util.UUID;
- public class CallsignCommand implements CommandExecutor {
- private final LuckPerms luckPerms;
- public CallsignCommand(LuckPerms luckPerms) {
- this.luckPerms = luckPerms;
- }
- // COMMAND: /callsign <set/remove> <player> <callsign>
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- DataFile classDataFile = new DataFile();
- String prefix = CityRPChat.getPlugin().getConfig().getString("ServerPrefix");
- String noPermMsg = CityRPChat.getPlugin().getConfig().getString("NoPermMsg");
- if (sender instanceof Player) {
- if (sender.hasPermission("cityrp.chat.callsigns")) {
- if (args[0].equalsIgnoreCase("set")) {
- Player target = Bukkit.getPlayer(args[1]);
- if (target == null) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7The target player is not online or does not exist."));
- return true;
- }
- if (args[2] == null) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7Incorrect usage. Use /callsign <set/remove> <player> <callsign>"));
- return true;
- }
- String csStr = args[2];
- UUID targetUUID = target.getUniqueId();
- // set function
- classDataFile.getCallsignMap().put(targetUUID, csStr);
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &7You have set &e" + target.getName() + "&7's callsign to &e" + csStr));
- return true;
- }
- if (args[0].equalsIgnoreCase("remove")) {
- Player target = Bukkit.getPlayer(args[1]);
- String csStr = args[2];
- if (target == null) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7The target player is not online or does not exist."));
- return true;
- }
- if (args[2] == null) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7Incorrect usage. Use /callsign <set/remove> <player> <callsign>"));
- return true;
- }
- UUID targetUUID = target.getUniqueId();
- if (!classDataFile.getCallsignMap().containsKey(targetUUID)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7This user does not have a callsign."));
- return true;
- }
- // remove function
- classDataFile.getCallsignMap().remove(targetUUID, csStr);
- DataFile.getDataFile().getConfigurationSection("callsigns");
- for (String key : DataFile.getDataFile().getConfigurationSection("callsigns" ).getKeys(false)) {
- if (key.equalsIgnoreCase(targetUUID.toString())) {
- ConfigurationSection dataFileSec = DataFile.getDataFile().getConfigurationSection("callsigns." + key);
- String existingCs = dataFileSec.getString("cs");
- dataFileSec.set(key, dataFileSec.getString("cs").replace(existingCs, "null"));
- }
- }
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &7You have removed &e" + target.getName() + "&7's callsign."));
- return true;
- }
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " &cError! &7Incorrect usage. Use /callsign <set/remove> <player> <callsign>"));
- return true;
- }
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + " " + noPermMsg));
- return true;
- }
- CityRPChat.getPlugin().getLogger().severe("You must be a player to run this command!");
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment