Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.monteven;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import net.md_5.bungee.api.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.ShapelessRecipe;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class ItemLoreTag extends JavaPlugin implements Listener {
- public final HashMap<Player, ItemStack> itemlore = new HashMap<Player, ItemStack>();
- public final HashMap<Player, String> itemlorename = new HashMap<Player, String>();
- public ItemStack LoreTag() {
- ItemStack LoreTag = new ItemStack(Material.NAME_TAG); // Creating ItemStack for Lore Tag, settings metadata below
- ItemMeta lt = LoreTag.getItemMeta();
- lt.setDisplayName(ChatColor.GOLD + "Lore Tag");
- LoreTag.setItemMeta(lt);
- return LoreTag;
- }
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- ShapelessRecipe NAMEtoLORE = new ShapelessRecipe(LoreTag()) // Adding new shapeless recipe for Lore Tag using existing Name Tag
- .addIngredient(Material.NAME_TAG);
- getServer().addRecipe(NAMEtoLORE); // Adding recipe
- }
- @Override
- public void onDisable() {
- }
- @EventHandler
- public void onPlayerInteract(PlayerInteractEvent e) {
- Player p = e.getPlayer();
- Action a = e.getAction();
- if (a == Action.RIGHT_CLICK_AIR && p.getItemInHand().equals(LoreTag()) // If player right clicks air/block with the Lore Tag in hand
- || a == Action.RIGHT_CLICK_BLOCK
- && p.getItemInHand().equals(LoreTag())) {
- itemlorename.put(p, p.getItemInHand().getType().name()); // Putting the name of the item in hand (will be slot 1) into a HashMap
- itemlore.put(p, p.getInventory().getItem(1)); // Putting the name of the ItemStack in slot 2 into a HashMap
- ItemStack item = new ItemStack(itemlore.get(p)); // Creating a new ItemStack using the name of the item in slot 2
- ItemMeta il = item.getItemMeta();
- List<String> s = new ArrayList<String>();
- s.add(ChatColor.GRAY + itemlorename.get(p)); // Adding lore to the new ItemStack
- il.setLore(s);
- p.getInventory().setItem(1, item); // Setting the item in slot 2 to the new ItemStack to give it lore.
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement