What is wrong?

Discussion in 'Plugin Development' started by Iervolino, May 24, 2013.

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

    Iervolino

    Code:
    public int cooldown = 15;
    public String monkCooldownMessage = ChatColor.RED + "Aguarde outros %s segundos para usar a habilidade novamente!";
    public String monkedMessage = ChatColor.GREEN + "Monked!";
    public int monkItemId = Material.BLAZE_ROD.getId();
    private transient HashMap<ItemStack, Long> monkStaff = new HashMap<ItemStack, Long>();
    public boolean sendThroughInventory = true;
     
    @EventHandler
    public void onLeftClick(PlayerInteractEntityEvent event) {
        ItemStack item = event.getPlayer().getItemInHand();
        if (event.getLeftClicked() instanceof Player && item.getTypeId() == monkItemId) {
            long lastUsed = 0;
            if (monkStaff.containsKey(item))
                lastUsed = monkStaff.get(item);
            if (lastUsed + (1000 * cooldown) > System.currentTimeMillis()) {
                event.getPlayer().sendMessage(
                        String.format(monkCooldownMessage,
                                (-((System.currentTimeMillis() - (lastUsed + (1000 * cooldown))) / 1000))));
            } else {
                PlayerInventory inv = ((Player) event.getLeftClicked()).getInventory();
                int slot = new Random().nextInt(sendThroughInventory ? 36 : 9);
                ItemStack replaced = inv.getItemInHand();
                if (replaced == null)
                    replaced = new ItemStack(0);
                ItemStack replacer = inv.getItem(slot);
                if (replacer == null)
                    replacer = new ItemStack(0);
                inv.setItemInHand(replacer);
                inv.setItem(slot, replaced);
                monkStaff.put(item, System.currentTimeMillis());
                event.getPlayer().sendMessage(monkedMessage);
            }
        }
    }
    - The method getLeftClicked() is undefined for the type PlayerInteractEntityEvent
     
  2. You have to use getClickedEntity
     
  3. Offline

    Iervolino

    CaptainBern
    I change the getLeftClicked() for getClickedEntity and I got the same error.
     
  4. Oops i'm sorry, it's getRightClicked();
     
  5. Offline

    Iervolino

    Yes but the problem is that I don't want the right click and yes the left click
     
  6. Then maybe think of using the EntityDamageEvent?
     
Thread Status:
Not open for further replies.

Share This Page