EXP to EXPBottle

Discussion in 'Plugin Development' started by GamingShades, Jul 22, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    GamingShades

    Code:
    package com.valaiyar.blatantxp;
    
    import java.util.Arrays;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    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;
    
    public class main extends JavaPlugin implements Listener{
       
       public void onEnable(){
         Bukkit.getPluginManager().registerEvents(this, this);
       }
       
       @EventHandler
       public void onRightClick(PlayerInteractEvent event){
         Action action = event.getAction();
         Player player = event.getPlayer();
         
         
         if (action == Action.RIGHT_CLICK_AIR || action == Action.RIGHT_CLICK_BLOCK){
           
           
    
           
           if (player.getItemInHand().getType() == Material.GLASS_BOTTLE){
             int level = player.getLevel();
             ItemStack xpb = new ItemStack(Material.EXP_BOTTLE);
             ItemMeta meta = xpb.getItemMeta();
             meta.setLore(Arrays.asList(ChatColor.GOLD + "" + ChatColor.BOLD +  "Contains :" + ChatColor.RESET + "" + ChatColor.GREEN + level + " levels)"));
             meta.setDisplayName(ChatColor.GOLD + "Experience Bottle (" + ChatColor.RESET + "" + ChatColor.GREEN + "alevels" + ChatColor.RESET + "" + ChatColor.GOLD + "" + ChatColor.BOLD);
             xpb.setItemMeta(meta);
             player.getInventory().addItem(xpb);
             player.setLevel(0);
             player.getInventory().remove(Material.GLASS_BOTTLE);
           
             }
           
             int level = player.getLevel();
             ItemStack xpb = new ItemStack(Material.EXP_BOTTLE);
             ItemMeta meta = xpb.getItemMeta();
             meta.setLore(Arrays.asList(ChatColor.GOLD + "" + ChatColor.BOLD +  "Contains :" + ChatColor.RESET + "" + ChatColor.GREEN + level + " levels)"));
             meta.setDisplayName(ChatColor.GOLD + "Experience Bottle (" + ChatColor.RESET + "" + ChatColor.GREEN + "alevels" + ChatColor.RESET + "" + ChatColor.GOLD + "" + ChatColor.BOLD);
             xpb.setItemMeta(meta);
             ItemStack gb = new ItemStack(Material.GLASS_BOTTLE);
           
           
           if (player.getItemInHand() == xpb){
             player.getInventory().addItem(gb);
             player.setLevel(0);  //TODO
             player.getInventory().remove(xpb);
             }
           
           }
         
         
         }
    
       }
    
    
    
    
    
    the //TODO place is where I need to put something that is an int, but gets the lore of the xpb item, specifically the "level" part in the lore.

    translation to actual english: I need a way to find out what the number/int "level" is in the lore, so I can return the amount of exp to the player if they right click with the exp bottle.
     
    Last edited: Jul 22, 2015
  2. Offline

    DoggyCode™

    Umm..
    Code:
    int i = Integer.parseInt(player.getItemInHand().getItemMeta().getLore());
    
    ?
     
Thread Status:
Not open for further replies.

Share This Page