1

Is it possible to detect when a player right-clicks with a stick and activate a command?

What I'm trying to do is have several items with specific NBT data and set it so that right-clicking with those items uses certain commands (for instance, right-clicking with a specific sword will /summon a fireball, or right-clicking with a specific stick will activate a speed /effect). Is there a way to do this in vanilla Minecraft?

1
  • What's up with the downvote?
    – DonielF
    Jun 19, 2017 at 3:02

3 Answers 3

3

dly's answer is fine, but DonielF is right. If you have a mob in you you can't hit anything.

In Minecraft you can't right click and trigger a command with all items. But some items (like carrot on a stick) can be used.

Example:

Type this in chat:

/scoreboard objectives add speed stat.useItem.minecraft.carrot_on_a_stick speed
/scoreboard objectives setdisplay sidebar speed


Run this on a 1 tick clock:
    /effect @p[score_speed_min=1,score_speed=1] minecraft:speed 30 1

This will detect whenever a player right-clicks with a carrot on a stick and it will give him the effect speed 1 for 30 seconds.

It will also work with an empty map (make sure to remove the new map and give the player another empty map!) or when a placed cake is eaten.

1
  • Side note: With the introduction of the using_item advancement trigger, this got much simpler and can be used with a lot more items.
    – Egor Hans
    Nov 24, 2021 at 9:54
0

It's possible, but not easy.

I know of two ways to do this:

1. Villager + scoreboard objective:

/scoreboard objectives add rightclicked stat.talkedToVillager
/summon Villager ~ ~ ~ {NoAI:1,Invulnerable:1,Silent:1,ActiveEffects:[{Id:14,Amplifier:1,Duration:9999,Ambient:0}],CustomName:"somespecialguy",Offers:{}}

make it "follow" the player: /tp @e[type=Villager,name=somespecialguy] @a

Now you can use the objective rightclicked to execute your command(s).

2. Armor stand

  • Use an item which can be put into the hands of an armor stand
  • Have an (invisible) armor stand constantly teleported to you
  • whenever you right click your tool it will be put into the hand of that armor stand
  • test for the armor stand holding that tool and give another item to you + execute your command(s)
1
  • But wouldn't left-clicking then attack the villager/armor stand rather than whatever I'm trying to attack?
    – DonielF
    Jun 19, 2017 at 11:32
0

In the german Minecraft technic wiki you will find different systems of this. The article is in german, but the commands are listed:

https://technic-de.gamepedia.com/Maschinen/Mausklick-Sensor_(Befehle)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .