Advertisement
Guest User

CustomEnchants command class

a guest
Jun 28th, 2016
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.82 KB | None | 0 0
  1. package net.devasion.customenchants.Commands;
  2.  
  3. import java.util.Arrays;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.inventory.Inventory;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.inventory.meta.ItemMeta;
  15.  
  16. import adx.audioxd.customenchantmentapi.EnchantmentRegistry;
  17. import net.devasion.customenchants.Core;
  18. import net.md_5.bungee.api.chat.ClickEvent;
  19. import net.md_5.bungee.api.chat.ComponentBuilder;
  20. import net.md_5.bungee.api.chat.HoverEvent;
  21. import net.md_5.bungee.api.chat.TranslatableComponent;
  22.  
  23. public class CustomEnchant implements CommandExecutor {
  24.  
  25.     public static void showMainGUI(Player p) {
  26.         Inventory mainGUI = Bukkit.getServer().createInventory(null, 9, ChatColor.DARK_PURPLE + "Custom Enchants");
  27.  
  28.         p.openInventory(mainGUI);
  29.  
  30.         ItemStack t = new ItemStack(Material.REDSTONE_COMPARATOR);
  31.         ItemStack s = new ItemStack(Material.BOOK);
  32.  
  33.         ItemMeta tm = t.getItemMeta();
  34.         ItemMeta sm = s.getItemMeta();
  35.  
  36.         tm.setDisplayName(ChatColor.RED + "Settings");
  37.         sm.setDisplayName(ChatColor.RED + "Enchantments");
  38.  
  39.         tm.setLore(Arrays.asList(ChatColor.BLUE + "Customize Settings"));
  40.         sm.setLore(Arrays.asList(ChatColor.BLUE + "View A List of Enchantments"));
  41.  
  42.         t.setItemMeta(tm);
  43.         s.setItemMeta(sm);
  44.  
  45.         mainGUI.setItem(2, t);
  46.         mainGUI.setItem(6, s);
  47.     }
  48.  
  49.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  50.  
  51.         if (label.equalsIgnoreCase("ce") || label.equalsIgnoreCase("customenchants")) {
  52.                 Player p = (Player) sender;
  53.                 p.sendMessage(ChatColor.RED + "-------- " + ChatColor.BLUE + "[Custom Enchants]" + ChatColor.RED + " --------");
  54.                
  55.                 TranslatableComponent enchantCMD = new TranslatableComponent("§7/ce enchant <Enchantment Name> <Level>");
  56.                 enchantCMD.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§5Enchant current weapon/armor in hand").create()));
  57.                 enchantCMD.setClickEvent( new ClickEvent( ClickEvent.Action.SUGGEST_COMMAND, "/ce enchant <Enchantment Name> <Level>" ) );
  58.                
  59.                
  60.                 TranslatableComponent listCMD = new TranslatableComponent("§7/ce list");
  61.                 listCMD.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§3Shows a List of avaliable enchantments.").create()));
  62.                 listCMD.setClickEvent( new ClickEvent( ClickEvent.Action.SUGGEST_COMMAND, "/ce list" ) );
  63.                
  64.                
  65.                 TranslatableComponent guiCMD = new TranslatableComponent("§7/ce gui");
  66.                 guiCMD.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4Opens the gui").create()));
  67.                 guiCMD.setClickEvent( new ClickEvent( ClickEvent.Action.SUGGEST_COMMAND, "/ce gui" ) );
  68.                
  69.                 p.spigot().sendMessage(enchantCMD);
  70.                
  71.                 p.spigot().sendMessage(listCMD);
  72.                
  73.                 p.spigot().sendMessage(guiCMD);
  74.                
  75.                 if (args.length == 1 || args.length == 3) {
  76.                     if (args[0].equalsIgnoreCase("gui")) {
  77.                         showMainGUI(p);
  78.                         return true;
  79.                     }
  80.                     if (args[0].equalsIgnoreCase("list")) {
  81.                         p.sendMessage(ChatColor.RED + "-------- " + ChatColor.BLUE + "[Custom Enchants]" + ChatColor.RED
  82.                                 + " --------");
  83.                         showList(p);
  84.                         return true;
  85.                     }
  86.                     if (args[0].equalsIgnoreCase("enchant")) {
  87.                         int i = Integer.parseInt(args[2]);
  88.                         if (args[2].length() > 10) {
  89.                             p.sendMessage(ChatColor.RED + "You cannot enchant over level 10");
  90.                             return true;
  91.                         }
  92.                         if (args[1].equalsIgnoreCase("test")) {
  93.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.TEST, i, true, true);
  94.                             return true;
  95.                         }
  96.                         if (args[1].equalsIgnoreCase("ironskin")) {
  97.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.IronSkin, i, true, true);
  98.                             return true;
  99.                         }
  100.                         if (args[1].equalsIgnoreCase("explosivetouch")) {
  101.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.ExplosiveTouch, i, true, true);
  102.                             return true;
  103.                         }
  104.                         if (args[1].equalsIgnoreCase("demolition")) {
  105.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.Demolition, i, true, true);
  106.                             return true;
  107.                         }
  108.                         if (args[1].equalsIgnoreCase("chaotic")) {
  109.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.Chaotic, i, true, true);
  110.                             return true;
  111.                         }
  112.                         if (args[1].equalsIgnoreCase("stormweaver")) {
  113.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.Stormweaver, i, true, true);
  114.                             return true;
  115.                         }
  116.                         if (args[1].equalsIgnoreCase("exodia")) {
  117.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.Exodia, i, true, true);
  118.                             return true;
  119.                         }
  120.                         if (args[1].equalsIgnoreCase("judgment")) {
  121.                             EnchantmentRegistry.enchant(p.getItemInHand(), Core.Judgment, i, true, true);
  122.                             return true;
  123.                         }
  124.                     }
  125.                 }
  126.             }  
  127.         return false;
  128.         }
  129.        
  130.  
  131.     public void showList(Player p) {
  132.         TranslatableComponent et = new TranslatableComponent("§4Explosive Touch");
  133.         et.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Pickaxe Enchant ----\n§550% §7Chance of causing a explosion making mining faster.").create()));
  134.  
  135.         TranslatableComponent is = new TranslatableComponent("§fIron Skin");
  136.         is.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Armor Enchant ----\n§cHealth Boost & Resistance Modifier based on level").create()));
  137.  
  138.         TranslatableComponent d = new TranslatableComponent("§eDemolition");
  139.         d.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Tool Enchant ----\n§b50% §eof dropping 2 instead of 1 When Mining + §6haste modifier.").create()));
  140.  
  141.         TranslatableComponent cc = new TranslatableComponent("§6Chaotic");
  142.         cc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Weapons Enchant ----\n§l§425% chance of giving Blindness, Slowness and Wither all at once to the oppenent.").create()));
  143.  
  144.         TranslatableComponent sw = new TranslatableComponent("§5Stormweaver");
  145.         sw.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Weapons Enchant ----\n§lYour sword, axe or bow will have a §525% chance of casting out lighting paralyzing your enemy and blinding them.").create()));
  146.  
  147.         TranslatableComponent ea = new TranslatableComponent("§aExodia");
  148.         ea.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§4---- Weapons Enchant ----\n§3This enchantment has a chance §65% to 1-hit-KO your opponent while you're shifting.").create()));
  149.        
  150.        
  151.         p.spigot().sendMessage(et);
  152.         p.spigot().sendMessage(is);
  153.         p.spigot().sendMessage(d);
  154.         p.spigot().sendMessage(cc);
  155.         p.spigot().sendMessage(sw);
  156.         p.spigot().sendMessage(ea);
  157.        
  158.        
  159.     }
  160.  
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement