Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.darklife12345.nsc.commands;
- import me.darklife12345.nsc.NSC;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.attribute.Attribute;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.jetbrains.annotations.NotNull;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Objects;
- import java.util.UUID;
- public class Heal implements CommandExecutor {
- Map<UUID, Long> cooldown = new HashMap<>();
- private final NSC plugin;
- public Heal(NSC plugin) {
- this.plugin = plugin;
- }
- @Override
- public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
- String specifyPlayer = plugin.getConfig().getString("Specify-Player-Msg");
- String nullPlayer = plugin.getConfig().getString("Target-IsNull");
- long cooldownTime = plugin.getConfig().getLong("Heal-Cooldown");
- String targetMessage = plugin.getConfig().getString("Heal-Console-Msg");
- String newtargetMessage = plugin.getConfig().getString("Heal-Player-Msg");
- String healMessage = plugin.getConfig().getString("Heal-Self-Msg");
- String demo1 = plugin.getConfig().getString("Heal-Sender-Msg");
- String demo2 = plugin.getConfig().getString("Heal-Cooldown-Msg");
- String demo3 = plugin.getConfig().getString("Heal-Sender-Msg");
- String demo4 = plugin.getConfig().getString("Heal-Sender-Msg");
- String demo5 = plugin.getConfig().getString("Heal-Cooldown-Msg");
- // Console
- if (!(sender instanceof Player)) {
- switch (args.length) {
- case 0:
- sender.sendMessage(Objects.requireNonNull(specifyPlayer));
- break;
- case 1:
- Player t = Bukkit.getPlayerExact(args[0]);
- if (!(t == null)) {
- String senderMessage = Objects.requireNonNull(demo1).replace("{player}", t.getName());
- double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
- t.setHealth(health);
- t.sendMessage(colorize(targetMessage));
- sender.sendMessage(colorize(senderMessage));
- } else {
- sender.sendMessage(colorize(nullPlayer));
- }
- }
- // Player
- } else {
- String noPermission = plugin.getConfig().getString("No-Permission");
- Player p = (Player) sender;
- switch (args.length) {
- case 0:
- double playerHealth = Objects.requireNonNull(p.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
- if (!(p.hasPermission("nsc.heal"))) {
- p.sendMessage(colorize(noPermission));
- } else {
- if (!(sender.hasPermission("nsc.heal.exempt"))) {
- if (cooldown.containsKey(p.getUniqueId())) {
- if (cooldown.get(p.getUniqueId()) > System.currentTimeMillis()) {
- long cooldownTimeLeft = (cooldown.get(p.getUniqueId()) - System.currentTimeMillis() / 1000);
- String cooldownMessage = Objects.requireNonNull(demo2).replace("{cooldown}", String.valueOf(cooldownTimeLeft));
- p.sendMessage(colorize(cooldownMessage));
- }
- }
- p.setHealth(playerHealth);
- p.sendMessage(colorize(healMessage));
- cooldown.put(p.getUniqueId(), System.currentTimeMillis() + (cooldownTime * 1000));
- }
- p.setHealth(playerHealth);
- p.sendMessage(colorize(healMessage));
- }
- break;
- case 1:
- Player t = Bukkit.getPlayerExact(args[0]);
- if (!(t == null)) {
- if (!(sender.hasPermission("nsc.heal.exempt"))) {
- if (cooldown.containsKey(p.getUniqueId())) {
- if (cooldown.get(p.getUniqueId()) > System.currentTimeMillis()) {
- long cooldownTimeLeft = (cooldown.get(p.getUniqueId()) - System.currentTimeMillis() / 1000);
- String cooldownMessage = Objects.requireNonNull(demo5).replace("{cooldown}", String.valueOf(cooldownTimeLeft));
- p.sendMessage(colorize(cooldownMessage));
- }
- }
- String senderMessage = Objects.requireNonNull(demo3).replace("{player}", t.getName());
- double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
- t.setHealth(health);
- t.sendMessage(colorize(newtargetMessage));
- sender.sendMessage(colorize(senderMessage));
- cooldown.put(p.getUniqueId(), System.currentTimeMillis() + (cooldownTime * 1000));
- } else {
- String senderMessage = Objects.requireNonNull(demo4).replace("{player}", t.getName());
- double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
- t.setHealth(health);
- t.sendMessage(colorize(newtargetMessage));
- sender.sendMessage(colorize(senderMessage));
- }
- } else {
- sender.sendMessage(colorize(nullPlayer));
- }
- }
- }
- return false;
- }
- public @NotNull String colorize(String msg) {
- return ChatColor.translateAlternateColorCodes('&', msg);
- }
- }
Add Comment
Please, Sign In to add comment