NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

commit f06475d62b83ee0de0b3fbc1a74a40e8be1df116
parent b0d6a768ae16b12229dcc2db572495abcafab5aa
Author: NK <[email protected]>
Date:   Mon, 28 Nov 2022 22:52:00 +0000

permissions for adding role

Diffstat:
Msrc/main/java/me/night/nullvalkyrie/commands/RankCommand.java | 59++++++++++++++++++++---------------------------------------
Msrc/main/java/me/night/nullvalkyrie/ui/AnimatedSideBar.java | 1-
Msrc/main/resources/plugin.yml | 2++
3 files changed, 22 insertions(+), 40 deletions(-)

diff --git a/src/main/java/me/night/nullvalkyrie/commands/RankCommand.java b/src/main/java/me/night/nullvalkyrie/commands/RankCommand.java @@ -1,8 +1,6 @@ package me.night.nullvalkyrie.commands; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import me.night.nullvalkyrie.database.ranks.RankManager; +import me.night.nullvalkyrie.database.RankDataManager; import me.night.nullvalkyrie.ui.Rank; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -13,8 +11,6 @@ import org.bukkit.util.StringUtil; import java.util.ArrayList; import java.util.List; -import java.util.UUID; -import java.util.concurrent.TimeUnit; public class RankCommand extends Command { @@ -23,48 +19,33 @@ public class RankCommand extends Command { "rank", new String[]{}, "Set rank of players", - "" + "nv.rank.add" ); } - private final Cache<UUID, Long> cooldown = CacheBuilder.newBuilder().expireAfterWrite(5, TimeUnit.SECONDS).build(); - @Override public void onCommand(CommandSender sender, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if (!cooldown.asMap().containsKey(player.getUniqueId())) { - if (!player.isOp()) { - player.sendMessage(ChatColor.RED + "You must be server operator to use this command"); - return; - } - if (args.length == 2) { - if (Bukkit.getOfflinePlayer(args[0]).hasPlayedBefore()) { - OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]); - for (Rank rank : Rank.values()) { - if (rank.name().equalsIgnoreCase(args[1])) { - RankManager.setRank(target.getUniqueId(), rank); - player.sendMessage(ChatColor.GREEN + "You changed " + target.getName() + "'s rank to " + rank.getDisplay()); - if (target.isOnline()) { - target.getPlayer().sendMessage(ChatColor.GREEN + player.getName() + " set your rank to " + rank.getDisplay()); - } - return; - } - + if (sender instanceof Player player) { + if (!player.isOp()) { + player.sendMessage(ChatColor.RED + "You must be server operator to use this command"); + return; + } + if (args.length == 2) { + if (Bukkit.getOfflinePlayer(args[0]).hasPlayedBefore()) { + OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]); + for (Rank rank : Rank.values()) { + if (rank.name().equalsIgnoreCase(args[1])) { + RankDataManager.setRank(target.getUniqueId(), rank); + player.sendMessage(ChatColor.GREEN + "You changed " + target.getName() + "'s rank to " + rank.getDisplay()); + if (target.isOnline()) + target.getPlayer().sendMessage(ChatColor.GREEN + player.getName() + " set your rank to " + rank.getDisplay()); + return; } - player.sendMessage(ChatColor.RED + "Invalid Rank, please specify a valid rank, ROOKIE, SPECIAL, ADMIN, OWNER"); - } else { - player.sendMessage("This player has never played in this server before!"); } - } else { - player.sendMessage(ChatColor.RED + "Invalid parameter, use /rank <Player> <Rank>"); - } - cooldown.put(player.getUniqueId(), System.currentTimeMillis() + 5000); - } else { - long distance = cooldown.asMap().get(player.getUniqueId()) - System.currentTimeMillis(); - player.sendMessage(ChatColor.RED + "You are on a " + TimeUnit.MILLISECONDS.toSeconds(distance) + " seconds cooldown to use the command again"); - } + player.sendMessage(ChatColor.RED + "Invalid Rank, please specify a valid rank, ROOKIE, SPECIAL, ADMIN, OWNER"); + } else player.sendMessage("This player has never played in this server before!"); + } else player.sendMessage(ChatColor.RED + "Invalid parameter, use /rank <Player> <Rank>"); } } diff --git a/src/main/java/me/night/nullvalkyrie/ui/AnimatedSideBar.java b/src/main/java/me/night/nullvalkyrie/ui/AnimatedSideBar.java @@ -9,7 +9,6 @@ import java.util.UUID; public class AnimatedSideBar { private static final Map<UUID, Integer> Tasks = new HashMap<>(); private final UUID uuid; - public AnimatedSideBar(UUID uuid) { this.uuid = uuid; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml @@ -9,5 +9,7 @@ depend: [ProtocolLib] permissions: nv.command.use: default: true + nv.rank.add: + default: op libraries: - "io.github.cdimascio:dotenv-java:2.3.1"