Advertisement
Alexisdepris

Trash

Feb 17th, 2020
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.54 KB | None | 0 0
  1. package be.alexisdepris.matouessentials.commands;
  2.  
  3. import org.bukkit.Material;
  4. import org.bukkit.Sound;
  5. import org.bukkit.SoundCategory;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandExecutor;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.command.TabCompleter;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.util.StringUtil;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.Arrays;
  16. import java.util.Collections;
  17. import java.util.List;
  18.  
  19. public class CommandTrash implements CommandExecutor, TabCompleter {
  20.  
  21.     private String error = "§7[§4Erreur§7] ";
  22.     private String warn = "§7[§6Attention§7] ";
  23.     private String success = "§7[§aSuccès§7] ";
  24.  
  25.     @Override
  26.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  27.  
  28.         if (!(sender instanceof Player)) return true;
  29.  
  30.         final Player player = (Player) sender;
  31.  
  32.         if (player.hasPermission("matouessentials.trash")) {
  33.  
  34.             if (args.length == 0) {
  35.                 player.sendMessage(warn + "§eVeuillez vérifier la syntaxe de la commande !");
  36.                 player.sendMessage("§7/§etrash §7<§emainhand§7|§eoffhand§7|§eall§7>");
  37.                 return true;
  38.             }
  39.  
  40.             if (args.length == 1) {
  41.                 if (args[0].equalsIgnoreCase("mainhand")) {
  42.                     ItemStack mainHand = player.getInventory().getItemInMainHand();
  43.  
  44.                     if (mainHand.getType() == Material.AIR) {
  45.                         player.sendMessage(warn + "§eIl n'y a aucun item dans votre main principal !");
  46.                         return true;
  47.                     }
  48.                     trashMainHand(player);
  49.                     playTrashSound(player);
  50.                     player.sendMessage(success + "§2L'item se trouvant dans votre main principal a bien été détruit !");
  51.                 }
  52.  
  53.                 if (args[0].equalsIgnoreCase("offhand")) {
  54.                     ItemStack offHand = player.getInventory().getItemInOffHand();
  55.  
  56.                     if (offHand.getType() == Material.AIR) {
  57.                         player.sendMessage(warn + "§eIl n'y a aucun item dans votre main secondaire");
  58.                         return true;
  59.                     }
  60.  
  61.                     trashOffHand(player);
  62.                     playTrashSound(player);
  63.                     player.sendMessage(success + "§2L'item se trouvant dans votre main secondaire a bien été détruit !");
  64.                 }
  65.  
  66.                 if (args[0].equalsIgnoreCase("all")) {
  67.                     ItemStack mainHand = player.getInventory().getItemInMainHand();
  68.                     ItemStack offHand = player.getInventory().getItemInOffHand();
  69.  
  70.                     if (mainHand.getType() == Material.AIR && offHand.getType() == Material.AIR) {
  71.                         player.sendMessage(warn + "§eAucun items se trouvent dans vos deux mains !");
  72.                         return true;
  73.                     }
  74.  
  75.                     if (mainHand.getType() == Material.AIR || offHand.getType() == Material.AIR) {
  76.                         player.sendMessage(warn + "§eUne de vos deux mains n'a aucun item !");
  77.                         return true;
  78.                     }
  79.  
  80.                     trashAllHand(player);
  81.                     playTrashSound(player);
  82.                     player.sendMessage(success + "§2Les items se trouvant dans vos deux mains ont bien été détruit !");
  83.                 }
  84.             }
  85.  
  86.         } else {
  87.             player.sendMessage(error + "§cVous n'êtes pas autorisé à utiliser cette commande !");
  88.         }
  89.  
  90.         return true;
  91.     }
  92.  
  93.     @Override
  94.     public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
  95.         if (args.length == 1) {
  96.             return StringUtil.copyPartialMatches(args[0], Arrays.asList("mainhand", "offhand", "all"), new ArrayList<>());
  97.         }
  98.         return Collections.emptyList();
  99.     }
  100.  
  101.     private void trashMainHand(Player player) {
  102.         player.getInventory().setItemInMainHand(null);
  103.     }
  104.  
  105.     private void trashOffHand(Player player) {
  106.         player.getInventory().setItemInOffHand(null);
  107.     }
  108.  
  109.     private void trashAllHand(Player player) {
  110.         player.getInventory().setItemInMainHand(null);
  111.         player.getInventory().setItemInOffHand(null);
  112.     }
  113.  
  114.     private void playTrashSound(Player player) {
  115.         player.playSound(player.getLocation(), Sound.ENTITY_GENERIC_BIG_FALL, SoundCategory.MASTER, 1.5F, 0.2F);
  116.         player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_PLACE, SoundCategory.MASTER, 1.2F, 0.5F);
  117.     }
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement