Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.benLewis.bukkitPluginEight;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Effect;
- import org.bukkit.Material;
- 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.player.PlayerInteractEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class walrus extends JavaPlugin implements Listener {
- // #### This is how I am getting the itemstack and its meta data ####
- ItemStack fireCharge = new ItemStack(Material.ENCHANTED_BOOK);
- ItemMeta swordMeta = fireCharge.getItemMeta();
- //logger logs messages/actions to the Console
- Logger myPluginLogger = Bukkit.getLogger();
- //Will activate on server startup
- public void onEnable(){
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- myPluginLogger.info(ChatColor.DARK_RED + "Bukkit Plugin EIGHT has been statted");
- }
- //Will activate on server shutdown
- public void onDisable(){
- myPluginLogger.info(ChatColor.DARK_RED + "Bukkit Plugin EIGHT has been disabled!");
- myPluginLogger.severe(ChatColor.DARK_RED + "SHUTTING DOWN");
- }
- public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args){
- if(theSender instanceof Player){
- Player player = (Player) theSender;
- if(commandLabel.equalsIgnoreCase("gem")){
- ItemStack Gem = new ItemStack(Material.EMERALD);
- Inventory gemInv = Bukkit.createInventory(null, 9, ChatColor.GOLD + "The Gem of Seregon");
- gemInv.addItem(Gem);
- player.openInventory(gemInv);
- // #### This is how I assign it the new metadata and put it in the inv ####
- swordMeta.setDisplayName(ChatColor.AQUA + "Spell: " + ChatColor.DARK_RED + "Fire Charge");
- fireCharge.setItemMeta(swordMeta);
- gemInv.addItem(fireCharge);
- }
- if(commandLabel.equalsIgnoreCase("rename")){
- if(args.length == 1){
- ItemStack hand = player.getItemInHand();
- ItemMeta handMeta = hand.getItemMeta();
- handMeta.setDisplayName(ChatColor.WHITE + args[0]);
- hand.setItemMeta(handMeta);
- }else player.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.GOLD + "SeregonNation" + ChatColor.DARK_AQUA + "] " + ChatColor.GOLD + "Try using" + ChatColor.DARK_AQUA + " /rename <new name>");
- }
- }
- return false;
- }
- // ###############################
- // THIS IS THE BIT I AM WORKING ON
- // ###############################
- //Calls the event handler, and uses the onClick listener
- @SuppressWarnings("deprecation")
- @EventHandler
- public void onClickEvent(PlayerInteractEvent event){
- //this gets a player through the event, not a command
- final Player player = event.getPlayer();
- // #### And this is where I am trying to execute the code if they click with the item in their hand ####
- if(player.getItemInHand().getItemMeta() == swordMeta){
- player.playEffect(player.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
- player.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.GOLD + "SeregonNation" + ChatColor.DARK_AQUA + "] " + ChatColor.GOLD + "" + ChatColor.BOLD + "Your fiery fury has been unleashed!");
- this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- player.playEffect(player.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
- }
- }, 2L);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement