Jump to content

[1.15.2] Check if the player is holding a tool by its type


ultra_reemun

Recommended Posts

The issue is that a pickaxe doesn't have to be a subclass of PickaxeItem, someone could make a custom pick that is just an Item with pick functionality. So, while you could check for vanilla picks, or your own pick, you wouldn't really have any way of knowing if it was someone else's pick.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Ugdhar said:

The issue is that a pickaxe doesn't have to be a subclass of PickaxeItem, someone could make a custom pick that is just an Item with pick functionality. So, while you could check for vanilla picks, or your own pick, you wouldn't really have any way of knowing if it was someone else's pick.

Oh I see. Do you know how I'd go about checking if it was a subclass of Pickaxeitem? That would at least give me compatability with a couple mods, aswell as all the vanilla ones.

 

Thank you for all your help today! :)

Link to comment
Share on other sites

instanceof

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

16 minutes ago, ultra_reemun said:

Oh I see. Do you know how I'd go about checking if it was a subclass of Pickaxeitem? That would at least give me compatability with a couple mods, aswell as all the vanilla ones.

 

Thank you for all your help today! :)

You could also do.

Item::getToolTypes
// Which returns a Set<ToolType>
Set::contains

Check if the Item::getToolTypes contains ToolType.PICKAXE.
Generally all Pickaxe Items even ones that do not extend PickaxeItem will have ToolType.PICKAXE in their tool types.

  • Like 2

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 hour ago, Animefan8888 said:

You could also do.


Item::getToolTypes
// Which returns a Set<ToolType>
Set::contains

Check if the Item::getToolTypes contains ToolType.PICKAXE.
Generally all Pickaxe Items even ones that do not extend PickaxeItem will have ToolType.PICKAXE in their tool types.

Thanks for the help! How would I use that in relation to what my player is holding?

Link to comment
Share on other sites

4 minutes ago, diesieben07 said:

There is no tool type for swords, although people could in theory create it. I don't think there is a standard for that though.

There's not. There probably should be though, considering swords are the correct "tool" for some blocks (like webs).

Ditto shears.

For some definition of "correct" and "tool."

  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

4 minutes ago, diesieben07 said:

There is no tool type for swords, although people could in theory create it. I don't think there is a standard for that though.

For swords it is expected to extend SwordItem, which is what vanilla uses as well I think.

Ah that's a shame. How would I check if the held item extended sword item?

Link to comment
Share on other sites

2 hours ago, Draco18s said:

instanceof

 

  • Thanks 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.



×
×
  • Create New...

Important Information

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