Solved Right Click Player Event

Discussion in 'Plugin Development' started by Chr0mosom3, Jan 30, 2019.

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

    Chr0mosom3

    Hello there!

    I was wondering if someone could help with a part of my plugin. I am trying to make it so when a player right clicks another player with an Iron Sword it would send them flying backward. I am facing an issue tho. I do not know how to check if a player right clicked another player or if the player just right clicked the air/a block. This is my code:

    Code:
    package Kits;
    
    import java.util.ArrayList;
    
    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.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    public class Falcon implements Listener {
       
        // Item Creation
        public static void createDisplay(ItemStack Material, Inventory inv, int Slot, String name, String lore)
        {
            ItemStack item = Material;
            ItemMeta meta = item.getItemMeta();
            meta.setDisplayName(name);
            ArrayList<String> Lore = new ArrayList<String>();
            Lore.add(lore);
            meta.setLore(Lore);
            item.setItemMeta(meta);
                    
            inv.setItem(Slot, item);
        }
       
        public static void giveKit(Player player) {
            Inventory playerInv = player.getInventory();
            playerInv.clear();
           
            createDisplay(new ItemStack(Material.IRON_SWORD, 1), playerInv, 0, ChatColor.WHITE + "Iron Sword", ChatColor.DARK_PURPLE + "Right click a player to send them flying");
        }
       
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent event) {
            if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
                    if (//Checks if the player hit a person) {
                   playerhit.flyback(bla bla bla);
                    }
             }
        }
       
    }
     
  2. Online

    timtower Administrator Administrator Moderator

    @MrDaniel Try using the PlayerInteractEntityEvent instead
     
Thread Status:
Not open for further replies.

Share This Page