aaaaand yeaaaaaah im just dumb. Did not realize that i can do that.
one more question how if it is in this concept
execute at @e[type=skeleton] if entity @e[dx=5,dy=100,dz=5] run summon creeper ~ ~ ~ {Fuse:0}
This simply means that it'll summon the creeper at the skeleton with the following condition:
Let's say the skeleton is in the following coordinates: x:250.5 y:65 z:46.5
If there's an entity at the region of [250.5,65,46.5] to [255.5,165,51.5] , the command will be executed.
To put it harder, it means the dx, dy and dz just indicates the volume of the region, not the 2nd pair of coordinates.
If you want the command to execute if the entity is within 10 x [the whole chunk, right?] x 10 cuboid, centered at the skeleton's odorless feet, do something like this:
execute at @e[type=skeleton] positioned ~-5 0 ~-5 if entity @e[dx=10,dy=256,dz=10] run summon creeper ~ ~ ~ {Fuse:0}
it still does not do what I intended it to be doing and the skeleton is still not the center point. What I really wanted to do is to summon a creeper not in the area specified. Please, I really do need help.
it still does not do what I intended it to be doing and the skeleton is still not the center point. What I really wanted to do is to summon a creeper not in the area specified. Please, I really do need help.
execute as @e[type=skeleton] at @s positioned ~-5 0 ~-5 unless entity @e[dx=10,dy=256,dz=10] at @s run summon creeper ~ ~ ~ {Fuse:0}
This one is for players out of region. Again, it might risk lagging if you set it to repeating mode.
Also, if it works, at least reply me to inform so I can mark it off the list.
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 if entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste within the parameters from the armor stand
I also did this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste not within the parameters from the armor stand
In theory I can do this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run scoreboard set @s Timer 0
I was doing that levitate amplifier 127, clears it, then levitate 128, then clear it again entities within the parameters of an arrow. In order to do that I need a timer. I add 1 to my scoreboard dummy name Timer whenever an entity is within the parameters of the arrow. If the entity is in range of 1..10 Timer it will levitate the entity amplifier 127. If the entity is in range of 11..20 Timer it will clear the levitation effect. If the entity is in range of 21..30 Timer it will levitate the entity amplifier 128 that will pull down the entity. If the entity is in range of 31..40 Timer it will clear it. It is in a cycle until either the arrow despawns or the entity is not in range. I need to reset the Timer scoreboard so that the next time that entity steps in the range from the arrow it will immediately affect that entity in the order I mentioned. If what you said works in what I am aiming to do, it will complete the system that I have done. I'll update here if it works.
P.S. Thank you for always commenting and helping with my problem
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 if entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste within the parameters from the armor stand
I also did this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste not within the parameters from the armor stand
In theory I can do this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run scoreboard set @s Timer 0
I was doing that levitate amplifier 127, clears it, then levitate 128, then clear it again entities within the parameters of an arrow. In order to do that I need a timer. I add 1 to my scoreboard dummy name Timer whenever an entity is within the parameters of the arrow. If the entity is in range of 1..10 Timer it will levitate the entity amplifier 127. If the entity is in range of 11..20 Timer it will clear the levitation effect. If the entity is in range of 21..30 Timer it will levitate the entity amplifier 128 that will pull down the entity. If the entity is in range of 31..40 Timer it will clear it. It is in a cycle until either the arrow despawns or the entity is not in range. I need to reset the Timer scoreboard so that the next time that entity steps in the range from the arrow it will immediately affect that entity in the order I mentioned. If what you said works in what I am aiming to do, it will complete the system that I have done. I'll update here if it works.
P.S. Thank you for always commenting and helping with my problem
So let me see...
You're trying to make a magic arrow that causes the following effects to ALL non-arrow entities (excludes other arrows with the same effect?) in range:
From 0 - 0.5 seconds, the entity will fly up (levitation 127)
From 0.5 - 1.0 seconds, nothing will happen
From 1.0 - 1.5 seconds, the entity will quick drop (levitation 128)
From 1.5 - 2.0 seconds, nothing will happen
The above effect loops until the entity is out of range or the arrow is not inside the ground or disappeared.
yes that is what i wanted and it worked. This is the set of command that i had used.
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players add @s Timer 1
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..2}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 127 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=2..4}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=5..6}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=7..8}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:jump_boost 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=9..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 unless entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
The jump boost is there so that a player in survival or any entity that is not the arrow itself mode who is in the parameter will not take damage and will not bounce away from the ground high up making the effect I intended it to do to the entity distorted. Now I am trying to make that entity stop moving when it is levitated. Negative values of Slowness does not work. If I summon armor stands for the purpose of constantly teleporting the entity in range to that armor stand while that entity is in range, it will summon a lot of armor stands that will cause lag. How can I do it?
yes that is what i wanted and it worked. This is the set of command that i had used.
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players add @s Timer 1
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..2}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 127 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=2..4}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=5..6}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=7..8}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:jump_boost 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=9..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 unless entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
The jump boost is there so that a player in survival or any entity that is not the arrow itself mode who is in the parameter will not take damage and will not bounce away from the ground high up making the effect I intended it to do to the entity distorted. Now I am trying to make that entity stop moving when it is levitated. Negative values of Slowness does not work. If I summon armor stands for the purpose of constantly teleporting the entity in range to that armor stand while that entity is in range, it will summon a lot of armor stands that will cause lag. How can I do it?
P.S. its in order from top to bottom
I believe levitation 255 can let you stop midair. However, this only applies to players tho (same for levitation lvl 128+). Entities with extreme effect tends to do differently.
If you want all entities to do so, just apply the levitation 255 to players and give NoGravity:1 to other entities.
execute as @e[type=!armor_stand,type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 255 true
it gives an interesting effect on the entity. Its stop it mid-air meaning not moving vertically even makes that entity stop jumping when in range of the arrow but that entity, in this case, a player, is able to move horizontally. I check if i apply slowness now it will completely stop an entity from moving.
execute as @e[type=!armor_stand,type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 255 true
it gives an interesting effect on the entity. Its stop it mid-air meaning not moving vertically even makes that entity stop jumping when in range of the arrow but that entity, in this case, a player, is able to move horizontally. I check if i apply slowness now it will completely stop an entity from moving.
Update:
nope still not make the player stop from moving
If you want the entity to be completely immobilized on the cooldown, you can do this:
For entities: NoAI:1 (You might need to tag those who have NoAI:1 beforehand)
For players: just summon an armor stand. It won't cause much lag even with 30 players...
soooo the armor stand and any entity that can be affected by levitation will be sent way hiiiiiiigh up high enough that the ground is not seen. If I tp player to that it's not good. I will try other entities.
I finished the system but it no longer levitates the entities. I just levitate entities within the range from the arrow upwards and freeze them mid-air. It will only stop when the arrow despawns. I will create a new thread named DISTORTION BOW containing all the commands I used. Hope you view it. Thank you again for helping me.
I want to test if an entity is not in range of one entity. It is possible to test if it is in range, for example,
execute at @e[type=skeleton] if entity @e[distance=5] run summon creeper ~ ~ ~ {Fuse:0}
but none like this
execute at @e[type=skeleton] if entity @e[distance=!5] run summon creeper ~ ~ ~ {Fuse:0}
How about this:
execute at @e[type=skeleton] if entity @e[distance=5..] run summon creeper ~ ~ ~ {Fuse:0}
(Also, your forst command only works if the entity is exactly 5 blocks from the other.)
AAAAND ofc, it'll just spam summoning the creeper if you're out of range and if you make it repeating. Lagging and crashing comes next.
aaaaand yeaaaaaah im just dumb. Did not realize that i can do that.
one more question how if it is in this concept
execute at @e[type=skeleton] if entity @e[dx=5,dy=100,dz=5] run summon creeper ~ ~ ~ {Fuse:0}
This simply means that it'll summon the creeper at the skeleton with the following condition:
Let's say the skeleton is in the following coordinates: x:250.5 y:65 z:46.5
If there's an entity at the region of [250.5,65,46.5] to [255.5,165,51.5] , the command will be executed.
To put it harder, it means the dx, dy and dz just indicates the volume of the region, not the 2nd pair of coordinates.
If you want the command to execute if the entity is within 10 x [the whole chunk, right?] x 10 cuboid, centered at the skeleton's odorless feet, do something like this:
execute at @e[type=skeleton] positioned ~-5 0 ~-5 if entity @e[dx=10,dy=256,dz=10] run summon creeper ~ ~ ~ {Fuse:0}
I hope this works tho...
it does not work men
Well, this proves that your true intention is to ask for the actual command instead of the concept...Anyways, I got it fixed and tested it.
execute as @e[type=skeleton] at @s positioned ~-5 0 ~-5 if entity @e[dx=10,dy=256,dz=10] at @s run summon creeper ~ ~ ~ {Fuse:0}
it still does not do what I intended it to be doing and the skeleton is still not the center point. What I really wanted to do is to summon a creeper not in the area specified. Please, I really do need help.
execute as @e[type=skeleton] at @s positioned ~-5 0 ~-5 unless entity @e[dx=10,dy=256,dz=10] at @s run summon creeper ~ ~ ~ {Fuse:0}
This one is for players out of region. Again, it might risk lagging if you set it to repeating mode.
Also, if it works, at least reply me to inform so I can mark it off the list.
it works but I want to summon the creeper at the player who is not in range of the skeleton not at the skeleton
what is the second at @s for? I am just curious
execute as @a at @e[type=skeleton] positioned ~-5 0 ~-5 unless entity @s[dx=10,dy=256,dz=10] at @s run summon creeper ~ ~ ~ {Fuse:0}
Gosh... Is there any more conditions you wanna give? If so, just spit them all out.
I discovered something. I tried this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 if entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste within the parameters from the armor stand
I also did this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run effect give @s minecraft:haste 1 20
it will give haste not within the parameters from the armor stand
In theory I can do this
execute as @e[type=!armor_stand] at @s positioned ~-5 0 ~-5 unless entity @e[type=minecraft:armor_stand,dx=10,dy=256,dz=10] at @s run scoreboard set @s Timer 0
I was doing that levitate amplifier 127, clears it, then levitate 128, then clear it again entities within the parameters of an arrow. In order to do that I need a timer. I add 1 to my scoreboard dummy name Timer whenever an entity is within the parameters of the arrow. If the entity is in range of 1..10 Timer it will levitate the entity amplifier 127. If the entity is in range of 11..20 Timer it will clear the levitation effect. If the entity is in range of 21..30 Timer it will levitate the entity amplifier 128 that will pull down the entity. If the entity is in range of 31..40 Timer it will clear it. It is in a cycle until either the arrow despawns or the entity is not in range. I need to reset the Timer scoreboard so that the next time that entity steps in the range from the arrow it will immediately affect that entity in the order I mentioned. If what you said works in what I am aiming to do, it will complete the system that I have done. I'll update here if it works.
P.S. Thank you for always commenting and helping with my problem
So let me see...
You're trying to make a magic arrow that causes the following effects to ALL non-arrow entities (excludes other arrows with the same effect?) in range:
From 0 - 0.5 seconds, the entity will fly up (levitation 127)
From 0.5 - 1.0 seconds, nothing will happen
From 1.0 - 1.5 seconds, the entity will quick drop (levitation 128)
From 1.5 - 2.0 seconds, nothing will happen
The above effect loops until the entity is out of range or the arrow is not inside the ground or disappeared.
Is that what you wanted?
yes that is what i wanted and it worked. This is the set of command that i had used.
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players add @s Timer 1
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..2}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 127 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=2..4}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=5..6}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=7..8}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect clear @s minecraft:levitation
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:jump_boost 1 128 true
execute as @e[type=!arrow,tag=!levitateArrow,scores={Timer=9..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
execute as @e[type=!arrow,tag=!levitateArrow] at @s positioned ~-5 0 ~-5 unless entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run scoreboard players reset @s Timer
The jump boost is there so that a player in survival or any entity that is not the arrow itself mode who is in the parameter will not take damage and will not bounce away from the ground high up making the effect I intended it to do to the entity distorted. Now I am trying to make that entity stop moving when it is levitated. Negative values of Slowness does not work. If I summon armor stands for the purpose of constantly teleporting the entity in range to that armor stand while that entity is in range, it will summon a lot of armor stands that will cause lag. How can I do it?
P.S. its in order from top to bottom
I believe levitation 255 can let you stop midair. However, this only applies to players tho (same for levitation lvl 128+). Entities with extreme effect tends to do differently.
If you want all entities to do so, just apply the levitation 255 to players and give NoGravity:1 to other entities.
sooo I added this
execute as @e[type=!armor_stand,type=!arrow,tag=!levitateArrow,scores={Timer=1..}] at @s positioned ~-5 0 ~-5 if entity @e[tag=levitateArrow,nbt={inGround:1b},dx=10,dy=100,dz=10] at @s run effect give @s minecraft:levitation 1 255 true
it gives an interesting effect on the entity. Its stop it mid-air meaning not moving vertically even makes that entity stop jumping when in range of the arrow but that entity, in this case, a player, is able to move horizontally. I check if i apply slowness now it will completely stop an entity from moving.
Update:
nope still not make the player stop from moving
If you want the entity to be completely immobilized on the cooldown, you can do this:
For entities: NoAI:1 (You might need to tag those who have NoAI:1 beforehand)
For players: just summon an armor stand. It won't cause much lag even with 30 players...
soooo the armor stand and any entity that can be affected by levitation will be sent way hiiiiiiigh up high enough that the ground is not seen. If I tp player to that it's not good. I will try other entities.
I finished the system but it no longer levitates the entities. I just levitate entities within the range from the arrow upwards and freeze them mid-air. It will only stop when the arrow despawns. I will create a new thread named DISTORTION BOW containing all the commands I used. Hope you view it. Thank you again for helping me.