Actualmente estoy trabajando en un datapack que, entre muchas otras cosas, permite a ciertos jugadores moverse rápidamente a través de telarañas, en lugar de ser ralentizados por ellas. Sin embargo, me encuentro con el problema de que al probar el bloque en la posición ~ ~ ~ solo detectará la telaraña si el jugador está en el centro, no si están tocando el borde. Por lo tanto, el jugador tiene que abrirse paso a través de una pequeña cantidad de telaraña antes de recibir la velocidad aumentada.
¿Existe alguna manera de remediar esto efectivamente? Mi solución actual es simplemente probar el bloque en los pies del jugador y para el bloque a 0.3 bloques de distancia en todas las direcciones cardinales, lo cual parece funcionar en mi mundo de pruebas, pero ha estado causando problemas en el servidor para el que se creó el datapack. Además, es simplemente un código dolorosamente ineficiente.
Dado que estoy utilizando un datapack, los predicados y los avances están, por supuesto, sobre la mesa. Un predicado sería preferible, aunque entiendo que no siempre es posible.
Mi código actual ineficiente es el siguiente:
execute as @a[scores={Species=007}] at @s if block ~0.3 ~ ~ cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~-0.3 ~ ~ cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~ ~ ~0.3 cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~ ~ ~-0.3 cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~0.21 ~ ~0.21 cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~-0.21 ~ ~0.21 cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~-0.21 ~ ~-0.21 cobweb run scoreboard players set @s species007-01 2
execute as @a[scores={Species=007}] at @s if block ~0.21 ~ ~-0.21 cobweb run scoreboard players set @s species007-01 2