Jump to content

How does one do an action when clicking with the left mouse button?


needoriginalname

Recommended Posts

I am making a mod that causes an action occur, usually a chat message appears, when the player clicked a modded Item a made when clicking the left button.

 

I know how to do an action on the right mouse button, but how does one do it on the left mouse, especially if there might not be a block or entity when ever it clicks.

Link to comment
Share on other sites

Last I checked there wasn't any generic left click method in the Item class, but you can subscribe to the ClientTickEvent and check if the GameSettings#keyBindAttack was pressed and your item is held, then call a method. Note that this is all CLIENT side, so if you want to do anything real, you'll need to send a packet to the server and do it there.

 

PlayerInteractEvent may also work, but I don't recall whether there is a LEFT_CLICK_AIR; if there is, you probably still need to send a packet, as I doubt it is called server side.

 

If you plan on having more than one item with this type of interaction, I'd make an interface for it such as ILeftClick with a method #onLeftClick, then you can have one check for that type of Item rather than a bunch of if/else if statements for all the different item types you want to handle.

Link to comment
Share on other sites

I am also trying to do stuff on left click, here is what I have:

        @SideOnly(Side.CLIENT)
@SubscribeEvent
public void LeftClick(ClientTickEvent event)
{
	//LogHelper.info("At least I get called");
	if(Minecraft.getMinecraft().gameSettings.keyBindAttack.isPressed())
	{
		LogHelper.info("Attacking");
                }
        }

 

When the first LogHelper is uncommented it spams the log, so I know this method is getting called, but the second LogHelper never gets called. Any idea what I have wrong with this if statement?

Current Project: Armerger 

Planned mods: Light Drafter  | Ore Swords

Looking for help getting a mod off the ground? Coding  | Textures

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.