Advertisement
Guest User

Untitled

a guest
May 30th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1. package net.monteven;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6.  
  7. import net.md_5.bungee.api.ChatColor;
  8.  
  9. import org.bukkit.Material;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.block.Action;
  14. import org.bukkit.event.player.PlayerInteractEvent;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.ShapelessRecipe;
  17. import org.bukkit.inventory.meta.ItemMeta;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. public class ItemLoreTag extends JavaPlugin implements Listener {
  21.  
  22.     public final HashMap<Player, ItemStack> itemlore = new HashMap<Player, ItemStack>();
  23.     public final HashMap<Player, String> itemlorename = new HashMap<Player, String>();
  24.  
  25.     public ItemStack LoreTag() {
  26.         ItemStack LoreTag = new ItemStack(Material.NAME_TAG); // Creating ItemStack for Lore Tag, settings metadata below
  27.         ItemMeta lt = LoreTag.getItemMeta();
  28.         lt.setDisplayName(ChatColor.GOLD + "Lore Tag");
  29.         LoreTag.setItemMeta(lt);
  30.         return LoreTag;
  31.     }
  32.  
  33.     @Override
  34.     public void onEnable() {
  35.         getServer().getPluginManager().registerEvents(this, this);
  36.         ShapelessRecipe NAMEtoLORE = new ShapelessRecipe(LoreTag()) // Adding new shapeless recipe for Lore Tag using existing Name Tag
  37.                 .addIngredient(Material.NAME_TAG);
  38.  
  39.         getServer().addRecipe(NAMEtoLORE); // Adding recipe
  40.     }
  41.  
  42.     @Override
  43.     public void onDisable() {
  44.  
  45.     }
  46.  
  47.     @EventHandler
  48.     public void onPlayerInteract(PlayerInteractEvent e) {
  49.         Player p = e.getPlayer();
  50.         Action a = e.getAction();
  51.         if (a == Action.RIGHT_CLICK_AIR && p.getItemInHand().equals(LoreTag()) // If player right clicks air/block with the Lore Tag in hand
  52.                 || a == Action.RIGHT_CLICK_BLOCK
  53.                 && p.getItemInHand().equals(LoreTag())) {
  54.             itemlorename.put(p, p.getItemInHand().getType().name()); // Putting the name of the item in hand (will be slot 1) into a HashMap
  55.             itemlore.put(p, p.getInventory().getItem(1)); // Putting the name of the ItemStack in slot 2 into a HashMap
  56.             ItemStack item = new ItemStack(itemlore.get(p)); // Creating a new ItemStack using the name of the item in slot 2
  57.             ItemMeta il = item.getItemMeta();
  58.             List<String> s = new ArrayList<String>();
  59.             s.add(ChatColor.GRAY + itemlorename.get(p)); // Adding lore to the new ItemStack
  60.             il.setLore(s);
  61.             p.getInventory().setItem(1, item); // Setting the item in slot 2 to the new ItemStack to give it lore.     
  62.             return;
  63.         }
  64.  
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement