Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----Necessary Objectives-----
- scoreboard objectives add testDir stat.walkOneCm
- scoreboard objectives add walkingDir dummy
- scoreboard objectives add nearestStand dummy
- scoreboard objectives add correctDir dummy
- scoreboard objectives add nearestDir dummy
- -----Get Raw Directional Movement-----
- execute @a[score_testDir_min=1] ~ ~ ~ scoreboard players set @e[type=ArmorStand,c=1,r=1,tag=testDir] nearestDir 1
- scoreboard players reset * nearestStand
- execute @e[type=ArmorStand,name=DirectionStand1,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 1
- execute @e[type=ArmorStand,name=DirectionStand2,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 2
- execute @e[type=ArmorStand,name=DirectionStand3,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 3
- execute @e[type=ArmorStand,name=DirectionStand4,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 4
- execute @e[type=ArmorStand,name=DirectionStand5,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 5
- execute @e[type=ArmorStand,name=DirectionStand6,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 6
- execute @e[type=ArmorStand,name=DirectionStand7,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 7
- execute @e[type=ArmorStand,name=DirectionStand8,tag=testDir,score_nearestDir_min=1] ~ ~ ~ scoreboard players set @a[score_testDir_min=1,c=1,r=1] nearestStand 8
- -----Get Player Rotation-----
- scoreboard players reset * correctDir
- scoreboard players set @a[score_testDir_min=1,rym=-113,ry=-68] correctDir 0
- scoreboard players set @a[score_testDir_min=1,rym=-68,ry=-23] correctDir 1
- scoreboard players set @a[score_testDir_min=1,rym=-23,ry=23] correctDir 2
- scoreboard players set @a[score_testDir_min=1,rym=23,ry=68] correctDir 3
- scoreboard players set @a[score_testDir_min=1,rym=68,ry=113] correctDir 4
- scoreboard players set @a[score_testDir_min=1,rym=113,ry=158] correctDir 5
- scoreboard players set @a[score_testDir_min=1,rym=158,ry=-158] correctDir 6
- scoreboard players set @a[score_testDir_min=1,rym=-158,ry=-113] correctDir 7
- -----Get Direction Value-----
- scoreboard players set @a walkingDir 0
- execute @a[score_testDir_min=1] ~ ~ ~ scoreboard players operation @a[c=1] walkingDir = @a[c=1] nearestStand
- execute @a[score_testDir_min=1] ~ ~ ~ scoreboard players operation @a[c=1] walkingDir -= @a[c=1] correctDir
- scoreboard players set @a[score_testDir_min=1,score_walkingDir=-8] walkingDir 8
- scoreboard players add @a[score_testDir_min=1,score_walkingDir=-1] walkingDir 8
- -----Reset System-----
- kill @e[type=ArmorStand,tag=testDir]
- -----Summon Armor Stands-----
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~1 ~ ~ {CustomName:"DirectionStand1",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~.707106781187 ~ ~.707106781187 {CustomName:"DirectionStand2",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~ ~ ~1 {CustomName:"DirectionStand3",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~-.707106781187 ~ ~.707106781187 {CustomName:"DirectionStand4",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~-1 ~ ~ {CustomName:"DirectionStand5",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~-.707106781187 ~ ~-.707106781187 {CustomName:"DirectionStand6",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~ ~ ~-1 {CustomName:"DirectionStand7",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- execute @a[score_testDir_min=1] ~ ~ ~ summon ArmorStand ~.707106781187 ~ ~-.707106781187 {CustomName:"DirectionStand8",CustomNameVisible:0,Tags:["testDir"],NoGravity:1b,Small:1,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1}
- -----Reset System Pt. 2-----
- scoreboard players reset * testDir
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement