Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.85 KB | None | 0 0
  1. package net.astralnetwork.play;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Material;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.inventory.InventoryClickEvent;
  16. import org.bukkit.inventory.Inventory;
  17. import org.bukkit.inventory.ItemStack;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19.  
  20. public class Gems implements CommandExecutor, Listener{
  21.    
  22.     Main plugin = Main.getPlugin(Main.class);
  23.    
  24.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  25.         if (cmd.getName().equalsIgnoreCase("gems")) {
  26.             if (!(sender instanceof Player)) {
  27.                 if ((args[0].equalsIgnoreCase("add")) && (args.length == 3) && (Bukkit.getServer().getPlayer(args[1]) != null)) {
  28.                     Player getter = Bukkit.getServer().getPlayer(args[1]);
  29.                     long gems = this.plugin.getConfig().getInt("Players." + getter.getUniqueId().toString() + ".Gems");
  30.                     int amount = Integer.parseInt(args[2]);
  31.                     long newamount = gems + amount;
  32.                     this.plugin.getConfig().set("Players." + getter.getUniqueId().toString() + ".Gems", Long.valueOf(newamount));
  33.                     this.plugin.saveConfig();
  34.                     getter.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a+ " + amount + " Gems(s)"));
  35.                     return true;
  36.                 }
  37.             }
  38.             else {
  39.                 Player p = (Player)sender;
  40.                 if (args.length == 0) {
  41.                     long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  42.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7You have " + gems + " Gems"));
  43.                     return true;
  44.                 }
  45.                 if (args[0].equalsIgnoreCase("add")) {
  46.                     if (args.length == 3) {
  47.                         if (p.hasPermission("astralnetwork.gemsgive")) {
  48.                             if (Bukkit.getServer().getPlayer(args[1]) != null) {
  49.                                 if (!args[2].matches("-?\\d+")) {
  50.                                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cIncorrect args &7/gems add <player> <int> "));
  51.                                     return true;
  52.                                 }
  53.                                 Player getter = Bukkit.getServer().getPlayer(args[1]);
  54.                                 long gems = this.plugin.getConfig().getInt("Players." + getter.getUniqueId().toString() + ".Gems");
  55.                                 int amount = Integer.parseInt(args[2]);
  56.                                 long newamount = gems + amount;
  57.                                 this.plugin.getConfig().set("Players." + getter.getUniqueId().toString() + ".Gems", Long.valueOf(newamount));
  58.                                 this.plugin.saveConfig();
  59.                                
  60.                                 p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou added " + amount + " Gems(s) to " + args[1]));
  61.                                 getter.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a+ " + amount + "Gems(s)"));
  62.                                 return true;
  63.                             }
  64.                             p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cThe player is not onlie or does not exist!"));
  65.                             return true;
  66.                         }
  67.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cyou are lacking perms, come back when you have some :)"));
  68.                         return true;
  69.                     }
  70.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cIncorrect args &7/gems add <player> <int>"));
  71.                     return true;
  72.                 }
  73.                 if (args[0].equalsIgnoreCase("shop")) {
  74.                     openMenu(p);
  75.                 } else {
  76.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cUnknown Gem Command &7/gems <shop/add/remove/giveall>!"));
  77.                 }
  78.                 return true;
  79.             }
  80.         }
  81.         return false;
  82.     }
  83.    
  84.     public static void openMenu(Player p) {
  85.         Inventory gui = Bukkit.getServer().createInventory(p, 27, "Gem Shop");
  86.        
  87.            ItemStack rank_1 = new ItemStack(Material.EMERALD, 1);
  88.             ItemMeta rank_1_meta = rank_1.getItemMeta();
  89.             rank_1_meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fAstronaut"));
  90.             List<String> rank_1_lore = Arrays.asList(new String[] {
  91.               ChatColor.translateAlternateColorCodes('&', "&7Upon purchase you gain"),
  92.               ChatColor.translateAlternateColorCodes('&', "&aAstronaut &7rank for &a1 Day"),
  93.               ChatColor.translateAlternateColorCodes('&', "&7 "),
  94.               ChatColor.translateAlternateColorCodes('&', "&7Cost:&a 75 Gems") }
  95.               );
  96.             rank_1_meta.setLore(rank_1_lore);
  97.             rank_1.setItemMeta(rank_1_meta);
  98.            
  99.             ItemStack rank_2 = new ItemStack(Material.EMERALD, 1);
  100.             ItemMeta rank_2_meta = rank_2.getItemMeta();
  101.             rank_2_meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fEarth"));
  102.             List<String> rank_2_lore = Arrays.asList(new String[] {
  103.               ChatColor.translateAlternateColorCodes('&', "&7Upon purchase you gain"),
  104.               ChatColor.translateAlternateColorCodes('&', "&aEarth &7rank for &a1 Day"),
  105.               ChatColor.translateAlternateColorCodes('&', "&7 "),
  106.               ChatColor.translateAlternateColorCodes('&', "&7Cost:&a 375 Gems") }
  107.               );
  108.             rank_2_meta.setLore(rank_2_lore);
  109.             rank_2.setItemMeta(rank_2_meta);
  110.            
  111.             ItemStack rank_3 = new ItemStack(Material.EMERALD, 1);
  112.             ItemMeta rank_3_meta = rank_3.getItemMeta();
  113.             rank_3_meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fSolar"));
  114.             List<String> rank_3_lore = Arrays.asList(new String[] {
  115.               ChatColor.translateAlternateColorCodes('&', "&7Upon purchase you gain"),
  116.               ChatColor.translateAlternateColorCodes('&', "&aSolar &7rank for &a1 Day"),
  117.               ChatColor.translateAlternateColorCodes('&', "&7 "),
  118.               ChatColor.translateAlternateColorCodes('&', "&7Cost:&a 600 Gems") }
  119.               );
  120.             rank_3_meta.setLore(rank_3_lore);
  121.             rank_3.setItemMeta(rank_3_meta);
  122.            
  123.             ItemStack rank_4 = new ItemStack(Material.EMERALD, 1);
  124.             ItemMeta rank_4_meta = rank_4.getItemMeta();
  125.             rank_4_meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fMartian"));
  126.             List<String> rank_4_lore = Arrays.asList(new String[] {
  127.               ChatColor.translateAlternateColorCodes('&', "&7Upon purchase you gain"),
  128.               ChatColor.translateAlternateColorCodes('&', "&aMatian &7rank for &a1 Day"),
  129.               ChatColor.translateAlternateColorCodes('&', "&7 "),
  130.               ChatColor.translateAlternateColorCodes('&', "&7Cost:&a 900 Gems") }
  131.               );           
  132.             rank_4_meta.setLore(rank_4_lore);
  133.             rank_4.setItemMeta(rank_4_meta);
  134.            
  135.             ItemStack rank_5 = new ItemStack(Material.EMERALD, 1);
  136.             ItemMeta rank_5_meta = rank_5.getItemMeta();
  137.             rank_5_meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fMeteor"));
  138.             List<String> rank_5_lore = Arrays.asList(new String[] {
  139.               ChatColor.translateAlternateColorCodes('&', "&7Upon purchase you gain"),
  140.               ChatColor.translateAlternateColorCodes('&', "&aMeteor &7rank for &a1 Day"),
  141.               ChatColor.translateAlternateColorCodes('&', "&7 "),
  142.               ChatColor.translateAlternateColorCodes('&', "&7Cost:&a 1,500 Gems") }
  143.               );
  144.             rank_5_meta.setLore(rank_5_lore);
  145.             rank_5.setItemMeta(rank_5_meta);
  146.            
  147.             gui.setItem(11, rank_1);
  148.             gui.setItem(12, rank_2);
  149.             gui.setItem(13, rank_3);
  150.             gui.setItem(14, rank_4);
  151.             gui.setItem(15, rank_5);
  152.             p.openInventory(gui);
  153.     }
  154.    
  155.     @EventHandler
  156.     public void onClick(InventoryClickEvent e) {
  157.        
  158.         Player p = (Player) e.getWhoClicked();
  159.         Inventory inv = e.getClickedInventory();
  160.         ItemStack item = e.getCurrentItem();
  161.         if (inv == null) {
  162.             return;
  163.         }
  164.         if (e.getInventory().getTitle().contains("Gem Shop")) {
  165.             e.setCancelled(true);
  166.            
  167.             if ((item == null) || (!item.hasItemMeta())) {
  168.                 return;
  169.             }
  170.             if (e.getCurrentItem().getItemMeta().getDisplayName().contains
  171.                     (ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fAstronaut"))) {
  172.                 String rank = "Astronaut";
  173.                 long price = 75;
  174.                 long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  175.                 if (gems >= price) {
  176.                     if (!(p.hasPermission("mines.use.astronaut"))) {
  177.                         long newgems = gems - price;
  178.                         plugin.getConfig().set("Players." + p.getUniqueId().toString() +  ".Gems", newgems);
  179.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou purchesed a temorary " + rank + " rank! It will expire 1 day from now."));
  180.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "lp user " + p.getName() + " group apptemp " + rank + " 1day global");
  181.                     }
  182.                     else {
  183.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cERROR: You already have this rank!"));
  184.                     }
  185.                 }
  186.                 else {
  187.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou need " + price + " gems to buy " + rank));
  188.                 }
  189.             }
  190.             if (e.getCurrentItem().getItemMeta().getDisplayName().contains
  191.                     (ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fEarth"))) {
  192.                 String rank = "Earth";
  193.                 long price = 375;
  194.                 long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  195.                 if (gems >= price) {
  196.                     if (!(p.hasPermission("mines.use.earth"))) {
  197.                         long newgems = gems - price;
  198.                         plugin.getConfig().set("Players." + p.getUniqueId().toString() +  ".Gems", newgems);
  199.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou purchesed a temorary " + rank + " rank! It will expire 1 day from now."));
  200.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "lp user " + p.getName() + " group apptemp " + rank + " 1day global");
  201.                     }
  202.                     else {
  203.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cERROR: You already have this rank!"));
  204.                     }
  205.                 }
  206.                 else {
  207.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou need " + price + " gems to buy " + rank));
  208.                 }
  209.             }
  210.             if (e.getCurrentItem().getItemMeta().getDisplayName().contains
  211.                     (ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fSolar"))) {
  212.                 String rank = "Solar";
  213.                 long price = 600;
  214.                 long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  215.                 if (gems >= price) {
  216.                     if (!(p.hasPermission("mines.use.solar"))) {
  217.                         long newgems = gems - price;
  218.                         plugin.getConfig().set("Players." + p.getUniqueId().toString() +  ".Gems", newgems);
  219.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou purchesed a temorary " + rank + " rank! It will expire 1 day from now."));
  220.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "lp user " + p.getName() + " group apptemp " + rank + " 1day global");
  221.                     }
  222.                     else {
  223.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cERROR: You already have this rank!"));
  224.                     }
  225.                 }
  226.                 else {
  227.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou need " + price + " gems to buy " + rank));
  228.                 }
  229.             }
  230.             if (e.getCurrentItem().getItemMeta().getDisplayName().contains
  231.                     (ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fMartian"))) {
  232.                 String rank = "Martian";
  233.                 long price = 900;
  234.                 long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  235.                 if (gems >= price) {
  236.                     if (!(p.hasPermission("mines.use.martian"))) {
  237.                         long newgems = gems - price;
  238.                         plugin.getConfig().set("Players." + p.getUniqueId().toString() +  ".Gems", newgems);
  239.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou purchesed a temorary " + rank + " rank! It will expire 1 day from now."));
  240.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "lp user " + p.getName() + " group apptemp " + rank + " 1day global");
  241.                     }
  242.                     else {
  243.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cERROR: You already have this rank!"));
  244.                     }
  245.                 }
  246.                 else {
  247.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou need " + price + " gems to buy " + rank));
  248.                 }
  249.             }
  250.             if (e.getCurrentItem().getItemMeta().getDisplayName().contains
  251.                     (ChatColor.translateAlternateColorCodes('&', "&a&lRANK: &fMeteor"))) {
  252.                 String rank = "Meteor";
  253.                 long price = 1500;
  254.                 long gems = this.plugin.getConfig().getInt("Players." + p.getUniqueId().toString() + ".Gems");
  255.                 if (gems >= price) {
  256.                     if (!(p.hasPermission("mines.use.meteor"))) {
  257.                         long newgems = gems - price;
  258.                         plugin.getConfig().set("Players." + p.getUniqueId().toString() +  ".Gems", newgems);
  259.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aYou purchesed a temorary " + rank + " rank! It will expire 1 day from now."));
  260.                         Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "lp user " + p.getName() + " group apptemp " + rank + " 1day global");
  261.                     }
  262.                     else {
  263.                         p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou already have " + rank + " rank!"));
  264.                     }
  265.                 }
  266.                 else {
  267.                     p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou need " + price + " gems to buy " + rank));
  268.                 }
  269.             }
  270.             return;
  271.         }
  272.         return;
  273.     }
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement