Guest User

Untitled

a guest
Jul 12th, 2022
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.20 KB | None | 0 0
  1. package me.darklife12345.nsc.commands;
  2.  
  3. import me.darklife12345.nsc.NSC;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.attribute.Attribute;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.jetbrains.annotations.NotNull;
  12.  
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. import java.util.Objects;
  16. import java.util.UUID;
  17.  
  18. public class Heal implements CommandExecutor {
  19.     Map<UUID, Long> cooldown = new HashMap<>();
  20.     private final NSC plugin;
  21.  
  22.     public Heal(NSC plugin) {
  23.         this.plugin = plugin;
  24.     }
  25.  
  26.     @Override
  27.     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
  28.         String specifyPlayer = plugin.getConfig().getString("Specify-Player-Msg");
  29.         String nullPlayer = plugin.getConfig().getString("Target-IsNull");
  30.         long cooldownTime = plugin.getConfig().getLong("Heal-Cooldown");
  31.         String targetMessage = plugin.getConfig().getString("Heal-Console-Msg");
  32.         String newtargetMessage = plugin.getConfig().getString("Heal-Player-Msg");
  33.         String healMessage = plugin.getConfig().getString("Heal-Self-Msg");
  34.         String demo1 = plugin.getConfig().getString("Heal-Sender-Msg");
  35.         String demo2 = plugin.getConfig().getString("Heal-Cooldown-Msg");
  36.         String demo3 = plugin.getConfig().getString("Heal-Sender-Msg");
  37.         String demo4 = plugin.getConfig().getString("Heal-Sender-Msg");
  38.         String demo5 = plugin.getConfig().getString("Heal-Cooldown-Msg");
  39.         // Console
  40.         if (!(sender instanceof Player)) {
  41.             switch (args.length) {
  42.                 case 0:
  43.                     sender.sendMessage(Objects.requireNonNull(specifyPlayer));
  44.                     break;
  45.                 case 1:
  46.                     Player t = Bukkit.getPlayerExact(args[0]);
  47.                     if (!(t == null)) {
  48.                         String senderMessage = Objects.requireNonNull(demo1).replace("{player}", t.getName());
  49.                         double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
  50.                         t.setHealth(health);
  51.                         t.sendMessage(colorize(targetMessage));
  52.                         sender.sendMessage(colorize(senderMessage));
  53.                     } else {
  54.                         sender.sendMessage(colorize(nullPlayer));
  55.                     }
  56.             }
  57.             // Player
  58.         } else {
  59.             String noPermission = plugin.getConfig().getString("No-Permission");
  60.             Player p = (Player) sender;
  61.             switch (args.length) {
  62.                 case 0:
  63.  
  64.                     double playerHealth = Objects.requireNonNull(p.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
  65.                     if (!(p.hasPermission("nsc.heal"))) {
  66.                         p.sendMessage(colorize(noPermission));
  67.                     } else {
  68.                         if (!(sender.hasPermission("nsc.heal.exempt"))) {
  69.                             if (cooldown.containsKey(p.getUniqueId())) {
  70.                                 if (cooldown.get(p.getUniqueId()) > System.currentTimeMillis()) {
  71.                                     long cooldownTimeLeft = (cooldown.get(p.getUniqueId()) - System.currentTimeMillis() / 1000);
  72.                                     String cooldownMessage = Objects.requireNonNull(demo2).replace("{cooldown}", String.valueOf(cooldownTimeLeft));
  73.                                     p.sendMessage(colorize(cooldownMessage));
  74.                                 }
  75.                             }
  76.                             p.setHealth(playerHealth);
  77.                             p.sendMessage(colorize(healMessage));
  78.                             cooldown.put(p.getUniqueId(), System.currentTimeMillis() + (cooldownTime * 1000));
  79.                         }
  80.                         p.setHealth(playerHealth);
  81.                         p.sendMessage(colorize(healMessage));
  82.                     }
  83.                     break;
  84.                 case 1:
  85.                     Player t = Bukkit.getPlayerExact(args[0]);
  86.                     if (!(t == null)) {
  87.                         if (!(sender.hasPermission("nsc.heal.exempt"))) {
  88.                             if (cooldown.containsKey(p.getUniqueId())) {
  89.                                 if (cooldown.get(p.getUniqueId()) > System.currentTimeMillis()) {
  90.                                     long cooldownTimeLeft = (cooldown.get(p.getUniqueId()) - System.currentTimeMillis() / 1000);
  91.                                     String cooldownMessage = Objects.requireNonNull(demo5).replace("{cooldown}", String.valueOf(cooldownTimeLeft));
  92.                                     p.sendMessage(colorize(cooldownMessage));
  93.                                 }
  94.                             }
  95.                             String senderMessage = Objects.requireNonNull(demo3).replace("{player}", t.getName());
  96.                             double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
  97.                             t.setHealth(health);
  98.                             t.sendMessage(colorize(newtargetMessage));
  99.                             sender.sendMessage(colorize(senderMessage));
  100.                             cooldown.put(p.getUniqueId(), System.currentTimeMillis() + (cooldownTime * 1000));
  101.                         } else {
  102.                             String senderMessage = Objects.requireNonNull(demo4).replace("{player}", t.getName());
  103.                             double health = Objects.requireNonNull(t.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue();
  104.                             t.setHealth(health);
  105.                             t.sendMessage(colorize(newtargetMessage));
  106.                             sender.sendMessage(colorize(senderMessage));
  107.                         }
  108.                     } else {
  109.                         sender.sendMessage(colorize(nullPlayer));
  110.                     }
  111.             }
  112.         }
  113.         return false;
  114.     }
  115.  
  116.     public @NotNull String colorize(String msg) {
  117.         return ChatColor.translateAlternateColorCodes('&', msg);
  118.     }
  119. }
  120.  
Add Comment
Please, Sign In to add comment