#need help

1 messages · Page 1 of 1 (latest)

hardy patioBOT
umbral canyon
#

Please don't throw the whole data pack at us.

What are you trying to do, how are you trying to do it, and what is happening instead?

umbral canyon
#

Show your work. How are you trying to do it?

umbral canyon
#

Describe what I'm looking at

hardy patioBOT
hardy patioBOT
vital current
#

The issue is your @s[distance=..1] check, I assume you want to make sure that the player is in the right dimension but this is not the way to do that.

I quite frequently make similar mistakes myself with target selectors, you need to change your logic.

#

anything you check within the braces of a @s target selector will be run as @s at @s so a distance on @s can and only ever will 0

#

the correct way would be to actually check on @a rather than running stuff after selecting all players.

#

how can you do this properly?

  1. create a predicate to check if a player is in the end dimension and put that in the first @a selector since that will ensure only players in the right dimension will be doing anything after that.

  2. instead of the @s[distance=..1] selector put in if predicate {condition:"minecraft:location_check",predicate:{dimension:"minecraft:the_end"}} this is worse than above solution for various reasons but does the trick.

  3. Start your entire execute with in minecraft:the_end this way you can only select players within a volume in the end, do your outer volume check immediatly after, no need to "if" it since a volume selector already is a "if/else" itself.

#

Option 3 is arguably the best

#

both for readability and your own sanity

#

I hope my explanation is clear enough but if you do end up stuck or think something isn't working the way you want it feel free to ask me again.

hardy patioBOT