Jump to content

Set Attack Damage and Speed based on NBT


drok0920

Recommended Posts

Hello again,

I have a custom tool that has an nbt tag on it.  I would like to map this nbt tag's value to damage and swing speed.  I know how to map my value i just dont know where i can set the damage and speed.  I thought i could use getItemAttributeModifiers but im not aware of a way to get the nbt data in that method.  I hope this makes sense.  Please point me to a method that can do what i need.

Link to comment
Share on other sites

When the item stack is created you need to set the attribute modifiers (attack damage and attack speed).

Anytime you update the NBT to have a different value, you would have to update the attributes as well.

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

Override Item#getAttributeModifiers, the ItemStack-sensitive version of Item#getItemAttributeModifiers. It has an ItemStack argument that you can access the NBT of.

Edited by Choonster

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

5 minutes ago, drok0920 said:

Ok I have managed to get it to work, but how do i hide the blue text of the items?

 

You can hide the attribute modifiers from the tooltip completely by setting the "HideFlags" key of the ItemStack's compound tag to a number with bit 2 set to 1 (e.g. 2).

 

You can also subscribe to ItemTooltipEvent and modify the list of tooltip lines as you want.

  • Like 1

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

3 minutes ago, drok0920 said:

Do i use setInteger or setShort?  By what im reading on the wiki its a value 1-63 so i would assume its a short because an integer would hold way to many values.

 

ItemStack#getTooltip checks for its existence using the type ID 99, which is "any numeric". This means you can use any numeric data type for the tag, including integer and short.

  • Like 1

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

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.