Advertisement
Guest User

Untitled

a guest
Jul 24th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.87 KB | None | 0 0
  1. package me.death.token;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.Sound;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.Action;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.meta.ItemMeta;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. import me.realized.tm.api.TMAPI;
  21.  
  22. public class TokenWithdraw extends JavaPlugin implements Listener {
  23.     public void onEnable() {
  24.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  25.     }
  26.     @Override
  27.     public boolean onCommand(CommandSender s, Command c, String l, String[] args) {
  28.         if(c.getName().equalsIgnoreCase("twithdraw")) {
  29.             Player p = (Player) s;
  30.             if(args.length == 0) {
  31.                 p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
  32.                 return true;
  33.             }
  34.             if(args.length == 1) {
  35.                 try{
  36.                     this.withdrawToken(1, Integer.parseInt(args[0]), p);
  37.                 }catch(NumberFormatException e){
  38.                     p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
  39.                     return true;
  40.  
  41.                 }
  42.             }
  43.             else {
  44.                 p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
  45.                 return true;
  46.             }
  47.         }
  48.         return true;
  49.     }
  50.     public void withdrawToken(int amount, int tokens, Player p) {
  51.  
  52.         ItemStack item = new ItemStack(Material.getMaterial(this.getConfig().getString("Token-Item.Material")), amount);
  53.  
  54.         ItemMeta itemm = item.getItemMeta();
  55.         ArrayList<String> lore = new ArrayList<String>();
  56.         for(String line : getConfig().getStringList("Token-Item.Lore")) {
  57.             lore.add(ChatColor.translateAlternateColorCodes('&', line
  58.                     .replace("%amount%", Integer.toString(tokens))
  59.                     .replace("%player%", p.getName())));
  60.         }
  61.         itemm.setLore(lore);
  62.         itemm.setDisplayName(Strings.format(this.getConfig().getString("Token-Item.Name")).replace("%amount%", Integer.toString(tokens)));
  63.         item.setItemMeta(itemm);
  64.         if((TMAPI.getTokens(p)-tokens) < 0) {
  65.             p.sendMessage(Strings.format(this.getConfig().getString("messages.token-invalid-message")));
  66.  
  67.         }
  68.         else {
  69.             p.getInventory().addItem(item);
  70.             TMAPI.removeTokens(p, tokens);
  71.         }
  72.  
  73.     }
  74.     @EventHandler
  75.     public void tokenRedeem(PlayerInteractEvent e) {
  76.         if(e.getAction() == Action.RIGHT_CLICK_AIR||e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  77.             if(e.getPlayer().getItemInHand().hasItemMeta()) {
  78.                 if(e.getPlayer().getItemInHand().getItemMeta().hasDisplayName()) {
  79.                     if(e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals(Strings.format(this.getConfig().getString("Token-Item.Name")))) {
  80.                         for(String line : e.getPlayer().getItemInHand().getItemMeta().getLore()) {
  81.                             if(ChatColor.stripColor(line).startsWith("Amount:")){
  82.  
  83.                                 String amount = ChatColor.stripColor(line.replace("Amount: ", ""));
  84.  
  85.                                 int amountint = Integer.parseInt(amount);
  86.                                 TMAPI.addTokens(e.getPlayer(), amountint);
  87.                                 e.getPlayer().sendMessage(Strings.format(this.getConfig().getString("messages.token-receive-message")
  88.                                         .replace("%amount%", amount)));
  89.                                 e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
  90.                                 if(e.getPlayer().getItemInHand().getAmount() > 1) {
  91.                                     e.getPlayer().getItemInHand().setAmount(e.getPlayer().getItemInHand().getAmount() - 1);
  92.                                 }
  93.                                 else {
  94.                                     e.getPlayer().getInventory().remove(e.getPlayer().getItemInHand());
  95.                                 }
  96.                             }
  97.  
  98.                         }
  99.                     }
  100.                     else if(!(e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals(Strings.format(this.getConfig().getString("Token-Item.Name"))))) {
  101.                         return;
  102.                     }
  103.                     else {
  104.                         return;
  105.                     }
  106.                 }
  107.                 else {
  108.                     return;
  109.                 }
  110.             }
  111.             else {
  112.                 return;
  113.             }
  114.         }
  115.     }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement