The "store" function of the execute command can only accept values in the [−2,147,483,647, +2,147,483,647] range, while UUIDs are much much larger/smaller than that, 64-bit each if I'm not mistaken. Is there any workaround for this? If it helps I'm trying to replace the "owner" UUIDs of a snowball with the UUIDs of a not predetermined entity. Any other suggestion on how to do that will be much appreciated.
On the topic of value types, may I also ask why whenever I try to set an arrow's Motion, which is a double, to anything past 10 it automatically gets set to 0?
In 1.13. UUIDMost and UUIDLeast are both technically long values, and so is the new format for the owner tag, so in theory execute store should work fine. Those 2 values are often in the range way beyond what long values can store, however, which is why I'm asking if there exists an alternative.
As of 1.13, the UUIDLeast and the UUIDMost are used in the owner tag of entities like snowballs or thrown potions. I'm NOT asking for a way to convert to the UUID string, since that's pretty much useless now. What I'm asking for is a way to squeeze the UUIDLeast and UUIDMost into owner.L and owner.M. Sorry if I was being ambiguous before.
Well as I've said from the start, the value for UUIDLeast is much larger than the limit of the long value type, so that won't work.
Hey, idk if this works, but worth trying (I don't have time testing it, do you mind experimenting it yourself?)
Before you read, I rly assume that the UUID long can be stored during the chopping.
If there's any silly mistake in the suggestion below, I apologize, my bad, plz correct me.
If the UUID is too long, try to chop it into 2-4 pieces?
For example, use /data get, but scale it down like.... 0.0000001 or sth?
The scoreboard will round it off.
Then use scoreboard operation (I.E. -=) to find the difference of the value.
That value can be stored in scoreboard like UUIDC1
Repeat the above steps with a smaller scaling, store it as UUIDC2, UUIDC3 etc.
How would you use that value though? Even if you can store separate parts, you can't merge it and squeeze it into the UUID tag. Basically, whatever operations you do, the end result will still exceed that 2^32 limit before you can put it into where it needs to be. Will still test it out though, minecraft is known to be inconsistent.
How would you use that value though? Even if you can store separate parts, you can't merge it and squeeze it into the UUID tag. Basically, whatever operations you do, the end result will still exceed that 2^32 limit before you can put it into where it needs to be. Will still test it out though, minecraft is known to be inconsistent.
True... scoreboard just can't store that much value huh...
Wish we can store strings...
True... scoreboard just can't store that much value huh...
Wish we can store strings...
Or wish we can hash it...
Even if scoreboards can store that, the /execute store can't.
Storing strings would be helpful, but the UUIDLeast and UUIDMost system requires long intergers that are 64-bit (even though the long type in /execute store is only 32-bit), so unless it can also automagically turn a string into that value type, it won't help much in this case.
Even if scoreboards can store that, the /execute store can't.
Storing strings would be helpful, but the UUIDLeast and UUIDMost system requires long intergers that are 64-bit (even though the long type in /execute store is only 32-bit), so unless it can also automagically turn a string into that value type, it won't help much in this case.
I guess the only way is to predetermine the UUID of the not predetermined entity.
Btw, I can't give you a technical answer for question 2, but from what I've been observing, 10+ is too much for the Motion tag. It'll just ignore the tag wholly (I think...?). I guess you don't need to set it that high...
The "store" function of the execute command can only accept values in the [−2,147,483,647, +2,147,483,647] range, while UUIDs are much much larger/smaller than that, 64-bit each if I'm not mistaken. Is there any workaround for this? If it helps I'm trying to replace the "owner" UUIDs of a snowball with the UUIDs of a not predetermined entity. Any other suggestion on how to do that will be much appreciated.
On the topic of value types, may I also ask why whenever I try to set an arrow's Motion, which is a double, to anything past 10 it automatically gets set to 0?
I don't think UUIDs are supported in execute store, as it isnt quite a number, but more of a string
YouTube: https://www.youtube.com/channel/UCzGDRYWcrGreMmQFo_d5N5Q
Facebook:https://goo.gl/s0r12d
Website:https://theusaf.weebly.com
JavaScript Projects: https://theusaf.github.io
Link Shortener: https://shortr.github.io
Twitter:https://www.twitter.com/theusafyt
In 1.13. UUIDMost and UUIDLeast are both technically long values, and so is the new format for the owner tag, so in theory execute store should work fine. Those 2 values are often in the range way beyond what long values can store, however, which is why I'm asking if there exists an alternative.
As of right now, there is no way to grab the UUIDMost and UUIDLeast and convert it into a UUID string in game
YouTube: https://www.youtube.com/channel/UCzGDRYWcrGreMmQFo_d5N5Q
Facebook:https://goo.gl/s0r12d
Website:https://theusaf.weebly.com
JavaScript Projects: https://theusaf.github.io
Link Shortener: https://shortr.github.io
Twitter:https://www.twitter.com/theusafyt
As of 1.13, the UUIDLeast and the UUIDMost are used in the owner tag of entities like snowballs or thrown potions. I'm NOT asking for a way to convert to the UUID string, since that's pretty much useless now. What I'm asking for is a way to squeeze the UUIDLeast and UUIDMost into owner.L and owner.M. Sorry if I was being ambiguous before.
I think /execute store result @e[type=snowball,tag=somthing] owner.UUIDLeast long 1 run data get @e[tags=tags,limit=1] UUIDLeast should work?
YouTube: https://www.youtube.com/channel/UCzGDRYWcrGreMmQFo_d5N5Q
Facebook:https://goo.gl/s0r12d
Website:https://theusaf.weebly.com
JavaScript Projects: https://theusaf.github.io
Link Shortener: https://shortr.github.io
Twitter:https://www.twitter.com/theusafyt
Well as I've said from the start, the value for UUIDLeast is much larger than the limit of the long value type, so that won't work.
Hey, idk if this works, but worth trying (I don't have time testing it, do you mind experimenting it yourself?)
Before you read, I rly assume that the UUID long can be stored during the chopping.
If there's any silly mistake in the suggestion below, I apologize, my bad, plz correct me.
If the UUID is too long, try to chop it into 2-4 pieces?
For example, use /data get, but scale it down like.... 0.0000001 or sth?
The scoreboard will round it off.
Then use scoreboard operation (I.E. -=) to find the difference of the value.
That value can be stored in scoreboard like UUIDC1
Repeat the above steps with a smaller scaling, store it as UUIDC2, UUIDC3 etc.
When you need it, use += to combine them.
How would you use that value though? Even if you can store separate parts, you can't merge it and squeeze it into the UUID tag. Basically, whatever operations you do, the end result will still exceed that 2^32 limit before you can put it into where it needs to be. Will still test it out though, minecraft is known to be inconsistent.
True... scoreboard just can't store that much value huh...
Wish we can store strings...
Or wish we can hash it...
Even if scoreboards can store that, the /execute store can't.
Storing strings would be helpful, but the UUIDLeast and UUIDMost system requires long intergers that are 64-bit (even though the long type in /execute store is only 32-bit), so unless it can also automagically turn a string into that value type, it won't help much in this case.
I guess the only way is to predetermine the UUID of the not predetermined entity.
Btw, I can't give you a technical answer for question 2, but from what I've been observing, 10+ is too much for the Motion tag. It'll just ignore the tag wholly (I think...?). I guess you don't need to set it that high...