Advertisement
Guest User

Rotation - Ray cast

a guest
Sep 29th, 2014
904
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.27 KB | None | 0 0
  1. #replace
  2. //#############names#############
  3. RayCastSpot = RayCastSpot
  4. RayCastMarker = RayCastMarker
  5. RayCastMain = RayCastMain
  6. //#############objectives#############
  7. targetMarkerObjective = targetMarker
  8. rotationPitchObjective = rotationPitch
  9. rotationYawObjective = rotationYaw
  10. vectorXObjective = vectorX
  11. vectorYObjective = vectorY
  12. vectorZObjective = vectorZ
  13. tpMarkerObjective = tpMarker
  14. rayCastHitObjective = rayCastHit
  15. rayCastIDObjective = rayCastID
  16. CONST_10 = _10 CONST
  17. CONST_1000 = _1000 CONST
  18. CONST_10000 = _10000 CONST
  19. CONST_90 = _90 CONST
  20. CONST_90000 = _90000 CONST
  21. CONST_360 = _360 CONST
  22. CONST_-1 = _-1 CONST
  23. CONST_200 = _200 CONST
  24. CONST_2000 = _2000 CONST
  25. //#############selectors#############
  26. Target = @e[targetMarkerObjective==1,c=1]
  27. RCSpots = @e[rayCastHitObjective>=-1,name=RayCastSpot]
  28. RCSpots[ = @e[rayCastHitObjective>=-1,name=RayCastSpot,
  29. RCMain = @e[rayCastHitObjective>=-1,c=1,name=RayCastMain]
  30. RCMain[ = @e[rayCastHitObjective>=-1,c=1,name=RayCastMain,
  31. RCMarker = @e[rayCastHitObjective>=-1,c=1,name=RayCastMarker]
  32. RCMarker[ = @e[rayCastHitObjective>=-1,c=1,name=RayCastMarker,
  33. //#############nbt#############
  34. RayCastNBT = NoGravity:true,Invulnerable:true,CustomNameVisible:false,Invisible:true
  35. //#############command coordinates#############
  36. areadefault = -2311 75 1052 -2306 75 1052
  37. areastart = -2311 75 1060 -2307 75 1060
  38. //#############commands#############
  39. //#####build raycasters#####
  40. #new_functionline x ~ ~3 ~
  41. kill @e[rayCastHitObjective>=-1]
  42. scoreboard players reset * rayCastHitObjective
  43. scoreboard players reset * rayCastIDObjective
  44. summon ArmorStand ~ ~3 ~ {CustomName:"RayCastMain",RayCastNBT}
  45. summon ArmorStand ~ ~3 ~ {CustomName:"RayCastMarker",RayCastNBT}
  46. summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  47. summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  48. @e[name=RayCastSpot] => summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  49. @e[name=RayCastSpot] => summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  50. @e[name=RayCastSpot] => summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  51. @e[name=RayCastSpot,c=4] => summon ArmorStand ~ ~3 ~ {CustomName:"RayCastSpot",RayCastNBT}
  52. @e[name=RayCastSpot] rayCastHitObjective = -1
  53. @e[name=RayCastMarker] rayCastHitObjective = -1
  54. @e[name=RayCastMain] rayCastHitObjective = -1
  55. RCMain rayCastIDObjective = -1
  56. RCMarker rayCastIDObjective = -1
  57. RCSpots rayCastIDObjective = -1
  58. RCSpots[c=1,rayCastIDObjective==-1] rayCastIDObjective = <<1:20>>
  59. //##############main fast#############
  60. #new_functionline x ~ ~10 ~6 top
  61. RCMarker[targetMarkerObjective>=1] => fill areastart redstone_block
  62. RCMain[rayCastIDObjective>=1] => fill areadefault redstone_block
  63. RCMain[rayCastIDObjective>=1] => fill areadefault stained_hardened_clay 14
  64. //####start###########################
  65. #new_functionline x ~ ~3 ~4
  66. RCMain rayCastIDObjective = 1
  67. RCMarker targetMarkerObjective = 0
  68. RCMarker rayCastIDObjective = 0
  69. RCMarker rayCastHitObjective = -1
  70. RCSpots tpMarkerObjective = 1
  71. RCSpots vectorXObjective = rayCastIDObjective *= RCMarker vectorXObjective /= CONST_200
  72. RCSpots vectorYObjective = rayCastIDObjective *= RCMarker vectorYObjective /= CONST_200
  73. RCSpots vectorZObjective = rayCastIDObjective *= RCMarker vectorZObjective /= CONST_200
  74. RCMarker vectorXObjective = RCSpots[rayCastIDObjective==20] vectorXObjective
  75. RCMarker vectorYObjective = RCSpots[rayCastIDObjective==20] vectorYObjective
  76. RCMarker vectorZObjective = RCSpots[rayCastIDObjective==20] vectorZObjective
  77. tp RCSpots RCMarker
  78. //####default###########################
  79. #new_functionline x ~ ~3 ~-4
  80. RCSpots vectorXObjective = RCMarker vectorXObjective
  81. RCSpots vectorYObjective = RCMarker vectorYObjective
  82. RCSpots vectorZObjective = RCMarker vectorZObjective
  83. //effects
  84. RCMain[rayCastHitObjective>=1,rayCastIDObjective>=1] => RCSpots => particle reddust ~ ~ ~ 0.1 0.1 0.1 0 10 force
  85. //detection per Spot
  86. RCSpots rayCastHitObjective = -1
  87. RCSpots[block=~ ~ ~ air] rayCastHitObjective = 0
  88. RCMarker => @e[r=100] => RCSpots[r=0,rayCastHitObjective>=0] rayCastHitObjective += 1
  89. @e[rayCastHitObjective>=-1] => RCSpots[r=0,rayCastHitObjective>=1] rayCastHitObjective -= 1
  90. RCSpots[rayCastHitObjective>=1] rayCastHitObjective = 2
  91. RCSpots[rayCastHitObjective==-1] rayCastHitObjective = 1
  92. RCSpots[rayCastHitObjective==0] rayCastHitObjective = -1
  93. //evaluation
  94. RCMarker[rayCastIDObjective<=0] => RCSpots[c=1,rayCastHitObjective>=1] => RCMarker rayCastHitObjective = @me rayCastHitObjective
  95. RCMarker[rayCastHitObjective>=1] rayCastIDObjective = 1
  96. RCMarker[rayCastIDObjective==1] => RCMain[rayCastIDObjective>=1] rayCastIDObjective = 0
  97. //tp if target
  98. RCMarker[rayCastIDObjective==1] => @e[rayCastHitObjective>=1,name=RayCastSpot,c=1] rayCastHitObjective += 10
  99. tp RCMarker[rayCastIDObjective==1] @e[rayCastHitObjective>=11,name=RayCastSpot,c=1]
  100. //reset
  101. RCMain[rayCastIDObjective>=1] rayCastIDObjective += 1
  102. RCMain[rayCastIDObjective>=10] rayCastIDObjective = 0
  103. RCMain[rayCastIDObjective==0] => tp RCSpots RCMain
  104. RCMain[rayCastIDObjective==0] => tp RCMarker[rayCastIDObjective<=0] RCMain
  105. RCMain[rayCastIDObjective==0] => RCSpots tpMarkerObjective = 0
  106. RCMain[rayCastIDObjective==0] => fill areastart stained_hardened_clay 14
  107. RCMain[rayCastIDObjective==0] => say this could be your command!
  108. RCMain[rayCastIDObjective==0] rayCastIDObjective = -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement