Arqade Asked on June 20, 2021
I’ve been experimenting with attribute modifiers on items. What’s interesting is that each attribute modifier requires a UUID. So I’ve provided one myself by simply punching in random numbers on my keyboard number pad.
I know that in NBT, the UUID is stored in an Integer Array, which is formatted like this:
[I;1,2,3,4,5,6]
And here are two of my completed commands (this is as minimal as it gets):
give @p diamond_sword{AttributeModifiers:[{AttributeName:"generic.attack_damage",Name:"generic.attack_damage",Amount:1,Operation:0,UUID:[I;385638563,384738473,018492747,395785936]}]} 1
give @p diamond_sword{AttributeModifiers:[{AttributeName:"generic.attack_damage",Name:"generic.attack_damage",Amount:1,Operation:0,UUID:[I;828748274,736284721,276385632,174612674]}]} 1
If you don’t want to get that complicated, I’ve stripped it down to the bare minimums, with these commands using user-defined tags (they don’t do anything but make it look cleaner:)
give @p dirt{MyIntArray:[I;123,345,567,789]}
give @p dirt{MyIntArray:[I;123,456,789,012]}
In both of the above examples, one of them causes an error. The other does not. But all I did was enter different numbers. What could be the problem?
This is some very interesting behaviour that I found out while answering this question. I'd like to share my findings in this post. Let it be a guide for using NBT.
Consider a simple CanDestroy
statement. When you think of it, it looks like this:
/give @s minecraft:diamond_pickaxe{CanDestroy:["minecraft:dirt"]}
But some posts don't have the quotes around the value. Try out their commands, for example: /give @s dirt{CanDestroy:[dirt]}
. Does it work?
Surprisingly, yes.
Apparently, you don't need need to type the surrounding quotes if your string only consists of the following characters (whitespace not included):
+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
The one exception is if the entry is treated as a number, which would count for entries like 12b
,512s
, and 82664
. But if the number is formatted incorrectly and would fit into the above category of quoteless strings, it will, even if you don't want it to. The following number lookalikes will becomie strings:
012b
, 04582s
)12b
, 4582s
)255b
, 2177548418058
)255
, 2177548418058l
)Correct answer by ExpertCoder14 on June 20, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP