Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.death.token;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- import me.realized.tm.api.TMAPI;
- public class TokenWithdraw extends JavaPlugin implements Listener {
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public boolean onCommand(CommandSender s, Command c, String l, String[] args) {
- if(c.getName().equalsIgnoreCase("twithdraw")) {
- Player p = (Player) s;
- if(args.length == 0) {
- p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
- return true;
- }
- if(args.length == 1) {
- try{
- this.withdrawToken(1, Integer.parseInt(args[0]), p);
- }catch(NumberFormatException e){
- p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
- return true;
- }
- }
- else {
- p.sendMessage(ChatColor.RED + "Usage: /twithdraw <amount>");
- return true;
- }
- }
- return true;
- }
- public void withdrawToken(int amount, int tokens, Player p) {
- ItemStack item = new ItemStack(Material.getMaterial(this.getConfig().getString("Token-Item.Material")), amount);
- ItemMeta itemm = item.getItemMeta();
- ArrayList<String> lore = new ArrayList<String>();
- for(String line : getConfig().getStringList("Token-Item.Lore")) {
- lore.add(ChatColor.translateAlternateColorCodes('&', line
- .replace("%amount%", Integer.toString(tokens))
- .replace("%player%", p.getName())));
- }
- itemm.setLore(lore);
- itemm.setDisplayName(Strings.format(this.getConfig().getString("Token-Item.Name")).replace("%amount%", Integer.toString(tokens)));
- item.setItemMeta(itemm);
- if((TMAPI.getTokens(p)-tokens) < 0) {
- p.sendMessage(Strings.format(this.getConfig().getString("messages.token-invalid-message")));
- }
- else {
- p.getInventory().addItem(item);
- TMAPI.removeTokens(p, tokens);
- }
- }
- @EventHandler
- public void tokenRedeem(PlayerInteractEvent e) {
- if(e.getAction() == Action.RIGHT_CLICK_AIR||e.getAction() == Action.RIGHT_CLICK_BLOCK) {
- if(e.getPlayer().getItemInHand().hasItemMeta()) {
- if(e.getPlayer().getItemInHand().getItemMeta().hasDisplayName()) {
- if(e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals(Strings.format(this.getConfig().getString("Token-Item.Name")))) {
- for(String line : e.getPlayer().getItemInHand().getItemMeta().getLore()) {
- if(ChatColor.stripColor(line).startsWith("Amount:")){
- String amount = ChatColor.stripColor(line.replace("Amount: ", ""));
- int amountint = Integer.parseInt(amount);
- TMAPI.addTokens(e.getPlayer(), amountint);
- e.getPlayer().sendMessage(Strings.format(this.getConfig().getString("messages.token-receive-message")
- .replace("%amount%", amount)));
- e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
- if(e.getPlayer().getItemInHand().getAmount() > 1) {
- e.getPlayer().getItemInHand().setAmount(e.getPlayer().getItemInHand().getAmount() - 1);
- }
- else {
- e.getPlayer().getInventory().remove(e.getPlayer().getItemInHand());
- }
- }
- }
- }
- else if(!(e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals(Strings.format(this.getConfig().getString("Token-Item.Name"))))) {
- return;
- }
- else {
- return;
- }
- }
- else {
- return;
- }
- }
- else {
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement