redscript-mc 2.4.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1680) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +4 -0
  3. package/ROADMAP.md +145 -0
  4. package/dist/cli.js +0 -0
  5. package/dist/src/__tests__/compile-all.test.js +1 -0
  6. package/dist/src/__tests__/diagnostics.test.js +8 -11
  7. package/dist/src/__tests__/double.test.d.ts +7 -0
  8. package/dist/src/__tests__/double.test.js +464 -0
  9. package/dist/src/__tests__/e2e/for-in-array.test.d.ts +4 -0
  10. package/dist/src/__tests__/e2e/for-in-array.test.js +59 -0
  11. package/dist/src/__tests__/e2e/macros.test.js +7 -7
  12. package/dist/src/__tests__/e2e/stdlib-e2e.test.js +1411 -0
  13. package/dist/src/__tests__/fixed.test.d.ts +7 -0
  14. package/dist/src/__tests__/fixed.test.js +148 -0
  15. package/dist/src/__tests__/float-lint.test.d.ts +7 -0
  16. package/dist/src/__tests__/float-lint.test.js +96 -0
  17. package/dist/src/__tests__/float.test.d.ts +7 -0
  18. package/dist/src/__tests__/float.test.js +148 -0
  19. package/dist/src/__tests__/for-range.test.js +136 -0
  20. package/dist/src/__tests__/generics.test.js +4 -4
  21. package/dist/src/__tests__/impl.test.js +199 -0
  22. package/dist/src/__tests__/mc-integration.test.js +664 -0
  23. package/dist/src/__tests__/optimizer/constant_fold.test.js +105 -0
  24. package/dist/src/__tests__/optimizer/coroutine.test.js +3 -2
  25. package/dist/src/__tests__/optimizer/lir/peephole.test.js +92 -0
  26. package/dist/src/__tests__/parser.test.js +2 -2
  27. package/dist/src/__tests__/stdlib/calculus.test.d.ts +5 -0
  28. package/dist/src/__tests__/stdlib/calculus.test.js +123 -0
  29. package/dist/src/__tests__/stdlib/easing.test.d.ts +5 -0
  30. package/dist/src/__tests__/stdlib/easing.test.js +117 -0
  31. package/dist/src/__tests__/stdlib/geometry.test.d.ts +5 -0
  32. package/dist/src/__tests__/stdlib/geometry.test.js +163 -0
  33. package/dist/src/__tests__/stdlib/heap.test.d.ts +4 -0
  34. package/dist/src/__tests__/stdlib/heap.test.js +141 -0
  35. package/dist/src/__tests__/stdlib/list.test.d.ts +5 -0
  36. package/dist/src/__tests__/stdlib/list.test.js +134 -0
  37. package/dist/src/__tests__/stdlib/matrix.test.d.ts +5 -0
  38. package/dist/src/__tests__/stdlib/matrix.test.js +148 -0
  39. package/dist/src/__tests__/stdlib/pathfind.test.d.ts +4 -0
  40. package/dist/src/__tests__/stdlib/pathfind.test.js +167 -0
  41. package/dist/src/__tests__/stdlib/sort.test.d.ts +4 -0
  42. package/dist/src/__tests__/stdlib/sort.test.js +128 -0
  43. package/dist/src/__tests__/typechecker-strict.test.js +21 -21
  44. package/dist/src/ast/types.d.ts +14 -1
  45. package/dist/src/emit/compile.js +18 -1
  46. package/dist/src/emit/index.js +1 -1
  47. package/dist/src/events/types.js +1 -1
  48. package/dist/src/hir/lower.js +54 -1
  49. package/dist/src/hir/monomorphize.js +1 -1
  50. package/dist/src/hir/types.d.ts +5 -0
  51. package/dist/src/lexer/index.d.ts +1 -1
  52. package/dist/src/lexer/index.js +10 -1
  53. package/dist/src/lsp/main.js +0 -0
  54. package/dist/src/lsp/server.js +671 -28
  55. package/dist/src/mc-test/client.d.ts +13 -1
  56. package/dist/src/mc-test/client.js +29 -1
  57. package/dist/src/mir/lower.js +400 -17
  58. package/dist/src/optimizer/constant_fold.js +10 -6
  59. package/dist/src/optimizer/coroutine.js +90 -33
  60. package/dist/src/optimizer/lir/peephole.d.ts +13 -4
  61. package/dist/src/optimizer/lir/peephole.js +44 -5
  62. package/dist/src/parser/index.d.ts +4 -0
  63. package/dist/src/parser/index.js +125 -28
  64. package/dist/src/typechecker/index.d.ts +8 -1
  65. package/dist/src/typechecker/index.js +61 -9
  66. package/docs/LANGUAGE_REFERENCE.md +302 -67
  67. package/docs/stdlib/README.md +54 -0
  68. package/docs/stdlib/advanced.md +276 -0
  69. package/docs/stdlib/bigint.md +285 -0
  70. package/docs/stdlib/bits.md +159 -0
  71. package/docs/stdlib/bossbar.md +101 -0
  72. package/docs/stdlib/calculus.md +141 -0
  73. package/docs/stdlib/color.md +125 -0
  74. package/docs/stdlib/combat.md +41 -0
  75. package/docs/stdlib/cooldown.md +48 -0
  76. package/docs/stdlib/easing.md +157 -0
  77. package/docs/stdlib/effects.md +101 -0
  78. package/docs/stdlib/expr.md +38 -0
  79. package/docs/stdlib/geometry.md +130 -0
  80. package/docs/stdlib/interactions.md +111 -0
  81. package/docs/stdlib/inventory.md +53 -0
  82. package/docs/stdlib/list.md +189 -0
  83. package/docs/stdlib/math.md +334 -0
  84. package/docs/stdlib/math_hp.md +185 -0
  85. package/docs/stdlib/matrix.md +123 -0
  86. package/docs/stdlib/mobs.md +131 -0
  87. package/docs/stdlib/noise.md +103 -0
  88. package/docs/stdlib/parabola.md +119 -0
  89. package/docs/stdlib/particles.md +123 -0
  90. package/docs/stdlib/physics.md +148 -0
  91. package/docs/stdlib/player.md +43 -0
  92. package/docs/stdlib/quaternion.md +159 -0
  93. package/docs/stdlib/random.md +86 -0
  94. package/docs/stdlib/sets.md +68 -0
  95. package/docs/stdlib/signal.md +141 -0
  96. package/docs/stdlib/spawn.md +65 -0
  97. package/docs/stdlib/strings.md +17 -0
  98. package/docs/stdlib/tags.md +117 -0
  99. package/docs/stdlib/teams.md +87 -0
  100. package/docs/stdlib/timer.md +126 -0
  101. package/docs/stdlib/vec.md +193 -0
  102. package/docs/stdlib/world.md +151 -0
  103. package/editors/vscode/build.mjs +31 -12
  104. package/editors/vscode/out/extension.js +3060 -143
  105. package/editors/vscode/package-lock.json +3 -3
  106. package/editors/vscode/package.json +1 -1
  107. package/editors/vscode/src/extension.ts +11 -6
  108. package/examples/math-demo.mcrs +127 -0
  109. package/examples/readme-demo.mcrs +4 -4
  110. package/examples/showcase.mcrs +64 -109
  111. package/package.json +1 -1
  112. package/scripts/postbuild.js +20 -0
  113. package/src/__tests__/compile-all.test.ts +3 -2
  114. package/src/__tests__/diagnostics.test.ts +8 -10
  115. package/src/__tests__/double.test.ts +478 -0
  116. package/src/__tests__/e2e/for-in-array.test.ts +62 -0
  117. package/src/__tests__/e2e/macros.test.ts +7 -7
  118. package/src/__tests__/e2e/stdlib-e2e.test.ts +1686 -0
  119. package/src/__tests__/fixed.test.ts +159 -0
  120. package/src/__tests__/fixtures/coroutine-mc-test.mcrs +58 -0
  121. package/src/__tests__/fixtures/for-range.mcrs +15 -0
  122. package/src/__tests__/fixtures/heap-sort-mc-test.mcrs +87 -0
  123. package/src/__tests__/fixtures/impl-test.mcrs +13 -44
  124. package/src/__tests__/fixtures/stdlib-extra-test.mcrs +226 -0
  125. package/src/__tests__/fixtures/stdlib-math-integration.mcrs +28 -0
  126. package/src/__tests__/fixtures/stdlib-math-test.mcrs +53 -0
  127. package/src/__tests__/float-lint.test.ts +102 -0
  128. package/src/__tests__/float.test.ts +158 -0
  129. package/src/__tests__/for-range.test.ts +149 -0
  130. package/src/__tests__/generics.test.ts +4 -4
  131. package/src/__tests__/impl.test.ts +207 -0
  132. package/src/__tests__/mc-integration.test.ts +706 -0
  133. package/src/__tests__/optimizer/constant_fold.test.ts +115 -0
  134. package/src/__tests__/optimizer/coroutine.test.ts +3 -2
  135. package/src/__tests__/optimizer/lir/peephole.test.ts +100 -0
  136. package/src/__tests__/parser.test.ts +2 -2
  137. package/src/__tests__/stdlib/calculus.test.ts +99 -0
  138. package/src/__tests__/stdlib/easing.test.ts +97 -0
  139. package/src/__tests__/stdlib/geometry.test.ts +171 -0
  140. package/src/__tests__/stdlib/heap.test.ts +121 -0
  141. package/src/__tests__/stdlib/list.test.ts +117 -0
  142. package/src/__tests__/stdlib/matrix.test.ts +140 -0
  143. package/src/__tests__/stdlib/pathfind.test.ts +151 -0
  144. package/src/__tests__/stdlib/sort.test.ts +106 -0
  145. package/src/__tests__/typechecker-strict.test.ts +21 -21
  146. package/src/ast/types.ts +4 -2
  147. package/src/emit/compile.ts +21 -1
  148. package/src/emit/index.ts +1 -1
  149. package/src/events/types.ts +1 -1
  150. package/src/examples/tutorial_01_hello.mcrs +63 -0
  151. package/src/examples/tutorial_02_variables.mcrs +157 -0
  152. package/src/examples/tutorial_03_functions_structs.mcrs +162 -0
  153. package/src/examples/tutorial_04_selectors.mcrs +139 -0
  154. package/src/examples/tutorial_05_decorators.mcrs +131 -0
  155. package/src/examples/tutorial_06_math_particles.mcrs +123 -0
  156. package/src/examples/tutorial_07_random.mcrs +142 -0
  157. package/src/examples/tutorial_08_coroutine.mcrs +163 -0
  158. package/src/examples/tutorial_09_precision.mcrs +154 -0
  159. package/src/examples/tutorial_10_kill_race.mcrs +289 -0
  160. package/src/hir/lower.ts +56 -1
  161. package/src/hir/monomorphize.ts +1 -1
  162. package/src/hir/types.ts +2 -0
  163. package/src/lexer/index.ts +11 -2
  164. package/src/lsp/server.ts +667 -28
  165. package/src/mc-test/client.ts +32 -1
  166. package/src/mir/lower.ts +405 -19
  167. package/src/optimizer/constant_fold.ts +11 -6
  168. package/src/optimizer/coroutine.ts +89 -29
  169. package/src/optimizer/lir/peephole.ts +50 -5
  170. package/src/parser/index.ts +126 -28
  171. package/src/stdlib/advanced.mcrs +47 -0
  172. package/src/stdlib/bigint.mcrs +252 -100
  173. package/src/stdlib/calculus.mcrs +150 -0
  174. package/src/stdlib/color.mcrs +102 -82
  175. package/src/stdlib/easing.mcrs +182 -0
  176. package/src/stdlib/expr.mcrs +117 -0
  177. package/src/stdlib/geometry.mcrs +89 -0
  178. package/src/stdlib/heap.mcrs +175 -0
  179. package/src/stdlib/list.mcrs +99 -0
  180. package/src/stdlib/math.mcrs +121 -5
  181. package/src/stdlib/math_hp.mcrs +452 -0
  182. package/src/stdlib/matrix.mcrs +108 -0
  183. package/src/stdlib/noise.mcrs +153 -0
  184. package/src/stdlib/parabola.mcrs +160 -0
  185. package/src/stdlib/particles.mcrs +69 -0
  186. package/src/stdlib/pathfind.mcrs +321 -0
  187. package/src/stdlib/physics.mcrs +134 -0
  188. package/src/stdlib/quaternion.mcrs +192 -0
  189. package/src/stdlib/random.mcrs +46 -1
  190. package/src/stdlib/signal.mcrs +223 -0
  191. package/src/stdlib/sort.mcrs +109 -0
  192. package/src/stdlib/world.mcrs +24 -0
  193. package/src/typechecker/index.ts +73 -10
  194. package/dist/__tests__/cli.test.js +0 -278
  195. package/dist/__tests__/codegen.test.js +0 -152
  196. package/dist/__tests__/compile-all.test.d.ts +0 -10
  197. package/dist/__tests__/compile-all.test.js +0 -108
  198. package/dist/__tests__/dce.test.d.ts +0 -1
  199. package/dist/__tests__/dce.test.js +0 -138
  200. package/dist/__tests__/diagnostics.test.d.ts +0 -4
  201. package/dist/__tests__/diagnostics.test.js +0 -149
  202. package/dist/__tests__/e2e.test.d.ts +0 -6
  203. package/dist/__tests__/e2e.test.js +0 -1847
  204. package/dist/__tests__/entity-types.test.d.ts +0 -1
  205. package/dist/__tests__/entity-types.test.js +0 -203
  206. package/dist/__tests__/formatter.test.d.ts +0 -1
  207. package/dist/__tests__/formatter.test.js +0 -40
  208. package/dist/__tests__/lexer.test.d.ts +0 -1
  209. package/dist/__tests__/lexer.test.js +0 -343
  210. package/dist/__tests__/lowering.test.d.ts +0 -1
  211. package/dist/__tests__/lowering.test.js +0 -1015
  212. package/dist/__tests__/macro.test.d.ts +0 -8
  213. package/dist/__tests__/macro.test.js +0 -305
  214. package/dist/__tests__/mc-integration.test.d.ts +0 -12
  215. package/dist/__tests__/mc-integration.test.js +0 -819
  216. package/dist/__tests__/mc-syntax.test.d.ts +0 -1
  217. package/dist/__tests__/mc-syntax.test.js +0 -124
  218. package/dist/__tests__/nbt.test.d.ts +0 -1
  219. package/dist/__tests__/nbt.test.js +0 -82
  220. package/dist/__tests__/optimizer-advanced.test.d.ts +0 -1
  221. package/dist/__tests__/optimizer-advanced.test.js +0 -124
  222. package/dist/__tests__/optimizer.test.d.ts +0 -1
  223. package/dist/__tests__/optimizer.test.js +0 -149
  224. package/dist/__tests__/parser.test.d.ts +0 -1
  225. package/dist/__tests__/parser.test.js +0 -807
  226. package/dist/__tests__/repl.test.d.ts +0 -1
  227. package/dist/__tests__/repl.test.js +0 -27
  228. package/dist/__tests__/runtime.test.d.ts +0 -1
  229. package/dist/__tests__/runtime.test.js +0 -289
  230. package/dist/__tests__/stdlib-advanced.test.d.ts +0 -4
  231. package/dist/__tests__/stdlib-advanced.test.js +0 -378
  232. package/dist/__tests__/stdlib-bigint.test.d.ts +0 -7
  233. package/dist/__tests__/stdlib-bigint.test.js +0 -428
  234. package/dist/__tests__/stdlib-math.test.d.ts +0 -7
  235. package/dist/__tests__/stdlib-math.test.js +0 -352
  236. package/dist/__tests__/stdlib-vec.test.d.ts +0 -4
  237. package/dist/__tests__/stdlib-vec.test.js +0 -264
  238. package/dist/__tests__/structure-optimizer.test.d.ts +0 -1
  239. package/dist/__tests__/structure-optimizer.test.js +0 -33
  240. package/dist/__tests__/typechecker.test.d.ts +0 -1
  241. package/dist/__tests__/typechecker.test.js +0 -552
  242. package/dist/__tests__/var-allocator.test.d.ts +0 -1
  243. package/dist/__tests__/var-allocator.test.js +0 -69
  244. package/dist/ast/types.d.ts +0 -514
  245. package/dist/ast/types.js +0 -9
  246. package/dist/builtins/metadata.d.ts +0 -36
  247. package/dist/builtins/metadata.js +0 -1014
  248. package/dist/cli.d.ts +0 -11
  249. package/dist/codegen/cmdblock/index.d.ts +0 -26
  250. package/dist/codegen/cmdblock/index.js +0 -45
  251. package/dist/codegen/mcfunction/index.d.ts +0 -40
  252. package/dist/codegen/mcfunction/index.js +0 -606
  253. package/dist/codegen/structure/index.d.ts +0 -24
  254. package/dist/codegen/structure/index.js +0 -279
  255. package/dist/codegen/var-allocator.d.ts +0 -45
  256. package/dist/codegen/var-allocator.js +0 -104
  257. package/dist/compile.d.ts +0 -68
  258. package/dist/data/arena/function/__load.mcfunction +0 -6
  259. package/dist/data/arena/function/__tick.mcfunction +0 -2
  260. package/dist/data/arena/function/announce_leaders/else_1.mcfunction +0 -3
  261. package/dist/data/arena/function/announce_leaders/foreach_0/merge_2.mcfunction +0 -1
  262. package/dist/data/arena/function/announce_leaders/foreach_0/then_0.mcfunction +0 -3
  263. package/dist/data/arena/function/announce_leaders/foreach_0.mcfunction +0 -7
  264. package/dist/data/arena/function/announce_leaders/foreach_1/merge_2.mcfunction +0 -1
  265. package/dist/data/arena/function/announce_leaders/foreach_1/then_0.mcfunction +0 -4
  266. package/dist/data/arena/function/announce_leaders/foreach_1.mcfunction +0 -6
  267. package/dist/data/arena/function/announce_leaders/merge_2.mcfunction +0 -1
  268. package/dist/data/arena/function/announce_leaders/then_0.mcfunction +0 -4
  269. package/dist/data/arena/function/announce_leaders.mcfunction +0 -6
  270. package/dist/data/arena/function/arena_tick/merge_2.mcfunction +0 -1
  271. package/dist/data/arena/function/arena_tick/then_0.mcfunction +0 -4
  272. package/dist/data/arena/function/arena_tick.mcfunction +0 -11
  273. package/dist/data/capture_the_flag/function/add_to_team.mcfunction +0 -5
  274. package/dist/data/capture_the_flag/function/angry_at.mcfunction +0 -1
  275. package/dist/data/capture_the_flag/function/assign_teams.mcfunction +0 -1
  276. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1.mcfunction +0 -8
  277. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__else_2.mcfunction +0 -8
  278. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__merge_1.mcfunction +0 -3
  279. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__then_0.mcfunction +0 -8
  280. package/dist/data/capture_the_flag/function/barrier_wall.mcfunction +0 -1
  281. package/dist/data/capture_the_flag/function/buff_all.mcfunction +0 -22
  282. package/dist/data/capture_the_flag/function/check_flag_capture.mcfunction +0 -2
  283. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0.mcfunction +0 -8
  284. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__merge_1.mcfunction +0 -1
  285. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__then_0.mcfunction +0 -7
  286. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1.mcfunction +0 -8
  287. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__merge_1.mcfunction +0 -1
  288. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__then_0.mcfunction +0 -7
  289. package/dist/data/capture_the_flag/function/check_flag_pickup.mcfunction +0 -2
  290. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0.mcfunction +0 -8
  291. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__merge_1.mcfunction +0 -1
  292. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__then_0.mcfunction +0 -7
  293. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1.mcfunction +0 -8
  294. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__merge_1.mcfunction +0 -1
  295. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__then_0.mcfunction +0 -7
  296. package/dist/data/capture_the_flag/function/check_win.mcfunction +0 -4
  297. package/dist/data/capture_the_flag/function/cleanup_teams.mcfunction +0 -8
  298. package/dist/data/capture_the_flag/function/clear_area.mcfunction +0 -1
  299. package/dist/data/capture_the_flag/function/clear_effect.mcfunction +0 -1
  300. package/dist/data/capture_the_flag/function/clear_effects.mcfunction +0 -1
  301. package/dist/data/capture_the_flag/function/clear_inventory.mcfunction +0 -1
  302. package/dist/data/capture_the_flag/function/create_blue_team.mcfunction +0 -10
  303. package/dist/data/capture_the_flag/function/create_green_team.mcfunction +0 -10
  304. package/dist/data/capture_the_flag/function/create_red_team.mcfunction +0 -10
  305. package/dist/data/capture_the_flag/function/create_team.mcfunction +0 -8
  306. package/dist/data/capture_the_flag/function/create_yellow_team.mcfunction +0 -10
  307. package/dist/data/capture_the_flag/function/disable_fire_spread.mcfunction +0 -1
  308. package/dist/data/capture_the_flag/function/disable_keep_inventory.mcfunction +0 -1
  309. package/dist/data/capture_the_flag/function/disable_mob_griefing.mcfunction +0 -1
  310. package/dist/data/capture_the_flag/function/distance_to.mcfunction +0 -6
  311. package/dist/data/capture_the_flag/function/distance_to__const_0_0_0_0.mcfunction +0 -5
  312. package/dist/data/capture_the_flag/function/enable_keep_inventory.mcfunction +0 -1
  313. package/dist/data/capture_the_flag/function/end_game.mcfunction +0 -6
  314. package/dist/data/capture_the_flag/function/end_game__else_2.mcfunction +0 -3
  315. package/dist/data/capture_the_flag/function/end_game__foreach_t7.mcfunction +0 -2
  316. package/dist/data/capture_the_flag/function/end_game__merge_1.mcfunction +0 -1
  317. package/dist/data/capture_the_flag/function/end_game__then_0.mcfunction +0 -3
  318. package/dist/data/capture_the_flag/function/end_sparkles_at.mcfunction +0 -1
  319. package/dist/data/capture_the_flag/function/explosion_effect.mcfunction +0 -1
  320. package/dist/data/capture_the_flag/function/flames.mcfunction +0 -1
  321. package/dist/data/capture_the_flag/function/game_tick.mcfunction +0 -1
  322. package/dist/data/capture_the_flag/function/give_kit_archer.mcfunction +0 -6
  323. package/dist/data/capture_the_flag/function/give_kit_mage.mcfunction +0 -5
  324. package/dist/data/capture_the_flag/function/give_kit_warrior.mcfunction +0 -6
  325. package/dist/data/capture_the_flag/function/glass_box.mcfunction +0 -2
  326. package/dist/data/capture_the_flag/function/glow.mcfunction +0 -1
  327. package/dist/data/capture_the_flag/function/happy_at.mcfunction +0 -1
  328. package/dist/data/capture_the_flag/function/hearts_at.mcfunction +0 -1
  329. package/dist/data/capture_the_flag/function/init.mcfunction +0 -11
  330. package/dist/data/capture_the_flag/function/invisible.mcfunction +0 -1
  331. package/dist/data/capture_the_flag/function/jump.mcfunction +0 -1
  332. package/dist/data/capture_the_flag/function/load.mcfunction +0 -1
  333. package/dist/data/capture_the_flag/function/night_vision.mcfunction +0 -1
  334. package/dist/data/capture_the_flag/function/place_flags.mcfunction +0 -2
  335. package/dist/data/capture_the_flag/function/portal_effect.mcfunction +0 -1
  336. package/dist/data/capture_the_flag/function/regen.mcfunction +0 -1
  337. package/dist/data/capture_the_flag/function/remove_from_teams.mcfunction +0 -3
  338. package/dist/data/capture_the_flag/function/remove_item.mcfunction +0 -1
  339. package/dist/data/capture_the_flag/function/resistance.mcfunction +0 -1
  340. package/dist/data/capture_the_flag/function/set_day.mcfunction +0 -1
  341. package/dist/data/capture_the_flag/function/set_easy.mcfunction +0 -1
  342. package/dist/data/capture_the_flag/function/set_hard.mcfunction +0 -1
  343. package/dist/data/capture_the_flag/function/set_midnight.mcfunction +0 -1
  344. package/dist/data/capture_the_flag/function/set_night.mcfunction +0 -1
  345. package/dist/data/capture_the_flag/function/set_noon.mcfunction +0 -1
  346. package/dist/data/capture_the_flag/function/set_normal.mcfunction +0 -1
  347. package/dist/data/capture_the_flag/function/set_peaceful.mcfunction +0 -1
  348. package/dist/data/capture_the_flag/function/setup_four_teams.mcfunction +0 -4
  349. package/dist/data/capture_the_flag/function/setup_two_teams.mcfunction +0 -2
  350. package/dist/data/capture_the_flag/function/slow_fall.mcfunction +0 -1
  351. package/dist/data/capture_the_flag/function/smoke.mcfunction +0 -1
  352. package/dist/data/capture_the_flag/function/sparkles_at.mcfunction +0 -1
  353. package/dist/data/capture_the_flag/function/speed.mcfunction +0 -1
  354. package/dist/data/capture_the_flag/function/start_game.mcfunction +0 -15
  355. package/dist/data/capture_the_flag/function/start_game__foreach_t10.mcfunction +0 -4
  356. package/dist/data/capture_the_flag/function/strength.mcfunction +0 -1
  357. package/dist/data/capture_the_flag/function/totem_at.mcfunction +0 -1
  358. package/dist/data/capture_the_flag/function/weather_clear.mcfunction +0 -1
  359. package/dist/data/capture_the_flag/function/weather_rain.mcfunction +0 -1
  360. package/dist/data/capture_the_flag/function/weather_thunder.mcfunction +0 -1
  361. package/dist/data/counter/function/__load.mcfunction +0 -5
  362. package/dist/data/counter/function/__tick.mcfunction +0 -2
  363. package/dist/data/counter/function/counter_tick/merge_2.mcfunction +0 -1
  364. package/dist/data/counter/function/counter_tick/then_0.mcfunction +0 -3
  365. package/dist/data/counter/function/counter_tick.mcfunction +0 -11
  366. package/dist/data/gcd2/function/__load.mcfunction +0 -3
  367. package/dist/data/gcd2/function/abs/merge_2.mcfunction +0 -3
  368. package/dist/data/gcd2/function/abs/then_0.mcfunction +0 -5
  369. package/dist/data/gcd2/function/abs.mcfunction +0 -7
  370. package/dist/data/gcd2/function/gcd/loop_body_1.mcfunction +0 -7
  371. package/dist/data/gcd2/function/gcd/loop_check_0.mcfunction +0 -5
  372. package/dist/data/gcd2/function/gcd/loop_exit_2.mcfunction +0 -3
  373. package/dist/data/gcd2/function/gcd.mcfunction +0 -14
  374. package/dist/data/gcd3/function/__load.mcfunction +0 -3
  375. package/dist/data/gcd3/function/abs/merge_2.mcfunction +0 -3
  376. package/dist/data/gcd3/function/abs/then_0.mcfunction +0 -5
  377. package/dist/data/gcd3/function/abs.mcfunction +0 -7
  378. package/dist/data/gcd3/function/gcd/loop_body_1.mcfunction +0 -7
  379. package/dist/data/gcd3/function/gcd/loop_check_0.mcfunction +0 -5
  380. package/dist/data/gcd3/function/gcd/loop_exit_2.mcfunction +0 -3
  381. package/dist/data/gcd3/function/gcd.mcfunction +0 -14
  382. package/dist/data/gcd3/function/test.mcfunction +0 -7
  383. package/dist/data/gcd3nm/function/__load.mcfunction +0 -3
  384. package/dist/data/gcd3nm/function/abs/merge_2.mcfunction +0 -3
  385. package/dist/data/gcd3nm/function/abs/then_0.mcfunction +0 -5
  386. package/dist/data/gcd3nm/function/abs.mcfunction +0 -7
  387. package/dist/data/gcd3nm/function/gcd/loop_body_1.mcfunction +0 -7
  388. package/dist/data/gcd3nm/function/gcd/loop_check_0.mcfunction +0 -5
  389. package/dist/data/gcd3nm/function/gcd/loop_exit_2.mcfunction +0 -3
  390. package/dist/data/gcd3nm/function/gcd.mcfunction +0 -14
  391. package/dist/data/gcd3nm/function/test.mcfunction +0 -7
  392. package/dist/data/gcd_test/function/__load.mcfunction +0 -3
  393. package/dist/data/gcd_test/function/abs/merge_2.mcfunction +0 -3
  394. package/dist/data/gcd_test/function/abs/then_0.mcfunction +0 -5
  395. package/dist/data/gcd_test/function/abs.mcfunction +0 -7
  396. package/dist/data/gcd_test/function/gcd/loop_body_1.mcfunction +0 -7
  397. package/dist/data/gcd_test/function/gcd/loop_check_0.mcfunction +0 -5
  398. package/dist/data/gcd_test/function/gcd/loop_exit_2.mcfunction +0 -3
  399. package/dist/data/gcd_test/function/gcd.mcfunction +0 -14
  400. package/dist/data/hunger_games/function/angry_at.mcfunction +0 -1
  401. package/dist/data/hunger_games/function/barrier_wall.mcfunction +0 -1
  402. package/dist/data/hunger_games/function/buff_all.mcfunction +0 -22
  403. package/dist/data/hunger_games/function/check_alive.mcfunction +0 -3
  404. package/dist/data/hunger_games/function/check_alive__foreach_t3.mcfunction +0 -10
  405. package/dist/data/hunger_games/function/check_alive__foreach_t3__merge_1.mcfunction +0 -1
  406. package/dist/data/hunger_games/function/check_alive__foreach_t3__then_0.mcfunction +0 -5
  407. package/dist/data/hunger_games/function/check_border_damage.mcfunction +0 -1
  408. package/dist/data/hunger_games/function/check_border_damage__foreach_t0.mcfunction +0 -1
  409. package/dist/data/hunger_games/function/clear_area.mcfunction +0 -1
  410. package/dist/data/hunger_games/function/clear_effect.mcfunction +0 -1
  411. package/dist/data/hunger_games/function/clear_effects.mcfunction +0 -1
  412. package/dist/data/hunger_games/function/countdown_tick.mcfunction +0 -1
  413. package/dist/data/hunger_games/function/create_health_bar.mcfunction +0 -24
  414. package/dist/data/hunger_games/function/create_progress_bar.mcfunction +0 -24
  415. package/dist/data/hunger_games/function/create_progress_bar__const_0_0_0.mcfunction +0 -21
  416. package/dist/data/hunger_games/function/create_timer_bar.mcfunction +0 -30
  417. package/dist/data/hunger_games/function/declare_winner.mcfunction +0 -13
  418. package/dist/data/hunger_games/function/disable_fire_spread.mcfunction +0 -1
  419. package/dist/data/hunger_games/function/disable_keep_inventory.mcfunction +0 -1
  420. package/dist/data/hunger_games/function/disable_mob_griefing.mcfunction +0 -1
  421. package/dist/data/hunger_games/function/enable_keep_inventory.mcfunction +0 -1
  422. package/dist/data/hunger_games/function/end_game_no_winner.mcfunction +0 -3
  423. package/dist/data/hunger_games/function/end_sparkles_at.mcfunction +0 -1
  424. package/dist/data/hunger_games/function/explosion_effect.mcfunction +0 -1
  425. package/dist/data/hunger_games/function/flames.mcfunction +0 -1
  426. package/dist/data/hunger_games/function/game_tick.mcfunction +0 -1
  427. package/dist/data/hunger_games/function/glass_box.mcfunction +0 -2
  428. package/dist/data/hunger_games/function/glow.mcfunction +0 -1
  429. package/dist/data/hunger_games/function/happy_at.mcfunction +0 -1
  430. package/dist/data/hunger_games/function/hearts_at.mcfunction +0 -1
  431. package/dist/data/hunger_games/function/hide_bar.mcfunction +0 -4
  432. package/dist/data/hunger_games/function/init.mcfunction +0 -7
  433. package/dist/data/hunger_games/function/invisible.mcfunction +0 -1
  434. package/dist/data/hunger_games/function/jump.mcfunction +0 -1
  435. package/dist/data/hunger_games/function/load.mcfunction +0 -1
  436. package/dist/data/hunger_games/function/main_game_tick.mcfunction +0 -4
  437. package/dist/data/hunger_games/function/night_vision.mcfunction +0 -1
  438. package/dist/data/hunger_games/function/on_player_death.mcfunction +0 -14
  439. package/dist/data/hunger_games/function/portal_effect.mcfunction +0 -1
  440. package/dist/data/hunger_games/function/regen.mcfunction +0 -1
  441. package/dist/data/hunger_games/function/remove_bar.mcfunction +0 -3
  442. package/dist/data/hunger_games/function/remove_bar__const_0.mcfunction +0 -2
  443. package/dist/data/hunger_games/function/reset_game.mcfunction +0 -3
  444. package/dist/data/hunger_games/function/reset_game__foreach_t0.mcfunction +0 -9
  445. package/dist/data/hunger_games/function/resistance.mcfunction +0 -1
  446. package/dist/data/hunger_games/function/set_day.mcfunction +0 -1
  447. package/dist/data/hunger_games/function/set_easy.mcfunction +0 -1
  448. package/dist/data/hunger_games/function/set_hard.mcfunction +0 -1
  449. package/dist/data/hunger_games/function/set_midnight.mcfunction +0 -1
  450. package/dist/data/hunger_games/function/set_night.mcfunction +0 -1
  451. package/dist/data/hunger_games/function/set_noon.mcfunction +0 -1
  452. package/dist/data/hunger_games/function/set_normal.mcfunction +0 -1
  453. package/dist/data/hunger_games/function/set_peaceful.mcfunction +0 -1
  454. package/dist/data/hunger_games/function/show_bar.mcfunction +0 -4
  455. package/dist/data/hunger_games/function/shrink_border.mcfunction +0 -1
  456. package/dist/data/hunger_games/function/slow_fall.mcfunction +0 -1
  457. package/dist/data/hunger_games/function/smoke.mcfunction +0 -1
  458. package/dist/data/hunger_games/function/sparkles_at.mcfunction +0 -1
  459. package/dist/data/hunger_games/function/speed.mcfunction +0 -1
  460. package/dist/data/hunger_games/function/start_countdown.mcfunction +0 -3
  461. package/dist/data/hunger_games/function/start_countdown__foreach_t0.mcfunction +0 -16
  462. package/dist/data/hunger_games/function/start_game.mcfunction +0 -4
  463. package/dist/data/hunger_games/function/start_game__foreach_t3.mcfunction +0 -4
  464. package/dist/data/hunger_games/function/strength.mcfunction +0 -1
  465. package/dist/data/hunger_games/function/totem_at.mcfunction +0 -1
  466. package/dist/data/hunger_games/function/update_bar.mcfunction +0 -5
  467. package/dist/data/hunger_games/function/update_bar__const_0_0.mcfunction +0 -3
  468. package/dist/data/hunger_games/function/update_bar_color.mcfunction +0 -7
  469. package/dist/data/hunger_games/function/update_bar_color__else_2.mcfunction +0 -5
  470. package/dist/data/hunger_games/function/update_bar_color__else_5.mcfunction +0 -4
  471. package/dist/data/hunger_games/function/update_bar_color__merge_1.mcfunction +0 -1
  472. package/dist/data/hunger_games/function/update_bar_color__merge_4.mcfunction +0 -1
  473. package/dist/data/hunger_games/function/update_bar_color__then_0.mcfunction +0 -4
  474. package/dist/data/hunger_games/function/update_bar_color__then_3.mcfunction +0 -4
  475. package/dist/data/hunger_games/function/weather_clear.mcfunction +0 -1
  476. package/dist/data/hunger_games/function/weather_rain.mcfunction +0 -1
  477. package/dist/data/hunger_games/function/weather_thunder.mcfunction +0 -1
  478. package/dist/data/isqrttest/function/__load.mcfunction +0 -6
  479. package/dist/data/isqrttest/function/isqrt/loop_body_4.mcfunction +0 -12
  480. package/dist/data/isqrttest/function/isqrt/loop_check_3.mcfunction +0 -5
  481. package/dist/data/isqrttest/function/isqrt/loop_exit_5.mcfunction +0 -3
  482. package/dist/data/isqrttest/function/isqrt/merge_2.mcfunction +0 -4
  483. package/dist/data/isqrttest/function/isqrt/merge_8.mcfunction +0 -6
  484. package/dist/data/isqrttest/function/isqrt/then_0.mcfunction +0 -3
  485. package/dist/data/isqrttest/function/isqrt/then_6.mcfunction +0 -3
  486. package/dist/data/isqrttest/function/isqrt.mcfunction +0 -7
  487. package/dist/data/isqrttest/function/test.mcfunction +0 -6
  488. package/dist/data/macrotest/function/get_element.mcfunction +0 -2
  489. package/dist/data/macrotest/function/load.mcfunction +0 -1
  490. package/dist/data/macrotest/function/test_dynamic_index.mcfunction +0 -2
  491. package/dist/data/mathtest/function/__load.mcfunction +0 -3
  492. package/dist/data/mathtest/function/abs/merge_2.mcfunction +0 -3
  493. package/dist/data/mathtest/function/abs/then_0.mcfunction +0 -5
  494. package/dist/data/mathtest/function/abs.mcfunction +0 -6
  495. package/dist/data/mathtest/function/test.mcfunction +0 -5
  496. package/dist/data/minecraft/tags/function/load.json +0 -5
  497. package/dist/data/minecraft/tags/function/tick.json +0 -5
  498. package/dist/data/mypack/function/__load.mcfunction +0 -13
  499. package/dist/data/mypack/function/_atan_init.mcfunction +0 -2
  500. package/dist/data/mypack/function/abs/merge_2.mcfunction +0 -3
  501. package/dist/data/mypack/function/abs/then_0.mcfunction +0 -5
  502. package/dist/data/mypack/function/abs.mcfunction +0 -6
  503. package/dist/data/mypack/function/atan2_fixed/__sgi_1.mcfunction +0 -2
  504. package/dist/data/mypack/function/atan2_fixed/else_34.mcfunction +0 -3
  505. package/dist/data/mypack/function/atan2_fixed/loop_body_31.mcfunction +0 -19
  506. package/dist/data/mypack/function/atan2_fixed/loop_check_30.mcfunction +0 -5
  507. package/dist/data/mypack/function/atan2_fixed/loop_exit_32.mcfunction +0 -6
  508. package/dist/data/mypack/function/atan2_fixed/merge_11.mcfunction +0 -6
  509. package/dist/data/mypack/function/atan2_fixed/merge_14.mcfunction +0 -3
  510. package/dist/data/mypack/function/atan2_fixed/merge_17.mcfunction +0 -6
  511. package/dist/data/mypack/function/atan2_fixed/merge_2.mcfunction +0 -5
  512. package/dist/data/mypack/function/atan2_fixed/merge_20.mcfunction +0 -5
  513. package/dist/data/mypack/function/atan2_fixed/merge_23.mcfunction +0 -5
  514. package/dist/data/mypack/function/atan2_fixed/merge_26.mcfunction +0 -6
  515. package/dist/data/mypack/function/atan2_fixed/merge_29.mcfunction +0 -4
  516. package/dist/data/mypack/function/atan2_fixed/merge_38.mcfunction +0 -5
  517. package/dist/data/mypack/function/atan2_fixed/merge_41.mcfunction +0 -5
  518. package/dist/data/mypack/function/atan2_fixed/merge_44.mcfunction +0 -5
  519. package/dist/data/mypack/function/atan2_fixed/merge_47.mcfunction +0 -5
  520. package/dist/data/mypack/function/atan2_fixed/merge_5.mcfunction +0 -5
  521. package/dist/data/mypack/function/atan2_fixed/merge_8.mcfunction +0 -3
  522. package/dist/data/mypack/function/atan2_fixed/then_0.mcfunction +0 -5
  523. package/dist/data/mypack/function/atan2_fixed/then_12.mcfunction +0 -3
  524. package/dist/data/mypack/function/atan2_fixed/then_15.mcfunction +0 -5
  525. package/dist/data/mypack/function/atan2_fixed/then_18.mcfunction +0 -5
  526. package/dist/data/mypack/function/atan2_fixed/then_21.mcfunction +0 -3
  527. package/dist/data/mypack/function/atan2_fixed/then_24.mcfunction +0 -3
  528. package/dist/data/mypack/function/atan2_fixed/then_27.mcfunction +0 -6
  529. package/dist/data/mypack/function/atan2_fixed/then_3.mcfunction +0 -3
  530. package/dist/data/mypack/function/atan2_fixed/then_33.mcfunction +0 -5
  531. package/dist/data/mypack/function/atan2_fixed/then_36.mcfunction +0 -5
  532. package/dist/data/mypack/function/atan2_fixed/then_39.mcfunction +0 -5
  533. package/dist/data/mypack/function/atan2_fixed/then_42.mcfunction +0 -3
  534. package/dist/data/mypack/function/atan2_fixed/then_45.mcfunction +0 -5
  535. package/dist/data/mypack/function/atan2_fixed/then_6.mcfunction +0 -3
  536. package/dist/data/mypack/function/atan2_fixed/then_9.mcfunction +0 -5
  537. package/dist/data/mypack/function/atan2_fixed.mcfunction +0 -7
  538. package/dist/data/mypack/function/my_game.mcfunction +0 -10
  539. package/dist/data/parkour_race/function/angry_at.mcfunction +0 -1
  540. package/dist/data/parkour_race/function/barrier_wall.mcfunction +0 -1
  541. package/dist/data/parkour_race/function/buff_all.mcfunction +0 -22
  542. package/dist/data/parkour_race/function/check_checkpoints.mcfunction +0 -11
  543. package/dist/data/parkour_race/function/check_checkpoints__exec_t11.mcfunction +0 -4
  544. package/dist/data/parkour_race/function/check_checkpoints__exec_t13.mcfunction +0 -3
  545. package/dist/data/parkour_race/function/check_checkpoints__exec_t5.mcfunction +0 -4
  546. package/dist/data/parkour_race/function/check_checkpoints__exec_t7.mcfunction +0 -4
  547. package/dist/data/parkour_race/function/check_checkpoints__exec_t9.mcfunction +0 -4
  548. package/dist/data/parkour_race/function/check_checkpoints__merge_1.mcfunction +0 -5
  549. package/dist/data/parkour_race/function/check_checkpoints__merge_3.mcfunction +0 -5
  550. package/dist/data/parkour_race/function/check_checkpoints__merge_5.mcfunction +0 -5
  551. package/dist/data/parkour_race/function/check_checkpoints__merge_7.mcfunction +0 -5
  552. package/dist/data/parkour_race/function/check_checkpoints__merge_9.mcfunction +0 -1
  553. package/dist/data/parkour_race/function/check_checkpoints__then_0.mcfunction +0 -2
  554. package/dist/data/parkour_race/function/check_checkpoints__then_2.mcfunction +0 -2
  555. package/dist/data/parkour_race/function/check_checkpoints__then_4.mcfunction +0 -2
  556. package/dist/data/parkour_race/function/check_checkpoints__then_6.mcfunction +0 -2
  557. package/dist/data/parkour_race/function/check_checkpoints__then_8.mcfunction +0 -2
  558. package/dist/data/parkour_race/function/check_fall.mcfunction +0 -1
  559. package/dist/data/parkour_race/function/check_fall__exec_t1.mcfunction +0 -10
  560. package/dist/data/parkour_race/function/clear_area.mcfunction +0 -1
  561. package/dist/data/parkour_race/function/clear_effect.mcfunction +0 -1
  562. package/dist/data/parkour_race/function/clear_effects.mcfunction +0 -1
  563. package/dist/data/parkour_race/function/create_health_bar.mcfunction +0 -24
  564. package/dist/data/parkour_race/function/create_progress_bar.mcfunction +0 -24
  565. package/dist/data/parkour_race/function/create_timer_bar.mcfunction +0 -30
  566. package/dist/data/parkour_race/function/disable_fire_spread.mcfunction +0 -1
  567. package/dist/data/parkour_race/function/disable_keep_inventory.mcfunction +0 -1
  568. package/dist/data/parkour_race/function/disable_mob_griefing.mcfunction +0 -1
  569. package/dist/data/parkour_race/function/enable_keep_inventory.mcfunction +0 -1
  570. package/dist/data/parkour_race/function/end_sparkles_at.mcfunction +0 -1
  571. package/dist/data/parkour_race/function/explosion_effect.mcfunction +0 -1
  572. package/dist/data/parkour_race/function/finish_race.mcfunction +0 -20
  573. package/dist/data/parkour_race/function/finish_race__else_2.mcfunction +0 -4
  574. package/dist/data/parkour_race/function/finish_race__else_5.mcfunction +0 -3
  575. package/dist/data/parkour_race/function/finish_race__merge_1.mcfunction +0 -3
  576. package/dist/data/parkour_race/function/finish_race__merge_4.mcfunction +0 -1
  577. package/dist/data/parkour_race/function/finish_race__then_0.mcfunction +0 -8
  578. package/dist/data/parkour_race/function/finish_race__then_3.mcfunction +0 -10
  579. package/dist/data/parkour_race/function/flames.mcfunction +0 -1
  580. package/dist/data/parkour_race/function/glass_box.mcfunction +0 -2
  581. package/dist/data/parkour_race/function/glow.mcfunction +0 -1
  582. package/dist/data/parkour_race/function/happy_at.mcfunction +0 -1
  583. package/dist/data/parkour_race/function/hearts_at.mcfunction +0 -1
  584. package/dist/data/parkour_race/function/hide_bar.mcfunction +0 -4
  585. package/dist/data/parkour_race/function/init.mcfunction +0 -18
  586. package/dist/data/parkour_race/function/invisible.mcfunction +0 -1
  587. package/dist/data/parkour_race/function/jump.mcfunction +0 -1
  588. package/dist/data/parkour_race/function/load.mcfunction +0 -1
  589. package/dist/data/parkour_race/function/night_vision.mcfunction +0 -1
  590. package/dist/data/parkour_race/function/portal_effect.mcfunction +0 -1
  591. package/dist/data/parkour_race/function/quit_race.mcfunction +0 -10
  592. package/dist/data/parkour_race/function/quit_race__merge_1.mcfunction +0 -1
  593. package/dist/data/parkour_race/function/quit_race__then_0.mcfunction +0 -11
  594. package/dist/data/parkour_race/function/race_tick.mcfunction +0 -1
  595. package/dist/data/parkour_race/function/race_tick__foreach_t0.mcfunction +0 -10
  596. package/dist/data/parkour_race/function/race_tick__foreach_t0__merge_1.mcfunction +0 -1
  597. package/dist/data/parkour_race/function/race_tick__foreach_t0__then_0.mcfunction +0 -13
  598. package/dist/data/parkour_race/function/reach_checkpoint.mcfunction +0 -11
  599. package/dist/data/parkour_race/function/regen.mcfunction +0 -1
  600. package/dist/data/parkour_race/function/remove_bar.mcfunction +0 -3
  601. package/dist/data/parkour_race/function/resistance.mcfunction +0 -1
  602. package/dist/data/parkour_race/function/respawn_at_checkpoint.mcfunction +0 -7
  603. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_1.mcfunction +0 -5
  604. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_3.mcfunction +0 -5
  605. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_5.mcfunction +0 -5
  606. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_7.mcfunction +0 -5
  607. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_9.mcfunction +0 -1
  608. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_0.mcfunction +0 -6
  609. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_2.mcfunction +0 -6
  610. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_4.mcfunction +0 -6
  611. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_6.mcfunction +0 -6
  612. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_8.mcfunction +0 -6
  613. package/dist/data/parkour_race/function/set_day.mcfunction +0 -1
  614. package/dist/data/parkour_race/function/set_easy.mcfunction +0 -1
  615. package/dist/data/parkour_race/function/set_hard.mcfunction +0 -1
  616. package/dist/data/parkour_race/function/set_midnight.mcfunction +0 -1
  617. package/dist/data/parkour_race/function/set_night.mcfunction +0 -1
  618. package/dist/data/parkour_race/function/set_noon.mcfunction +0 -1
  619. package/dist/data/parkour_race/function/set_normal.mcfunction +0 -1
  620. package/dist/data/parkour_race/function/set_peaceful.mcfunction +0 -1
  621. package/dist/data/parkour_race/function/show_bar.mcfunction +0 -4
  622. package/dist/data/parkour_race/function/show_leaderboard.mcfunction +0 -4
  623. package/dist/data/parkour_race/function/slow_fall.mcfunction +0 -1
  624. package/dist/data/parkour_race/function/smoke.mcfunction +0 -1
  625. package/dist/data/parkour_race/function/sparkles_at.mcfunction +0 -1
  626. package/dist/data/parkour_race/function/speed.mcfunction +0 -1
  627. package/dist/data/parkour_race/function/start_race.mcfunction +0 -10
  628. package/dist/data/parkour_race/function/start_race__merge_1.mcfunction +0 -23
  629. package/dist/data/parkour_race/function/start_race__then_0.mcfunction +0 -1
  630. package/dist/data/parkour_race/function/strength.mcfunction +0 -1
  631. package/dist/data/parkour_race/function/totem_at.mcfunction +0 -1
  632. package/dist/data/parkour_race/function/update_bar.mcfunction +0 -5
  633. package/dist/data/parkour_race/function/update_bar_color.mcfunction +0 -7
  634. package/dist/data/parkour_race/function/update_bar_color__else_2.mcfunction +0 -5
  635. package/dist/data/parkour_race/function/update_bar_color__else_5.mcfunction +0 -4
  636. package/dist/data/parkour_race/function/update_bar_color__merge_1.mcfunction +0 -1
  637. package/dist/data/parkour_race/function/update_bar_color__merge_4.mcfunction +0 -1
  638. package/dist/data/parkour_race/function/update_bar_color__then_0.mcfunction +0 -4
  639. package/dist/data/parkour_race/function/update_bar_color__then_3.mcfunction +0 -4
  640. package/dist/data/parkour_race/function/weather_clear.mcfunction +0 -1
  641. package/dist/data/parkour_race/function/weather_rain.mcfunction +0 -1
  642. package/dist/data/parkour_race/function/weather_thunder.mcfunction +0 -1
  643. package/dist/data/quiz/function/__load.mcfunction +0 -16
  644. package/dist/data/quiz/function/__tick.mcfunction +0 -6
  645. package/dist/data/quiz/function/__trigger_quiz_a_dispatch.mcfunction +0 -4
  646. package/dist/data/quiz/function/__trigger_quiz_b_dispatch.mcfunction +0 -4
  647. package/dist/data/quiz/function/__trigger_quiz_c_dispatch.mcfunction +0 -4
  648. package/dist/data/quiz/function/__trigger_quiz_start_dispatch.mcfunction +0 -4
  649. package/dist/data/quiz/function/answer_a.mcfunction +0 -4
  650. package/dist/data/quiz/function/answer_b.mcfunction +0 -4
  651. package/dist/data/quiz/function/answer_c.mcfunction +0 -4
  652. package/dist/data/quiz/function/ask_question/else_1.mcfunction +0 -5
  653. package/dist/data/quiz/function/ask_question/else_4.mcfunction +0 -5
  654. package/dist/data/quiz/function/ask_question/else_7.mcfunction +0 -4
  655. package/dist/data/quiz/function/ask_question/merge_2.mcfunction +0 -1
  656. package/dist/data/quiz/function/ask_question/merge_5.mcfunction +0 -2
  657. package/dist/data/quiz/function/ask_question/merge_8.mcfunction +0 -2
  658. package/dist/data/quiz/function/ask_question/then_0.mcfunction +0 -4
  659. package/dist/data/quiz/function/ask_question/then_3.mcfunction +0 -4
  660. package/dist/data/quiz/function/ask_question/then_6.mcfunction +0 -4
  661. package/dist/data/quiz/function/ask_question.mcfunction +0 -7
  662. package/dist/data/quiz/function/finish_quiz.mcfunction +0 -6
  663. package/dist/data/quiz/function/handle_answer/else_1.mcfunction +0 -5
  664. package/dist/data/quiz/function/handle_answer/else_10.mcfunction +0 -3
  665. package/dist/data/quiz/function/handle_answer/else_16.mcfunction +0 -3
  666. package/dist/data/quiz/function/handle_answer/else_4.mcfunction +0 -3
  667. package/dist/data/quiz/function/handle_answer/else_7.mcfunction +0 -5
  668. package/dist/data/quiz/function/handle_answer/merge_11.mcfunction +0 -2
  669. package/dist/data/quiz/function/handle_answer/merge_14.mcfunction +0 -2
  670. package/dist/data/quiz/function/handle_answer/merge_17.mcfunction +0 -2
  671. package/dist/data/quiz/function/handle_answer/merge_2.mcfunction +0 -8
  672. package/dist/data/quiz/function/handle_answer/merge_5.mcfunction +0 -2
  673. package/dist/data/quiz/function/handle_answer/merge_8.mcfunction +0 -2
  674. package/dist/data/quiz/function/handle_answer/then_0.mcfunction +0 -5
  675. package/dist/data/quiz/function/handle_answer/then_12.mcfunction +0 -5
  676. package/dist/data/quiz/function/handle_answer/then_15.mcfunction +0 -6
  677. package/dist/data/quiz/function/handle_answer/then_3.mcfunction +0 -6
  678. package/dist/data/quiz/function/handle_answer/then_6.mcfunction +0 -5
  679. package/dist/data/quiz/function/handle_answer/then_9.mcfunction +0 -6
  680. package/dist/data/quiz/function/handle_answer.mcfunction +0 -11
  681. package/dist/data/quiz/function/start_quiz.mcfunction +0 -5
  682. package/dist/data/rawtest/function/load.mcfunction +0 -1
  683. package/dist/data/rawtest/function/test.mcfunction +0 -2
  684. package/dist/data/reqtest/function/__load.mcfunction +0 -4
  685. package/dist/data/reqtest/function/_table_init.mcfunction +0 -2
  686. package/dist/data/reqtest/function/no_trig.mcfunction +0 -3
  687. package/dist/data/reqtest/function/use_table.mcfunction +0 -4
  688. package/dist/data/reqtest2/function/__load.mcfunction +0 -3
  689. package/dist/data/reqtest2/function/no_trig.mcfunction +0 -3
  690. package/dist/data/runtime/function/__load.mcfunction +0 -5
  691. package/dist/data/runtime/function/__tick.mcfunction +0 -2
  692. package/dist/data/runtime/function/counter_tick/then_0.mcfunction +0 -3
  693. package/dist/data/runtime/function/counter_tick.mcfunction +0 -13
  694. package/dist/data/shop/function/__load.mcfunction +0 -7
  695. package/dist/data/shop/function/__tick.mcfunction +0 -3
  696. package/dist/data/shop/function/__trigger_shop_buy_dispatch.mcfunction +0 -4
  697. package/dist/data/shop/function/complete_purchase/else_1.mcfunction +0 -5
  698. package/dist/data/shop/function/complete_purchase/else_4.mcfunction +0 -5
  699. package/dist/data/shop/function/complete_purchase/else_7.mcfunction +0 -3
  700. package/dist/data/shop/function/complete_purchase/merge_2.mcfunction +0 -2
  701. package/dist/data/shop/function/complete_purchase/merge_5.mcfunction +0 -2
  702. package/dist/data/shop/function/complete_purchase/merge_8.mcfunction +0 -2
  703. package/dist/data/shop/function/complete_purchase/then_0.mcfunction +0 -4
  704. package/dist/data/shop/function/complete_purchase/then_3.mcfunction +0 -4
  705. package/dist/data/shop/function/complete_purchase/then_6.mcfunction +0 -4
  706. package/dist/data/shop/function/complete_purchase.mcfunction +0 -7
  707. package/dist/data/shop/function/handle_shop_trigger.mcfunction +0 -3
  708. package/dist/data/swap_test/function/__load.mcfunction +0 -3
  709. package/dist/data/swap_test/function/gcd_old/loop_body_1.mcfunction +0 -7
  710. package/dist/data/swap_test/function/gcd_old/loop_check_0.mcfunction +0 -5
  711. package/dist/data/swap_test/function/gcd_old/loop_exit_2.mcfunction +0 -3
  712. package/dist/data/swap_test/function/gcd_old.mcfunction +0 -8
  713. package/dist/data/test/function/_atan_init.mcfunction +0 -4
  714. package/dist/data/test/function/_hsl_chroma_x.mcfunction +0 -11
  715. package/dist/data/test/function/_hsl_chroma_x__merge_1.mcfunction +0 -6
  716. package/dist/data/test/function/_hsl_chroma_x__then_0.mcfunction +0 -4
  717. package/dist/data/test/function/_math_init.mcfunction +0 -4
  718. package/dist/data/test/function/aabb_contains.mcfunction +0 -13
  719. package/dist/data/test/function/aabb_contains__merge_1.mcfunction +0 -4
  720. package/dist/data/test/function/aabb_contains__merge_10.mcfunction +0 -4
  721. package/dist/data/test/function/aabb_contains__merge_13.mcfunction +0 -4
  722. package/dist/data/test/function/aabb_contains__merge_16.mcfunction +0 -2
  723. package/dist/data/test/function/aabb_contains__merge_4.mcfunction +0 -4
  724. package/dist/data/test/function/aabb_contains__merge_7.mcfunction +0 -4
  725. package/dist/data/test/function/aabb_contains__then_0.mcfunction +0 -2
  726. package/dist/data/test/function/aabb_contains__then_12.mcfunction +0 -2
  727. package/dist/data/test/function/aabb_contains__then_15.mcfunction +0 -2
  728. package/dist/data/test/function/aabb_contains__then_3.mcfunction +0 -2
  729. package/dist/data/test/function/aabb_contains__then_6.mcfunction +0 -2
  730. package/dist/data/test/function/aabb_contains__then_9.mcfunction +0 -2
  731. package/dist/data/test/function/add2d_x.mcfunction +0 -5
  732. package/dist/data/test/function/add2d_y.mcfunction +0 -5
  733. package/dist/data/test/function/add3d_x.mcfunction +0 -5
  734. package/dist/data/test/function/add3d_y.mcfunction +0 -5
  735. package/dist/data/test/function/add3d_z.mcfunction +0 -5
  736. package/dist/data/test/function/angle_diff.mcfunction +0 -13
  737. package/dist/data/test/function/angle_diff__merge_1.mcfunction +0 -1
  738. package/dist/data/test/function/angle_diff__then_0.mcfunction +0 -4
  739. package/dist/data/test/function/angle_normalize.mcfunction +0 -3
  740. package/dist/data/test/function/angle_normalize__loop_body_1.mcfunction +0 -4
  741. package/dist/data/test/function/angle_normalize__loop_body_4.mcfunction +0 -4
  742. package/dist/data/test/function/angle_normalize__loop_exit_2.mcfunction +0 -1
  743. package/dist/data/test/function/angle_normalize__loop_exit_5.mcfunction +0 -1
  744. package/dist/data/test/function/angle_normalize__loop_header_0.mcfunction +0 -5
  745. package/dist/data/test/function/angle_normalize__loop_header_3.mcfunction +0 -5
  746. package/dist/data/test/function/approx_eq.mcfunction +0 -11
  747. package/dist/data/test/function/approx_eq__merge_1.mcfunction +0 -4
  748. package/dist/data/test/function/approx_eq__merge_3.mcfunction +0 -2
  749. package/dist/data/test/function/approx_eq__then_0.mcfunction +0 -4
  750. package/dist/data/test/function/approx_eq__then_2.mcfunction +0 -2
  751. package/dist/data/test/function/atan2_fixed.mcfunction +0 -7
  752. package/dist/data/test/function/atan2_fixed__else_30.mcfunction +0 -2
  753. package/dist/data/test/function/atan2_fixed__loop_body_26.mcfunction +0 -22
  754. package/dist/data/test/function/atan2_fixed__loop_exit_27.mcfunction +0 -6
  755. package/dist/data/test/function/atan2_fixed__loop_header_25.mcfunction +0 -4
  756. package/dist/data/test/function/atan2_fixed__merge_1.mcfunction +0 -5
  757. package/dist/data/test/function/atan2_fixed__merge_10.mcfunction +0 -6
  758. package/dist/data/test/function/atan2_fixed__merge_12.mcfunction +0 -2
  759. package/dist/data/test/function/atan2_fixed__merge_16.mcfunction +0 -6
  760. package/dist/data/test/function/atan2_fixed__merge_18.mcfunction +0 -5
  761. package/dist/data/test/function/atan2_fixed__merge_20.mcfunction +0 -5
  762. package/dist/data/test/function/atan2_fixed__merge_22.mcfunction +0 -5
  763. package/dist/data/test/function/atan2_fixed__merge_24.mcfunction +0 -3
  764. package/dist/data/test/function/atan2_fixed__merge_29.mcfunction +0 -1
  765. package/dist/data/test/function/atan2_fixed__merge_3.mcfunction +0 -5
  766. package/dist/data/test/function/atan2_fixed__merge_32.mcfunction +0 -5
  767. package/dist/data/test/function/atan2_fixed__merge_34.mcfunction +0 -5
  768. package/dist/data/test/function/atan2_fixed__merge_36.mcfunction +0 -3
  769. package/dist/data/test/function/atan2_fixed__merge_40.mcfunction +0 -3
  770. package/dist/data/test/function/atan2_fixed__merge_6.mcfunction +0 -2
  771. package/dist/data/test/function/atan2_fixed__then_0.mcfunction +0 -5
  772. package/dist/data/test/function/atan2_fixed__then_11.mcfunction +0 -2
  773. package/dist/data/test/function/atan2_fixed__then_15.mcfunction +0 -4
  774. package/dist/data/test/function/atan2_fixed__then_17.mcfunction +0 -4
  775. package/dist/data/test/function/atan2_fixed__then_19.mcfunction +0 -2
  776. package/dist/data/test/function/atan2_fixed__then_2.mcfunction +0 -2
  777. package/dist/data/test/function/atan2_fixed__then_21.mcfunction +0 -2
  778. package/dist/data/test/function/atan2_fixed__then_23.mcfunction +0 -5
  779. package/dist/data/test/function/atan2_fixed__then_28.mcfunction +0 -4
  780. package/dist/data/test/function/atan2_fixed__then_31.mcfunction +0 -4
  781. package/dist/data/test/function/atan2_fixed__then_33.mcfunction +0 -5
  782. package/dist/data/test/function/atan2_fixed__then_35.mcfunction +0 -1
  783. package/dist/data/test/function/atan2_fixed__then_39.mcfunction +0 -3
  784. package/dist/data/test/function/atan2_fixed__then_5.mcfunction +0 -2
  785. package/dist/data/test/function/atan2_fixed__then_9.mcfunction +0 -5
  786. package/dist/data/test/function/avg3.mcfunction +0 -11
  787. package/dist/data/test/function/avg5.mcfunction +0 -17
  788. package/dist/data/test/function/bernoulli.mcfunction +0 -13
  789. package/dist/data/test/function/bernoulli__merge_1.mcfunction +0 -7
  790. package/dist/data/test/function/bernoulli__merge_3.mcfunction +0 -2
  791. package/dist/data/test/function/bernoulli__then_0.mcfunction +0 -4
  792. package/dist/data/test/function/bernoulli__then_2.mcfunction +0 -2
  793. package/dist/data/test/function/bigint3_add_hi.mcfunction +0 -11
  794. package/dist/data/test/function/bigint3_add_lo.mcfunction +0 -8
  795. package/dist/data/test/function/bigint3_add_mid.mcfunction +0 -11
  796. package/dist/data/test/function/bigint3_borrow_lo.mcfunction +0 -6
  797. package/dist/data/test/function/bigint3_borrow_lo__merge_1.mcfunction +0 -2
  798. package/dist/data/test/function/bigint3_borrow_lo__then_0.mcfunction +0 -2
  799. package/dist/data/test/function/bigint3_borrow_mid.mcfunction +0 -9
  800. package/dist/data/test/function/bigint3_borrow_mid__merge_1.mcfunction +0 -2
  801. package/dist/data/test/function/bigint3_borrow_mid__then_0.mcfunction +0 -2
  802. package/dist/data/test/function/bigint3_carry_lo.mcfunction +0 -8
  803. package/dist/data/test/function/bigint3_carry_mid.mcfunction +0 -11
  804. package/dist/data/test/function/bigint3_cmp.mcfunction +0 -10
  805. package/dist/data/test/function/bigint3_cmp__merge_1.mcfunction +0 -4
  806. package/dist/data/test/function/bigint3_cmp__merge_10.mcfunction +0 -4
  807. package/dist/data/test/function/bigint3_cmp__merge_13.mcfunction +0 -4
  808. package/dist/data/test/function/bigint3_cmp__merge_16.mcfunction +0 -2
  809. package/dist/data/test/function/bigint3_cmp__merge_4.mcfunction +0 -4
  810. package/dist/data/test/function/bigint3_cmp__merge_7.mcfunction +0 -4
  811. package/dist/data/test/function/bigint3_cmp__then_0.mcfunction +0 -2
  812. package/dist/data/test/function/bigint3_cmp__then_12.mcfunction +0 -2
  813. package/dist/data/test/function/bigint3_cmp__then_15.mcfunction +0 -2
  814. package/dist/data/test/function/bigint3_cmp__then_3.mcfunction +0 -2
  815. package/dist/data/test/function/bigint3_cmp__then_6.mcfunction +0 -2
  816. package/dist/data/test/function/bigint3_cmp__then_9.mcfunction +0 -2
  817. package/dist/data/test/function/bigint3_div_chunk.mcfunction +0 -11
  818. package/dist/data/test/function/bigint3_mul1_hi.mcfunction +0 -8
  819. package/dist/data/test/function/bigint3_mul1_lo.mcfunction +0 -8
  820. package/dist/data/test/function/bigint3_mul1_mid.mcfunction +0 -2
  821. package/dist/data/test/function/bigint3_rem_chunk.mcfunction +0 -11
  822. package/dist/data/test/function/bigint3_sub_hi.mcfunction +0 -8
  823. package/dist/data/test/function/bigint3_sub_lo.mcfunction +0 -6
  824. package/dist/data/test/function/bigint3_sub_lo__merge_1.mcfunction +0 -5
  825. package/dist/data/test/function/bigint3_sub_lo__then_0.mcfunction +0 -3
  826. package/dist/data/test/function/bigint3_sub_mid.mcfunction +0 -13
  827. package/dist/data/test/function/bigint3_sub_mid__merge_1.mcfunction +0 -1
  828. package/dist/data/test/function/bigint3_sub_mid__then_0.mcfunction +0 -4
  829. package/dist/data/test/function/bigint3_to_int32.mcfunction +0 -14
  830. package/dist/data/test/function/bigint_base.mcfunction +0 -2
  831. package/dist/data/test/function/bit_and.mcfunction +0 -6
  832. package/dist/data/test/function/bit_and__loop_body_1.mcfunction +0 -10
  833. package/dist/data/test/function/bit_and__loop_exit_2.mcfunction +0 -1
  834. package/dist/data/test/function/bit_and__loop_header_0.mcfunction +0 -5
  835. package/dist/data/test/function/bit_and__merge_4.mcfunction +0 -8
  836. package/dist/data/test/function/bit_and__merge_6.mcfunction +0 -1
  837. package/dist/data/test/function/bit_and__then_3.mcfunction +0 -10
  838. package/dist/data/test/function/bit_and__then_5.mcfunction +0 -4
  839. package/dist/data/test/function/bit_clear.mcfunction +0 -5
  840. package/dist/data/test/function/bit_clear__loop_body_1.mcfunction +0 -8
  841. package/dist/data/test/function/bit_clear__loop_exit_2.mcfunction +0 -10
  842. package/dist/data/test/function/bit_clear__loop_header_0.mcfunction +0 -4
  843. package/dist/data/test/function/bit_clear__merge_4.mcfunction +0 -1
  844. package/dist/data/test/function/bit_clear__then_3.mcfunction +0 -3
  845. package/dist/data/test/function/bit_get.mcfunction +0 -5
  846. package/dist/data/test/function/bit_get__loop_body_1.mcfunction +0 -8
  847. package/dist/data/test/function/bit_get__loop_exit_2.mcfunction +0 -6
  848. package/dist/data/test/function/bit_get__loop_header_0.mcfunction +0 -4
  849. package/dist/data/test/function/bit_not.mcfunction +0 -5
  850. package/dist/data/test/function/bit_not__loop_body_1.mcfunction +0 -10
  851. package/dist/data/test/function/bit_not__loop_exit_2.mcfunction +0 -1
  852. package/dist/data/test/function/bit_not__loop_header_0.mcfunction +0 -5
  853. package/dist/data/test/function/bit_not__merge_4.mcfunction +0 -8
  854. package/dist/data/test/function/bit_not__then_3.mcfunction +0 -4
  855. package/dist/data/test/function/bit_or.mcfunction +0 -6
  856. package/dist/data/test/function/bit_or__loop_body_1.mcfunction +0 -10
  857. package/dist/data/test/function/bit_or__loop_exit_2.mcfunction +0 -1
  858. package/dist/data/test/function/bit_or__loop_header_0.mcfunction +0 -5
  859. package/dist/data/test/function/bit_or__merge_4.mcfunction +0 -10
  860. package/dist/data/test/function/bit_or__merge_6.mcfunction +0 -8
  861. package/dist/data/test/function/bit_or__merge_8.mcfunction +0 -1
  862. package/dist/data/test/function/bit_or__then_3.mcfunction +0 -4
  863. package/dist/data/test/function/bit_or__then_5.mcfunction +0 -10
  864. package/dist/data/test/function/bit_or__then_7.mcfunction +0 -4
  865. package/dist/data/test/function/bit_set.mcfunction +0 -5
  866. package/dist/data/test/function/bit_set__loop_body_1.mcfunction +0 -8
  867. package/dist/data/test/function/bit_set__loop_exit_2.mcfunction +0 -10
  868. package/dist/data/test/function/bit_set__loop_header_0.mcfunction +0 -4
  869. package/dist/data/test/function/bit_set__merge_4.mcfunction +0 -1
  870. package/dist/data/test/function/bit_set__then_3.mcfunction +0 -3
  871. package/dist/data/test/function/bit_shl.mcfunction +0 -5
  872. package/dist/data/test/function/bit_shl__loop_body_1.mcfunction +0 -8
  873. package/dist/data/test/function/bit_shl__loop_exit_2.mcfunction +0 -1
  874. package/dist/data/test/function/bit_shl__loop_header_0.mcfunction +0 -4
  875. package/dist/data/test/function/bit_shr.mcfunction +0 -5
  876. package/dist/data/test/function/bit_shr__loop_body_1.mcfunction +0 -8
  877. package/dist/data/test/function/bit_shr__loop_exit_2.mcfunction +0 -1
  878. package/dist/data/test/function/bit_shr__loop_header_0.mcfunction +0 -4
  879. package/dist/data/test/function/bit_toggle.mcfunction +0 -5
  880. package/dist/data/test/function/bit_toggle__loop_body_1.mcfunction +0 -8
  881. package/dist/data/test/function/bit_toggle__loop_exit_2.mcfunction +0 -10
  882. package/dist/data/test/function/bit_toggle__loop_header_0.mcfunction +0 -4
  883. package/dist/data/test/function/bit_toggle__merge_4.mcfunction +0 -3
  884. package/dist/data/test/function/bit_toggle__then_3.mcfunction +0 -3
  885. package/dist/data/test/function/bit_xor.mcfunction +0 -6
  886. package/dist/data/test/function/bit_xor__loop_body_1.mcfunction +0 -14
  887. package/dist/data/test/function/bit_xor__loop_exit_2.mcfunction +0 -1
  888. package/dist/data/test/function/bit_xor__loop_header_0.mcfunction +0 -5
  889. package/dist/data/test/function/bit_xor__merge_4.mcfunction +0 -8
  890. package/dist/data/test/function/bit_xor__then_3.mcfunction +0 -4
  891. package/dist/data/test/function/cbrt_fx.mcfunction +0 -6
  892. package/dist/data/test/function/cbrt_fx__loop_body_6.mcfunction +0 -8
  893. package/dist/data/test/function/cbrt_fx__loop_exit_7.mcfunction +0 -1
  894. package/dist/data/test/function/cbrt_fx__loop_header_5.mcfunction +0 -5
  895. package/dist/data/test/function/cbrt_fx__merge_1.mcfunction +0 -9
  896. package/dist/data/test/function/cbrt_fx__merge_11.mcfunction +0 -6
  897. package/dist/data/test/function/cbrt_fx__merge_13.mcfunction +0 -4
  898. package/dist/data/test/function/cbrt_fx__merge_4.mcfunction +0 -2
  899. package/dist/data/test/function/cbrt_fx__merge_9.mcfunction +0 -14
  900. package/dist/data/test/function/cbrt_fx__then_0.mcfunction +0 -2
  901. package/dist/data/test/function/cbrt_fx__then_10.mcfunction +0 -2
  902. package/dist/data/test/function/cbrt_fx__then_12.mcfunction +0 -2
  903. package/dist/data/test/function/cbrt_fx__then_3.mcfunction +0 -2
  904. package/dist/data/test/function/cbrt_fx__then_8.mcfunction +0 -2
  905. package/dist/data/test/function/ceil_div.mcfunction +0 -9
  906. package/dist/data/test/function/chebyshev.mcfunction +0 -15
  907. package/dist/data/test/function/chebyshev3d.mcfunction +0 -20
  908. package/dist/data/test/function/chebyshev3d__merge_1.mcfunction +0 -5
  909. package/dist/data/test/function/chebyshev3d__merge_3.mcfunction +0 -5
  910. package/dist/data/test/function/chebyshev3d__merge_5.mcfunction +0 -5
  911. package/dist/data/test/function/chebyshev3d__merge_7.mcfunction +0 -4
  912. package/dist/data/test/function/chebyshev3d__merge_9.mcfunction +0 -1
  913. package/dist/data/test/function/chebyshev3d__then_0.mcfunction +0 -4
  914. package/dist/data/test/function/chebyshev3d__then_2.mcfunction +0 -4
  915. package/dist/data/test/function/chebyshev3d__then_4.mcfunction +0 -4
  916. package/dist/data/test/function/chebyshev3d__then_6.mcfunction +0 -2
  917. package/dist/data/test/function/chebyshev3d__then_8.mcfunction +0 -2
  918. package/dist/data/test/function/chebyshev__merge_1.mcfunction +0 -5
  919. package/dist/data/test/function/chebyshev__merge_3.mcfunction +0 -4
  920. package/dist/data/test/function/chebyshev__merge_5.mcfunction +0 -1
  921. package/dist/data/test/function/chebyshev__then_0.mcfunction +0 -4
  922. package/dist/data/test/function/chebyshev__then_2.mcfunction +0 -4
  923. package/dist/data/test/function/chebyshev__then_4.mcfunction +0 -1
  924. package/dist/data/test/function/chunk_hi.mcfunction +0 -5
  925. package/dist/data/test/function/chunk_lo.mcfunction +0 -5
  926. package/dist/data/test/function/clamp3.mcfunction +0 -7
  927. package/dist/data/test/function/clamp3__merge_1.mcfunction +0 -4
  928. package/dist/data/test/function/clamp3__merge_4.mcfunction +0 -1
  929. package/dist/data/test/function/clamp3__then_0.mcfunction +0 -1
  930. package/dist/data/test/function/clamp3__then_3.mcfunction +0 -1
  931. package/dist/data/test/function/combinations.mcfunction +0 -7
  932. package/dist/data/test/function/combinations__loop_body_9.mcfunction +0 -15
  933. package/dist/data/test/function/combinations__loop_exit_10.mcfunction +0 -1
  934. package/dist/data/test/function/combinations__loop_header_8.mcfunction +0 -4
  935. package/dist/data/test/function/combinations__merge_1.mcfunction +0 -4
  936. package/dist/data/test/function/combinations__merge_4.mcfunction +0 -7
  937. package/dist/data/test/function/combinations__merge_7.mcfunction +0 -3
  938. package/dist/data/test/function/combinations__then_0.mcfunction +0 -2
  939. package/dist/data/test/function/combinations__then_3.mcfunction +0 -2
  940. package/dist/data/test/function/combinations__then_6.mcfunction +0 -4
  941. package/dist/data/test/function/cos_fixed.mcfunction +0 -7
  942. package/dist/data/test/function/cos_hp.mcfunction +0 -6
  943. package/dist/data/test/function/cross2d.mcfunction +0 -11
  944. package/dist/data/test/function/cross3d_x.mcfunction +0 -11
  945. package/dist/data/test/function/cross3d_y.mcfunction +0 -11
  946. package/dist/data/test/function/cross3d_z.mcfunction +0 -11
  947. package/dist/data/test/function/cylinder_contains.mcfunction +0 -21
  948. package/dist/data/test/function/cylinder_contains__merge_1.mcfunction +0 -2
  949. package/dist/data/test/function/cylinder_contains__then_0.mcfunction +0 -2
  950. package/dist/data/test/function/distance2d_fixed.mcfunction +0 -13
  951. package/dist/data/test/function/distance3d_fixed.mcfunction +0 -18
  952. package/dist/data/test/function/divfix.mcfunction +0 -7
  953. package/dist/data/test/function/divfix__merge_1.mcfunction +0 -6
  954. package/dist/data/test/function/divfix__then_0.mcfunction +0 -2
  955. package/dist/data/test/function/dot2d.mcfunction +0 -11
  956. package/dist/data/test/function/dot3d.mcfunction +0 -17
  957. package/dist/data/test/function/exp_dist_approx.mcfunction +0 -13
  958. package/dist/data/test/function/exp_dist_approx__merge_1.mcfunction +0 -16
  959. package/dist/data/test/function/exp_dist_approx__merge_3.mcfunction +0 -11
  960. package/dist/data/test/function/exp_dist_approx__merge_5.mcfunction +0 -1
  961. package/dist/data/test/function/exp_dist_approx__then_0.mcfunction +0 -4
  962. package/dist/data/test/function/exp_dist_approx__then_2.mcfunction +0 -2
  963. package/dist/data/test/function/exp_dist_approx__then_4.mcfunction +0 -2
  964. package/dist/data/test/function/exp_fx.mcfunction +0 -17
  965. package/dist/data/test/function/exp_fx__loop_body_10.mcfunction +0 -8
  966. package/dist/data/test/function/exp_fx__loop_body_5.mcfunction +0 -8
  967. package/dist/data/test/function/exp_fx__loop_exit_11.mcfunction +0 -1
  968. package/dist/data/test/function/exp_fx__loop_exit_6.mcfunction +0 -1
  969. package/dist/data/test/function/exp_fx__loop_header_4.mcfunction +0 -4
  970. package/dist/data/test/function/exp_fx__loop_header_9.mcfunction +0 -4
  971. package/dist/data/test/function/exp_fx__merge_1.mcfunction +0 -48
  972. package/dist/data/test/function/exp_fx__merge_3.mcfunction +0 -5
  973. package/dist/data/test/function/exp_fx__merge_8.mcfunction +0 -1
  974. package/dist/data/test/function/exp_fx__then_0.mcfunction +0 -7
  975. package/dist/data/test/function/exp_fx__then_2.mcfunction +0 -2
  976. package/dist/data/test/function/exp_fx__then_7.mcfunction +0 -5
  977. package/dist/data/test/function/factorial.mcfunction +0 -6
  978. package/dist/data/test/function/factorial__loop_body_4.mcfunction +0 -7
  979. package/dist/data/test/function/factorial__loop_exit_5.mcfunction +0 -1
  980. package/dist/data/test/function/factorial__loop_header_3.mcfunction +0 -4
  981. package/dist/data/test/function/factorial__merge_1.mcfunction +0 -3
  982. package/dist/data/test/function/factorial__then_0.mcfunction +0 -2
  983. package/dist/data/test/function/format_time_h.mcfunction +0 -5
  984. package/dist/data/test/function/format_time_m.mcfunction +0 -8
  985. package/dist/data/test/function/format_time_s.mcfunction +0 -8
  986. package/dist/data/test/function/gamma_int.mcfunction +0 -6
  987. package/dist/data/test/function/gamma_int__merge_1.mcfunction +0 -6
  988. package/dist/data/test/function/gamma_int__then_0.mcfunction +0 -2
  989. package/dist/data/test/function/gcd.mcfunction +0 -8
  990. package/dist/data/test/function/gcd__loop_body_5.mcfunction +0 -5
  991. package/dist/data/test/function/gcd__loop_exit_6.mcfunction +0 -1
  992. package/dist/data/test/function/gcd__loop_header_4.mcfunction +0 -5
  993. package/dist/data/test/function/gcd__merge_1.mcfunction +0 -6
  994. package/dist/data/test/function/gcd__merge_3.mcfunction +0 -1
  995. package/dist/data/test/function/gcd__then_0.mcfunction +0 -4
  996. package/dist/data/test/function/gcd__then_2.mcfunction +0 -4
  997. package/dist/data/test/function/hsl_to_b.mcfunction +0 -24
  998. package/dist/data/test/function/hsl_to_b__merge_1.mcfunction +0 -30
  999. package/dist/data/test/function/hsl_to_b__merge_12.mcfunction +0 -5
  1000. package/dist/data/test/function/hsl_to_b__merge_15.mcfunction +0 -3
  1001. package/dist/data/test/function/hsl_to_b__merge_3.mcfunction +0 -5
  1002. package/dist/data/test/function/hsl_to_b__merge_6.mcfunction +0 -5
  1003. package/dist/data/test/function/hsl_to_b__merge_9.mcfunction +0 -5
  1004. package/dist/data/test/function/hsl_to_b__then_0.mcfunction +0 -4
  1005. package/dist/data/test/function/hsl_to_b__then_11.mcfunction +0 -3
  1006. package/dist/data/test/function/hsl_to_b__then_14.mcfunction +0 -3
  1007. package/dist/data/test/function/hsl_to_b__then_2.mcfunction +0 -1
  1008. package/dist/data/test/function/hsl_to_b__then_5.mcfunction +0 -1
  1009. package/dist/data/test/function/hsl_to_b__then_8.mcfunction +0 -3
  1010. package/dist/data/test/function/hsl_to_g.mcfunction +0 -24
  1011. package/dist/data/test/function/hsl_to_g__merge_1.mcfunction +0 -30
  1012. package/dist/data/test/function/hsl_to_g__merge_12.mcfunction +0 -5
  1013. package/dist/data/test/function/hsl_to_g__merge_15.mcfunction +0 -1
  1014. package/dist/data/test/function/hsl_to_g__merge_3.mcfunction +0 -5
  1015. package/dist/data/test/function/hsl_to_g__merge_6.mcfunction +0 -5
  1016. package/dist/data/test/function/hsl_to_g__merge_9.mcfunction +0 -5
  1017. package/dist/data/test/function/hsl_to_g__then_0.mcfunction +0 -4
  1018. package/dist/data/test/function/hsl_to_g__then_11.mcfunction +0 -3
  1019. package/dist/data/test/function/hsl_to_g__then_14.mcfunction +0 -1
  1020. package/dist/data/test/function/hsl_to_g__then_2.mcfunction +0 -3
  1021. package/dist/data/test/function/hsl_to_g__then_5.mcfunction +0 -3
  1022. package/dist/data/test/function/hsl_to_g__then_8.mcfunction +0 -3
  1023. package/dist/data/test/function/hsl_to_packed.mcfunction +0 -24
  1024. package/dist/data/test/function/hsl_to_r.mcfunction +0 -24
  1025. package/dist/data/test/function/hsl_to_r__merge_1.mcfunction +0 -30
  1026. package/dist/data/test/function/hsl_to_r__merge_12.mcfunction +0 -5
  1027. package/dist/data/test/function/hsl_to_r__merge_15.mcfunction +0 -3
  1028. package/dist/data/test/function/hsl_to_r__merge_3.mcfunction +0 -5
  1029. package/dist/data/test/function/hsl_to_r__merge_6.mcfunction +0 -5
  1030. package/dist/data/test/function/hsl_to_r__merge_9.mcfunction +0 -5
  1031. package/dist/data/test/function/hsl_to_r__then_0.mcfunction +0 -4
  1032. package/dist/data/test/function/hsl_to_r__then_11.mcfunction +0 -1
  1033. package/dist/data/test/function/hsl_to_r__then_14.mcfunction +0 -3
  1034. package/dist/data/test/function/hsl_to_r__then_2.mcfunction +0 -3
  1035. package/dist/data/test/function/hsl_to_r__then_5.mcfunction +0 -3
  1036. package/dist/data/test/function/hsl_to_r__then_8.mcfunction +0 -1
  1037. package/dist/data/test/function/init_trig.mcfunction +0 -1
  1038. package/dist/data/test/function/int32_to_bigint3_hi.mcfunction +0 -6
  1039. package/dist/data/test/function/int32_to_bigint3_hi__merge_1.mcfunction +0 -4
  1040. package/dist/data/test/function/int32_to_bigint3_hi__then_0.mcfunction +0 -4
  1041. package/dist/data/test/function/int32_to_bigint3_lo.mcfunction +0 -6
  1042. package/dist/data/test/function/int32_to_bigint3_lo__merge_1.mcfunction +0 -4
  1043. package/dist/data/test/function/int32_to_bigint3_lo__then_0.mcfunction +0 -4
  1044. package/dist/data/test/function/int32_to_bigint3_mid.mcfunction +0 -6
  1045. package/dist/data/test/function/int32_to_bigint3_mid__merge_1.mcfunction +0 -7
  1046. package/dist/data/test/function/int32_to_bigint3_mid__then_0.mcfunction +0 -4
  1047. package/dist/data/test/function/isqrt.mcfunction +0 -6
  1048. package/dist/data/test/function/isqrt__loop_body_10.mcfunction +0 -8
  1049. package/dist/data/test/function/isqrt__loop_body_13.mcfunction +0 -12
  1050. package/dist/data/test/function/isqrt__loop_body_7.mcfunction +0 -8
  1051. package/dist/data/test/function/isqrt__loop_exit_11.mcfunction +0 -2
  1052. package/dist/data/test/function/isqrt__loop_exit_14.mcfunction +0 -1
  1053. package/dist/data/test/function/isqrt__loop_exit_8.mcfunction +0 -9
  1054. package/dist/data/test/function/isqrt__loop_header_12.mcfunction +0 -5
  1055. package/dist/data/test/function/isqrt__loop_header_6.mcfunction +0 -5
  1056. package/dist/data/test/function/isqrt__loop_header_9.mcfunction +0 -4
  1057. package/dist/data/test/function/isqrt__merge_1.mcfunction +0 -5
  1058. package/dist/data/test/function/isqrt__merge_16.mcfunction +0 -5
  1059. package/dist/data/test/function/isqrt__merge_4.mcfunction +0 -3
  1060. package/dist/data/test/function/isqrt__then_0.mcfunction +0 -2
  1061. package/dist/data/test/function/isqrt__then_15.mcfunction +0 -1
  1062. package/dist/data/test/function/isqrt__then_3.mcfunction +0 -2
  1063. package/dist/data/test/function/lcm.mcfunction +0 -12
  1064. package/dist/data/test/function/lcm__merge_1.mcfunction +0 -5
  1065. package/dist/data/test/function/lcm__then_0.mcfunction +0 -2
  1066. package/dist/data/test/function/length2d_fixed.mcfunction +0 -15
  1067. package/dist/data/test/function/length3d_fixed.mcfunction +0 -20
  1068. package/dist/data/test/function/lerp.mcfunction +0 -13
  1069. package/dist/data/test/function/lerp2d_x.mcfunction +0 -13
  1070. package/dist/data/test/function/lerp2d_y.mcfunction +0 -13
  1071. package/dist/data/test/function/list_avg.mcfunction +0 -9
  1072. package/dist/data/test/function/list_clamp_all.mcfunction +0 -6
  1073. package/dist/data/test/function/list_clamp_all__loop_body_1.mcfunction +0 -4
  1074. package/dist/data/test/function/list_clamp_all__loop_exit_2.mcfunction +0 -1
  1075. package/dist/data/test/function/list_clamp_all__loop_header_0.mcfunction +0 -4
  1076. package/dist/data/test/function/list_clamp_all__merge_4.mcfunction +0 -4
  1077. package/dist/data/test/function/list_clamp_all__merge_6.mcfunction +0 -4
  1078. package/dist/data/test/function/list_clamp_all__then_3.mcfunction +0 -1
  1079. package/dist/data/test/function/list_clamp_all__then_5.mcfunction +0 -1
  1080. package/dist/data/test/function/list_contains.mcfunction +0 -5
  1081. package/dist/data/test/function/list_contains__loop_body_1.mcfunction +0 -4
  1082. package/dist/data/test/function/list_contains__loop_exit_2.mcfunction +0 -2
  1083. package/dist/data/test/function/list_contains__loop_header_0.mcfunction +0 -4
  1084. package/dist/data/test/function/list_contains__merge_4.mcfunction +0 -4
  1085. package/dist/data/test/function/list_contains__then_3.mcfunction +0 -2
  1086. package/dist/data/test/function/list_count_if_gt.mcfunction +0 -6
  1087. package/dist/data/test/function/list_count_if_gt__loop_body_1.mcfunction +0 -4
  1088. package/dist/data/test/function/list_count_if_gt__loop_exit_2.mcfunction +0 -1
  1089. package/dist/data/test/function/list_count_if_gt__loop_header_0.mcfunction +0 -4
  1090. package/dist/data/test/function/list_count_if_gt__merge_4.mcfunction +0 -4
  1091. package/dist/data/test/function/list_count_if_gt__then_3.mcfunction +0 -4
  1092. package/dist/data/test/function/list_fill.mcfunction +0 -3
  1093. package/dist/data/test/function/list_fill__loop_body_1.mcfunction +0 -4
  1094. package/dist/data/test/function/list_fill__loop_exit_2.mcfunction +0 -1
  1095. package/dist/data/test/function/list_fill__loop_header_0.mcfunction +0 -4
  1096. package/dist/data/test/function/list_index_of.mcfunction +0 -5
  1097. package/dist/data/test/function/list_index_of__loop_body_1.mcfunction +0 -4
  1098. package/dist/data/test/function/list_index_of__loop_exit_2.mcfunction +0 -2
  1099. package/dist/data/test/function/list_index_of__loop_header_0.mcfunction +0 -4
  1100. package/dist/data/test/function/list_index_of__merge_4.mcfunction +0 -4
  1101. package/dist/data/test/function/list_index_of__then_3.mcfunction +0 -1
  1102. package/dist/data/test/function/list_max.mcfunction +0 -5
  1103. package/dist/data/test/function/list_max3.mcfunction +0 -8
  1104. package/dist/data/test/function/list_max3__merge_1.mcfunction +0 -4
  1105. package/dist/data/test/function/list_max3__merge_3.mcfunction +0 -1
  1106. package/dist/data/test/function/list_max3__then_0.mcfunction +0 -2
  1107. package/dist/data/test/function/list_max3__then_2.mcfunction +0 -2
  1108. package/dist/data/test/function/list_max5.mcfunction +0 -10
  1109. package/dist/data/test/function/list_max5__merge_1.mcfunction +0 -4
  1110. package/dist/data/test/function/list_max5__merge_3.mcfunction +0 -4
  1111. package/dist/data/test/function/list_max5__merge_5.mcfunction +0 -4
  1112. package/dist/data/test/function/list_max5__merge_7.mcfunction +0 -1
  1113. package/dist/data/test/function/list_max5__then_0.mcfunction +0 -2
  1114. package/dist/data/test/function/list_max5__then_2.mcfunction +0 -2
  1115. package/dist/data/test/function/list_max5__then_4.mcfunction +0 -2
  1116. package/dist/data/test/function/list_max5__then_6.mcfunction +0 -2
  1117. package/dist/data/test/function/list_max__loop_body_1.mcfunction +0 -4
  1118. package/dist/data/test/function/list_max__loop_exit_2.mcfunction +0 -1
  1119. package/dist/data/test/function/list_max__loop_header_0.mcfunction +0 -4
  1120. package/dist/data/test/function/list_max__merge_4.mcfunction +0 -4
  1121. package/dist/data/test/function/list_max__then_3.mcfunction +0 -2
  1122. package/dist/data/test/function/list_min.mcfunction +0 -5
  1123. package/dist/data/test/function/list_min3.mcfunction +0 -8
  1124. package/dist/data/test/function/list_min3__merge_1.mcfunction +0 -4
  1125. package/dist/data/test/function/list_min3__merge_3.mcfunction +0 -1
  1126. package/dist/data/test/function/list_min3__then_0.mcfunction +0 -2
  1127. package/dist/data/test/function/list_min3__then_2.mcfunction +0 -2
  1128. package/dist/data/test/function/list_min5.mcfunction +0 -10
  1129. package/dist/data/test/function/list_min5__merge_1.mcfunction +0 -4
  1130. package/dist/data/test/function/list_min5__merge_3.mcfunction +0 -4
  1131. package/dist/data/test/function/list_min5__merge_5.mcfunction +0 -4
  1132. package/dist/data/test/function/list_min5__merge_7.mcfunction +0 -1
  1133. package/dist/data/test/function/list_min5__then_0.mcfunction +0 -2
  1134. package/dist/data/test/function/list_min5__then_2.mcfunction +0 -2
  1135. package/dist/data/test/function/list_min5__then_4.mcfunction +0 -2
  1136. package/dist/data/test/function/list_min5__then_6.mcfunction +0 -2
  1137. package/dist/data/test/function/list_min__loop_body_1.mcfunction +0 -4
  1138. package/dist/data/test/function/list_min__loop_exit_2.mcfunction +0 -1
  1139. package/dist/data/test/function/list_min__loop_header_0.mcfunction +0 -4
  1140. package/dist/data/test/function/list_min__merge_4.mcfunction +0 -4
  1141. package/dist/data/test/function/list_min__then_3.mcfunction +0 -2
  1142. package/dist/data/test/function/list_reverse.mcfunction +0 -6
  1143. package/dist/data/test/function/list_reverse__loop_body_1.mcfunction +0 -9
  1144. package/dist/data/test/function/list_reverse__loop_exit_2.mcfunction +0 -1
  1145. package/dist/data/test/function/list_reverse__loop_header_0.mcfunction +0 -4
  1146. package/dist/data/test/function/list_sort_asc.mcfunction +0 -4
  1147. package/dist/data/test/function/list_sort_asc__loop_body_1.mcfunction +0 -2
  1148. package/dist/data/test/function/list_sort_asc__loop_body_4.mcfunction +0 -4
  1149. package/dist/data/test/function/list_sort_asc__loop_exit_2.mcfunction +0 -1
  1150. package/dist/data/test/function/list_sort_asc__loop_exit_5.mcfunction +0 -4
  1151. package/dist/data/test/function/list_sort_asc__loop_header_0.mcfunction +0 -6
  1152. package/dist/data/test/function/list_sort_asc__loop_header_3.mcfunction +0 -8
  1153. package/dist/data/test/function/list_sort_asc__merge_7.mcfunction +0 -4
  1154. package/dist/data/test/function/list_sort_asc__then_6.mcfunction +0 -1
  1155. package/dist/data/test/function/list_sort_desc.mcfunction +0 -4
  1156. package/dist/data/test/function/list_sort_desc__loop_body_1.mcfunction +0 -2
  1157. package/dist/data/test/function/list_sort_desc__loop_body_4.mcfunction +0 -4
  1158. package/dist/data/test/function/list_sort_desc__loop_exit_2.mcfunction +0 -1
  1159. package/dist/data/test/function/list_sort_desc__loop_exit_5.mcfunction +0 -4
  1160. package/dist/data/test/function/list_sort_desc__loop_header_0.mcfunction +0 -6
  1161. package/dist/data/test/function/list_sort_desc__loop_header_3.mcfunction +0 -8
  1162. package/dist/data/test/function/list_sort_desc__merge_7.mcfunction +0 -4
  1163. package/dist/data/test/function/list_sort_desc__then_6.mcfunction +0 -1
  1164. package/dist/data/test/function/list_sum.mcfunction +0 -5
  1165. package/dist/data/test/function/list_sum3.mcfunction +0 -8
  1166. package/dist/data/test/function/list_sum4.mcfunction +0 -11
  1167. package/dist/data/test/function/list_sum5.mcfunction +0 -14
  1168. package/dist/data/test/function/list_sum__loop_body_1.mcfunction +0 -7
  1169. package/dist/data/test/function/list_sum__loop_exit_2.mcfunction +0 -1
  1170. package/dist/data/test/function/list_sum__loop_header_0.mcfunction +0 -4
  1171. package/dist/data/test/function/ln.mcfunction +0 -9
  1172. package/dist/data/test/function/ln__loop_body_1.mcfunction +0 -8
  1173. package/dist/data/test/function/ln__loop_body_4.mcfunction +0 -8
  1174. package/dist/data/test/function/ln__loop_exit_2.mcfunction +0 -1
  1175. package/dist/data/test/function/ln__loop_exit_5.mcfunction +0 -37
  1176. package/dist/data/test/function/ln__loop_header_0.mcfunction +0 -4
  1177. package/dist/data/test/function/ln__loop_header_3.mcfunction +0 -7
  1178. package/dist/data/test/function/load.mcfunction +0 -1
  1179. package/dist/data/test/function/log10_fx.mcfunction +0 -11
  1180. package/dist/data/test/function/log2_fx.mcfunction +0 -11
  1181. package/dist/data/test/function/log2_int.mcfunction +0 -6
  1182. package/dist/data/test/function/log2_int__loop_body_4.mcfunction +0 -8
  1183. package/dist/data/test/function/log2_int__loop_exit_5.mcfunction +0 -1
  1184. package/dist/data/test/function/log2_int__loop_header_3.mcfunction +0 -5
  1185. package/dist/data/test/function/log2_int__merge_1.mcfunction +0 -3
  1186. package/dist/data/test/function/log2_int__then_0.mcfunction +0 -2
  1187. package/dist/data/test/function/loga_fx.mcfunction +0 -11
  1188. package/dist/data/test/function/loga_fx__merge_1.mcfunction +0 -9
  1189. package/dist/data/test/function/loga_fx__then_0.mcfunction +0 -2
  1190. package/dist/data/test/function/manhattan.mcfunction +0 -15
  1191. package/dist/data/test/function/manhattan3d.mcfunction +0 -20
  1192. package/dist/data/test/function/manhattan3d__merge_1.mcfunction +0 -5
  1193. package/dist/data/test/function/manhattan3d__merge_3.mcfunction +0 -5
  1194. package/dist/data/test/function/manhattan3d__merge_5.mcfunction +0 -5
  1195. package/dist/data/test/function/manhattan3d__then_0.mcfunction +0 -4
  1196. package/dist/data/test/function/manhattan3d__then_2.mcfunction +0 -4
  1197. package/dist/data/test/function/manhattan3d__then_4.mcfunction +0 -4
  1198. package/dist/data/test/function/manhattan__merge_1.mcfunction +0 -5
  1199. package/dist/data/test/function/manhattan__merge_3.mcfunction +0 -3
  1200. package/dist/data/test/function/manhattan__then_0.mcfunction +0 -4
  1201. package/dist/data/test/function/manhattan__then_2.mcfunction +0 -4
  1202. package/dist/data/test/function/map.mcfunction +0 -13
  1203. package/dist/data/test/function/map__merge_1.mcfunction +0 -11
  1204. package/dist/data/test/function/map__then_0.mcfunction +0 -1
  1205. package/dist/data/test/function/mc_day_angle.mcfunction +0 -16
  1206. package/dist/data/test/function/midpoint.mcfunction +0 -8
  1207. package/dist/data/test/function/mulfix.mcfunction +0 -8
  1208. package/dist/data/test/function/neg2d_x.mcfunction +0 -4
  1209. package/dist/data/test/function/neg2d_y.mcfunction +0 -4
  1210. package/dist/data/test/function/neg3d_x.mcfunction +0 -4
  1211. package/dist/data/test/function/neg3d_y.mcfunction +0 -4
  1212. package/dist/data/test/function/neg3d_z.mcfunction +0 -4
  1213. package/dist/data/test/function/next_lcg.mcfunction +0 -7
  1214. package/dist/data/test/function/normal_approx12.mcfunction +0 -16
  1215. package/dist/data/test/function/normal_approx12__merge_1.mcfunction +0 -18
  1216. package/dist/data/test/function/normal_approx12__merge_11.mcfunction +0 -18
  1217. package/dist/data/test/function/normal_approx12__merge_13.mcfunction +0 -18
  1218. package/dist/data/test/function/normal_approx12__merge_15.mcfunction +0 -18
  1219. package/dist/data/test/function/normal_approx12__merge_17.mcfunction +0 -18
  1220. package/dist/data/test/function/normal_approx12__merge_19.mcfunction +0 -18
  1221. package/dist/data/test/function/normal_approx12__merge_21.mcfunction +0 -18
  1222. package/dist/data/test/function/normal_approx12__merge_23.mcfunction +0 -9
  1223. package/dist/data/test/function/normal_approx12__merge_3.mcfunction +0 -18
  1224. package/dist/data/test/function/normal_approx12__merge_5.mcfunction +0 -18
  1225. package/dist/data/test/function/normal_approx12__merge_7.mcfunction +0 -18
  1226. package/dist/data/test/function/normal_approx12__merge_9.mcfunction +0 -18
  1227. package/dist/data/test/function/normal_approx12__then_0.mcfunction +0 -4
  1228. package/dist/data/test/function/normal_approx12__then_10.mcfunction +0 -4
  1229. package/dist/data/test/function/normal_approx12__then_12.mcfunction +0 -4
  1230. package/dist/data/test/function/normal_approx12__then_14.mcfunction +0 -4
  1231. package/dist/data/test/function/normal_approx12__then_16.mcfunction +0 -4
  1232. package/dist/data/test/function/normal_approx12__then_18.mcfunction +0 -4
  1233. package/dist/data/test/function/normal_approx12__then_2.mcfunction +0 -4
  1234. package/dist/data/test/function/normal_approx12__then_20.mcfunction +0 -4
  1235. package/dist/data/test/function/normal_approx12__then_22.mcfunction +0 -4
  1236. package/dist/data/test/function/normal_approx12__then_4.mcfunction +0 -4
  1237. package/dist/data/test/function/normal_approx12__then_6.mcfunction +0 -4
  1238. package/dist/data/test/function/normal_approx12__then_8.mcfunction +0 -4
  1239. package/dist/data/test/function/normalize2d_x.mcfunction +0 -12
  1240. package/dist/data/test/function/normalize2d_x__merge_1.mcfunction +0 -6
  1241. package/dist/data/test/function/normalize2d_x__then_0.mcfunction +0 -2
  1242. package/dist/data/test/function/normalize2d_y.mcfunction +0 -12
  1243. package/dist/data/test/function/normalize2d_y__merge_1.mcfunction +0 -6
  1244. package/dist/data/test/function/normalize2d_y__then_0.mcfunction +0 -2
  1245. package/dist/data/test/function/parabola_land_t.mcfunction +0 -7
  1246. package/dist/data/test/function/parabola_x.mcfunction +0 -8
  1247. package/dist/data/test/function/parabola_y.mcfunction +0 -17
  1248. package/dist/data/test/function/pcg_next_hi.mcfunction +0 -8
  1249. package/dist/data/test/function/pcg_next_lo.mcfunction +0 -7
  1250. package/dist/data/test/function/pcg_output.mcfunction +0 -15
  1251. package/dist/data/test/function/pcg_output__merge_1.mcfunction +0 -1
  1252. package/dist/data/test/function/pcg_output__then_0.mcfunction +0 -4
  1253. package/dist/data/test/function/popcount.mcfunction +0 -5
  1254. package/dist/data/test/function/popcount__loop_body_1.mcfunction +0 -8
  1255. package/dist/data/test/function/popcount__loop_exit_2.mcfunction +0 -1
  1256. package/dist/data/test/function/popcount__loop_header_0.mcfunction +0 -5
  1257. package/dist/data/test/function/popcount__merge_4.mcfunction +0 -8
  1258. package/dist/data/test/function/popcount__then_3.mcfunction +0 -4
  1259. package/dist/data/test/function/pow_int.mcfunction +0 -7
  1260. package/dist/data/test/function/pow_int__loop_body_4.mcfunction +0 -8
  1261. package/dist/data/test/function/pow_int__loop_exit_5.mcfunction +0 -1
  1262. package/dist/data/test/function/pow_int__loop_header_3.mcfunction +0 -5
  1263. package/dist/data/test/function/pow_int__merge_1.mcfunction +0 -4
  1264. package/dist/data/test/function/pow_int__merge_7.mcfunction +0 -8
  1265. package/dist/data/test/function/pow_int__then_0.mcfunction +0 -2
  1266. package/dist/data/test/function/pow_int__then_6.mcfunction +0 -4
  1267. package/dist/data/test/function/quadratic_disc.mcfunction +0 -12
  1268. package/dist/data/test/function/quadratic_x1.mcfunction +0 -8
  1269. package/dist/data/test/function/quadratic_x1__merge_1.mcfunction +0 -14
  1270. package/dist/data/test/function/quadratic_x1__merge_4.mcfunction +0 -15
  1271. package/dist/data/test/function/quadratic_x1__then_0.mcfunction +0 -2
  1272. package/dist/data/test/function/quadratic_x1__then_3.mcfunction +0 -2
  1273. package/dist/data/test/function/quadratic_x2.mcfunction +0 -8
  1274. package/dist/data/test/function/quadratic_x2__merge_1.mcfunction +0 -14
  1275. package/dist/data/test/function/quadratic_x2__merge_4.mcfunction +0 -15
  1276. package/dist/data/test/function/quadratic_x2__then_0.mcfunction +0 -2
  1277. package/dist/data/test/function/quadratic_x2__then_3.mcfunction +0 -2
  1278. package/dist/data/test/function/random_bool.mcfunction +0 -7
  1279. package/dist/data/test/function/random_bool__merge_1.mcfunction +0 -4
  1280. package/dist/data/test/function/random_bool__then_0.mcfunction +0 -4
  1281. package/dist/data/test/function/random_range.mcfunction +0 -9
  1282. package/dist/data/test/function/random_range__merge_1.mcfunction +0 -7
  1283. package/dist/data/test/function/random_range__then_0.mcfunction +0 -4
  1284. package/dist/data/test/function/rgb_b.mcfunction +0 -5
  1285. package/dist/data/test/function/rgb_g.mcfunction +0 -8
  1286. package/dist/data/test/function/rgb_lerp.mcfunction +0 -71
  1287. package/dist/data/test/function/rgb_pack.mcfunction +0 -14
  1288. package/dist/data/test/function/rgb_r.mcfunction +0 -8
  1289. package/dist/data/test/function/rgb_to_h.mcfunction +0 -8
  1290. package/dist/data/test/function/rgb_to_h__merge_1.mcfunction +0 -4
  1291. package/dist/data/test/function/rgb_to_h__merge_12.mcfunction +0 -4
  1292. package/dist/data/test/function/rgb_to_h__merge_14.mcfunction +0 -1
  1293. package/dist/data/test/function/rgb_to_h__merge_17.mcfunction +0 -9
  1294. package/dist/data/test/function/rgb_to_h__merge_3.mcfunction +0 -5
  1295. package/dist/data/test/function/rgb_to_h__merge_5.mcfunction +0 -4
  1296. package/dist/data/test/function/rgb_to_h__merge_7.mcfunction +0 -8
  1297. package/dist/data/test/function/rgb_to_h__merge_9.mcfunction +0 -4
  1298. package/dist/data/test/function/rgb_to_h__then_0.mcfunction +0 -2
  1299. package/dist/data/test/function/rgb_to_h__then_11.mcfunction +0 -12
  1300. package/dist/data/test/function/rgb_to_h__then_13.mcfunction +0 -4
  1301. package/dist/data/test/function/rgb_to_h__then_16.mcfunction +0 -9
  1302. package/dist/data/test/function/rgb_to_h__then_2.mcfunction +0 -2
  1303. package/dist/data/test/function/rgb_to_h__then_4.mcfunction +0 -2
  1304. package/dist/data/test/function/rgb_to_h__then_6.mcfunction +0 -2
  1305. package/dist/data/test/function/rgb_to_h__then_8.mcfunction +0 -2
  1306. package/dist/data/test/function/rgb_to_l.mcfunction +0 -8
  1307. package/dist/data/test/function/rgb_to_l__merge_1.mcfunction +0 -4
  1308. package/dist/data/test/function/rgb_to_l__merge_3.mcfunction +0 -5
  1309. package/dist/data/test/function/rgb_to_l__merge_5.mcfunction +0 -4
  1310. package/dist/data/test/function/rgb_to_l__merge_7.mcfunction +0 -9
  1311. package/dist/data/test/function/rgb_to_l__then_0.mcfunction +0 -2
  1312. package/dist/data/test/function/rgb_to_l__then_2.mcfunction +0 -2
  1313. package/dist/data/test/function/rgb_to_l__then_4.mcfunction +0 -2
  1314. package/dist/data/test/function/rgb_to_l__then_6.mcfunction +0 -2
  1315. package/dist/data/test/function/rgb_to_s.mcfunction +0 -8
  1316. package/dist/data/test/function/rgb_to_s__merge_1.mcfunction +0 -4
  1317. package/dist/data/test/function/rgb_to_s__merge_12.mcfunction +0 -10
  1318. package/dist/data/test/function/rgb_to_s__merge_3.mcfunction +0 -5
  1319. package/dist/data/test/function/rgb_to_s__merge_5.mcfunction +0 -4
  1320. package/dist/data/test/function/rgb_to_s__merge_7.mcfunction +0 -8
  1321. package/dist/data/test/function/rgb_to_s__merge_9.mcfunction +0 -13
  1322. package/dist/data/test/function/rgb_to_s__then_0.mcfunction +0 -2
  1323. package/dist/data/test/function/rgb_to_s__then_11.mcfunction +0 -8
  1324. package/dist/data/test/function/rgb_to_s__then_2.mcfunction +0 -2
  1325. package/dist/data/test/function/rgb_to_s__then_4.mcfunction +0 -2
  1326. package/dist/data/test/function/rgb_to_s__then_6.mcfunction +0 -2
  1327. package/dist/data/test/function/rgb_to_s__then_8.mcfunction +0 -2
  1328. package/dist/data/test/function/rotate2d_x.mcfunction +0 -20
  1329. package/dist/data/test/function/rotate2d_y.mcfunction +0 -20
  1330. package/dist/data/test/function/scale2d_x.mcfunction +0 -8
  1331. package/dist/data/test/function/scale2d_y.mcfunction +0 -8
  1332. package/dist/data/test/function/scale3d_x.mcfunction +0 -8
  1333. package/dist/data/test/function/scale3d_y.mcfunction +0 -8
  1334. package/dist/data/test/function/scale3d_z.mcfunction +0 -8
  1335. package/dist/data/test/function/seconds_to_ticks.mcfunction +0 -5
  1336. package/dist/data/test/function/sign.mcfunction +0 -6
  1337. package/dist/data/test/function/sign__merge_1.mcfunction +0 -5
  1338. package/dist/data/test/function/sign__merge_4.mcfunction +0 -2
  1339. package/dist/data/test/function/sign__then_0.mcfunction +0 -2
  1340. package/dist/data/test/function/sign__then_3.mcfunction +0 -2
  1341. package/dist/data/test/function/sin_fixed.mcfunction +0 -10
  1342. package/dist/data/test/function/sin_fixed__merge_1.mcfunction +0 -5
  1343. package/dist/data/test/function/sin_fixed__merge_3.mcfunction +0 -5
  1344. package/dist/data/test/function/sin_fixed__merge_6.mcfunction +0 -5
  1345. package/dist/data/test/function/sin_fixed__merge_9.mcfunction +0 -10
  1346. package/dist/data/test/function/sin_fixed__then_0.mcfunction +0 -4
  1347. package/dist/data/test/function/sin_fixed__then_2.mcfunction +0 -6
  1348. package/dist/data/test/function/sin_fixed__then_5.mcfunction +0 -8
  1349. package/dist/data/test/function/sin_fixed__then_8.mcfunction +0 -10
  1350. package/dist/data/test/function/sin_hp.mcfunction +0 -6
  1351. package/dist/data/test/function/smootherstep.mcfunction +0 -11
  1352. package/dist/data/test/function/smootherstep__merge_1.mcfunction +0 -13
  1353. package/dist/data/test/function/smootherstep__merge_4.mcfunction +0 -5
  1354. package/dist/data/test/function/smootherstep__merge_6.mcfunction +0 -27
  1355. package/dist/data/test/function/smootherstep__then_0.mcfunction +0 -2
  1356. package/dist/data/test/function/smootherstep__then_3.mcfunction +0 -2
  1357. package/dist/data/test/function/smootherstep__then_5.mcfunction +0 -2
  1358. package/dist/data/test/function/smoothstep.mcfunction +0 -11
  1359. package/dist/data/test/function/smoothstep__merge_1.mcfunction +0 -13
  1360. package/dist/data/test/function/smoothstep__merge_4.mcfunction +0 -5
  1361. package/dist/data/test/function/smoothstep__merge_6.mcfunction +0 -15
  1362. package/dist/data/test/function/smoothstep__then_0.mcfunction +0 -2
  1363. package/dist/data/test/function/smoothstep__then_3.mcfunction +0 -2
  1364. package/dist/data/test/function/smoothstep__then_5.mcfunction +0 -2
  1365. package/dist/data/test/function/solve2x2_x.mcfunction +0 -18
  1366. package/dist/data/test/function/solve2x2_x__merge_1.mcfunction +0 -12
  1367. package/dist/data/test/function/solve2x2_x__then_0.mcfunction +0 -2
  1368. package/dist/data/test/function/solve2x2_y.mcfunction +0 -18
  1369. package/dist/data/test/function/solve2x2_y__merge_1.mcfunction +0 -12
  1370. package/dist/data/test/function/solve2x2_y__then_0.mcfunction +0 -2
  1371. package/dist/data/test/function/sort2_max.mcfunction +0 -6
  1372. package/dist/data/test/function/sort2_max__merge_1.mcfunction +0 -1
  1373. package/dist/data/test/function/sort2_max__then_0.mcfunction +0 -1
  1374. package/dist/data/test/function/sort2_min.mcfunction +0 -6
  1375. package/dist/data/test/function/sort2_min__merge_1.mcfunction +0 -1
  1376. package/dist/data/test/function/sort2_min__then_0.mcfunction +0 -1
  1377. package/dist/data/test/function/sort3.mcfunction +0 -11
  1378. package/dist/data/test/function/sort3__merge_1.mcfunction +0 -4
  1379. package/dist/data/test/function/sort3__merge_10.mcfunction +0 -1
  1380. package/dist/data/test/function/sort3__merge_3.mcfunction +0 -4
  1381. package/dist/data/test/function/sort3__merge_5.mcfunction +0 -5
  1382. package/dist/data/test/function/sort3__merge_7.mcfunction +0 -5
  1383. package/dist/data/test/function/sort3__then_0.mcfunction +0 -4
  1384. package/dist/data/test/function/sort3__then_2.mcfunction +0 -4
  1385. package/dist/data/test/function/sort3__then_4.mcfunction +0 -4
  1386. package/dist/data/test/function/sort3__then_6.mcfunction +0 -1
  1387. package/dist/data/test/function/sort3__then_9.mcfunction +0 -1
  1388. package/dist/data/test/function/sort4.mcfunction +0 -13
  1389. package/dist/data/test/function/sort4__merge_1.mcfunction +0 -4
  1390. package/dist/data/test/function/sort4__merge_11.mcfunction +0 -5
  1391. package/dist/data/test/function/sort4__merge_14.mcfunction +0 -5
  1392. package/dist/data/test/function/sort4__merge_17.mcfunction +0 -1
  1393. package/dist/data/test/function/sort4__merge_3.mcfunction +0 -4
  1394. package/dist/data/test/function/sort4__merge_5.mcfunction +0 -4
  1395. package/dist/data/test/function/sort4__merge_7.mcfunction +0 -4
  1396. package/dist/data/test/function/sort4__merge_9.mcfunction +0 -5
  1397. package/dist/data/test/function/sort4__then_0.mcfunction +0 -4
  1398. package/dist/data/test/function/sort4__then_10.mcfunction +0 -1
  1399. package/dist/data/test/function/sort4__then_13.mcfunction +0 -1
  1400. package/dist/data/test/function/sort4__then_16.mcfunction +0 -1
  1401. package/dist/data/test/function/sort4__then_2.mcfunction +0 -4
  1402. package/dist/data/test/function/sort4__then_4.mcfunction +0 -4
  1403. package/dist/data/test/function/sort4__then_6.mcfunction +0 -4
  1404. package/dist/data/test/function/sort4__then_8.mcfunction +0 -4
  1405. package/dist/data/test/function/sort5.mcfunction +0 -15
  1406. package/dist/data/test/function/sort5__merge_1.mcfunction +0 -4
  1407. package/dist/data/test/function/sort5__merge_11.mcfunction +0 -4
  1408. package/dist/data/test/function/sort5__merge_13.mcfunction +0 -4
  1409. package/dist/data/test/function/sort5__merge_15.mcfunction +0 -4
  1410. package/dist/data/test/function/sort5__merge_17.mcfunction +0 -5
  1411. package/dist/data/test/function/sort5__merge_19.mcfunction +0 -5
  1412. package/dist/data/test/function/sort5__merge_22.mcfunction +0 -5
  1413. package/dist/data/test/function/sort5__merge_25.mcfunction +0 -5
  1414. package/dist/data/test/function/sort5__merge_28.mcfunction +0 -1
  1415. package/dist/data/test/function/sort5__merge_3.mcfunction +0 -4
  1416. package/dist/data/test/function/sort5__merge_5.mcfunction +0 -4
  1417. package/dist/data/test/function/sort5__merge_7.mcfunction +0 -4
  1418. package/dist/data/test/function/sort5__merge_9.mcfunction +0 -4
  1419. package/dist/data/test/function/sort5__then_0.mcfunction +0 -4
  1420. package/dist/data/test/function/sort5__then_10.mcfunction +0 -4
  1421. package/dist/data/test/function/sort5__then_12.mcfunction +0 -4
  1422. package/dist/data/test/function/sort5__then_14.mcfunction +0 -4
  1423. package/dist/data/test/function/sort5__then_16.mcfunction +0 -4
  1424. package/dist/data/test/function/sort5__then_18.mcfunction +0 -1
  1425. package/dist/data/test/function/sort5__then_2.mcfunction +0 -4
  1426. package/dist/data/test/function/sort5__then_21.mcfunction +0 -1
  1427. package/dist/data/test/function/sort5__then_24.mcfunction +0 -1
  1428. package/dist/data/test/function/sort5__then_27.mcfunction +0 -1
  1429. package/dist/data/test/function/sort5__then_4.mcfunction +0 -4
  1430. package/dist/data/test/function/sort5__then_6.mcfunction +0 -4
  1431. package/dist/data/test/function/sort5__then_8.mcfunction +0 -4
  1432. package/dist/data/test/function/sphere_contains.mcfunction +0 -29
  1433. package/dist/data/test/function/sphere_contains__merge_1.mcfunction +0 -2
  1434. package/dist/data/test/function/sphere_contains__then_0.mcfunction +0 -2
  1435. package/dist/data/test/function/sqrt_fixed.mcfunction +0 -8
  1436. package/dist/data/test/function/sqrt_fx.mcfunction +0 -11
  1437. package/dist/data/test/function/sub2d_x.mcfunction +0 -5
  1438. package/dist/data/test/function/sub2d_y.mcfunction +0 -5
  1439. package/dist/data/test/function/sub3d_x.mcfunction +0 -5
  1440. package/dist/data/test/function/sub3d_y.mcfunction +0 -5
  1441. package/dist/data/test/function/sub3d_z.mcfunction +0 -5
  1442. package/dist/data/test/function/tick_to_ms.mcfunction +0 -5
  1443. package/dist/data/test/function/tick_to_seconds.mcfunction +0 -5
  1444. package/dist/data/test/function/tile_center.mcfunction +0 -10
  1445. package/dist/data/test/function/tile_of.mcfunction +0 -7
  1446. package/dist/data/test/function/tile_of__merge_1.mcfunction +0 -7
  1447. package/dist/data/test/function/tile_of__then_0.mcfunction +0 -3
  1448. package/dist/data/test/function/timer/done.mcfunction +0 -5
  1449. package/dist/data/test/function/timer/elapsed.mcfunction +0 -2
  1450. package/dist/data/test/function/timer/new.mcfunction +0 -5
  1451. package/dist/data/test/function/timer/pause.mcfunction +0 -1
  1452. package/dist/data/test/function/timer/remaining.mcfunction +0 -10
  1453. package/dist/data/test/function/timer/remaining__merge_1.mcfunction +0 -2
  1454. package/dist/data/test/function/timer/remaining__then_0.mcfunction +0 -1
  1455. package/dist/data/test/function/timer/reset.mcfunction +0 -1
  1456. package/dist/data/test/function/timer/start.mcfunction +0 -1
  1457. package/dist/data/test/function/timer/tick.mcfunction +0 -9
  1458. package/dist/data/test/function/timer/tick__merge_1.mcfunction +0 -1
  1459. package/dist/data/test/function/timer/tick__merge_3.mcfunction +0 -1
  1460. package/dist/data/test/function/timer/tick__then_0.mcfunction +0 -4
  1461. package/dist/data/test/function/timer/tick__then_2.mcfunction +0 -4
  1462. package/dist/data/test/function/uniform_frac.mcfunction +0 -12
  1463. package/dist/data/test/function/uniform_frac__merge_1.mcfunction +0 -4
  1464. package/dist/data/test/function/uniform_frac__then_0.mcfunction +0 -4
  1465. package/dist/data/test/function/uniform_int.mcfunction +0 -14
  1466. package/dist/data/test/function/uniform_int__merge_1.mcfunction +0 -9
  1467. package/dist/data/test/function/uniform_int__then_0.mcfunction +0 -4
  1468. package/dist/data/test/function/weighted2.mcfunction +0 -17
  1469. package/dist/data/test/function/weighted2__merge_1.mcfunction +0 -6
  1470. package/dist/data/test/function/weighted2__merge_3.mcfunction +0 -2
  1471. package/dist/data/test/function/weighted2__then_0.mcfunction +0 -4
  1472. package/dist/data/test/function/weighted2__then_2.mcfunction +0 -2
  1473. package/dist/data/test/function/weighted3.mcfunction +0 -20
  1474. package/dist/data/test/function/weighted3__merge_1.mcfunction +0 -7
  1475. package/dist/data/test/function/weighted3__merge_3.mcfunction +0 -6
  1476. package/dist/data/test/function/weighted3__merge_6.mcfunction +0 -2
  1477. package/dist/data/test/function/weighted3__then_0.mcfunction +0 -4
  1478. package/dist/data/test/function/weighted3__then_2.mcfunction +0 -2
  1479. package/dist/data/test/function/weighted3__then_5.mcfunction +0 -2
  1480. package/dist/data/turret/function/__load.mcfunction +0 -5
  1481. package/dist/data/turret/function/__tick.mcfunction +0 -4
  1482. package/dist/data/turret/function/__trigger_deploy_turret_dispatch.mcfunction +0 -4
  1483. package/dist/data/turret/function/deploy_turret.mcfunction +0 -8
  1484. package/dist/data/turret/function/turret_tick/at_1.mcfunction +0 -2
  1485. package/dist/data/turret/function/turret_tick/foreach_0.mcfunction +0 -2
  1486. package/dist/data/turret/function/turret_tick/foreach_2.mcfunction +0 -2
  1487. package/dist/data/turret/function/turret_tick/tick_body.mcfunction +0 -3
  1488. package/dist/data/turret/function/turret_tick/tick_skip.mcfunction +0 -1
  1489. package/dist/data/turret/function/turret_tick.mcfunction +0 -5
  1490. package/dist/diagnostics/index.d.ts +0 -44
  1491. package/dist/diagnostics/index.js +0 -140
  1492. package/dist/events/types.d.ts +0 -35
  1493. package/dist/events/types.js +0 -59
  1494. package/dist/formatter/index.d.ts +0 -1
  1495. package/dist/formatter/index.js +0 -26
  1496. package/dist/gcd2.map.json +0 -15
  1497. package/dist/gcd3.map.json +0 -17
  1498. package/dist/gcd_test.map.json +0 -15
  1499. package/dist/index.d.ts +0 -62
  1500. package/dist/ir/builder.d.ts +0 -33
  1501. package/dist/ir/builder.js +0 -99
  1502. package/dist/ir/types.d.ts +0 -132
  1503. package/dist/ir/types.js +0 -15
  1504. package/dist/isqrttest.map.json +0 -15
  1505. package/dist/lexer/index.d.ts +0 -37
  1506. package/dist/lexer/index.js +0 -569
  1507. package/dist/lowering/index.d.ts +0 -188
  1508. package/dist/lowering/index.js +0 -3405
  1509. package/dist/mathtest.map.json +0 -6
  1510. package/dist/mc-test/client.d.ts +0 -128
  1511. package/dist/mc-test/client.js +0 -174
  1512. package/dist/mc-test/runner.d.ts +0 -28
  1513. package/dist/mc-test/runner.js +0 -150
  1514. package/dist/mc-test/setup.d.ts +0 -11
  1515. package/dist/mc-test/setup.js +0 -98
  1516. package/dist/mc-validator/index.d.ts +0 -17
  1517. package/dist/mc-validator/index.js +0 -322
  1518. package/dist/mypack.map.json +0 -27
  1519. package/dist/nbt/index.d.ts +0 -86
  1520. package/dist/nbt/index.js +0 -250
  1521. package/dist/optimizer/commands.d.ts +0 -38
  1522. package/dist/optimizer/commands.js +0 -451
  1523. package/dist/optimizer/dce.d.ts +0 -34
  1524. package/dist/optimizer/dce.js +0 -639
  1525. package/dist/optimizer/passes.d.ts +0 -34
  1526. package/dist/optimizer/passes.js +0 -243
  1527. package/dist/optimizer/structure.d.ts +0 -9
  1528. package/dist/optimizer/structure.js +0 -356
  1529. package/dist/pack.mcmeta +0 -6
  1530. package/dist/parser/index.d.ts +0 -93
  1531. package/dist/parser/index.js +0 -1687
  1532. package/dist/repl.d.ts +0 -16
  1533. package/dist/repl.js +0 -165
  1534. package/dist/reqtest.map.json +0 -4
  1535. package/dist/reqtest2.map.json +0 -4
  1536. package/dist/runtime/index.d.ts +0 -107
  1537. package/dist/runtime/index.js +0 -1409
  1538. package/dist/runtime.map.json +0 -7
  1539. package/dist/src/__tests__/codegen.test.d.ts +0 -1
  1540. package/dist/src/__tests__/codegen.test.js +0 -152
  1541. package/dist/src/__tests__/debug-compile.test.d.ts +0 -1
  1542. package/dist/src/__tests__/debug-compile.test.js +0 -24
  1543. package/dist/src/__tests__/debug-compile2.test.d.ts +0 -1
  1544. package/dist/src/__tests__/debug-compile2.test.js +0 -19
  1545. package/dist/src/__tests__/debug-compile3.test.d.ts +0 -1
  1546. package/dist/src/__tests__/debug-compile3.test.js +0 -22
  1547. package/dist/src/__tests__/debug-wm.test.d.ts +0 -1
  1548. package/dist/src/__tests__/debug-wm.test.js +0 -50
  1549. package/dist/src/__tests__/debug_gen.d.ts +0 -1
  1550. package/dist/src/__tests__/debug_gen.js +0 -24
  1551. package/dist/src/__tests__/debug_scoreboard.test.d.ts +0 -1
  1552. package/dist/src/__tests__/debug_scoreboard.test.js +0 -19
  1553. package/dist/src/__tests__/debug_scoreboard2.test.d.ts +0 -1
  1554. package/dist/src/__tests__/debug_scoreboard2.test.js +0 -27
  1555. package/dist/src/__tests__/debug_scoreboard3.test.d.ts +0 -1
  1556. package/dist/src/__tests__/debug_scoreboard3.test.js +0 -37
  1557. package/dist/src/__tests__/e2e.test.d.ts +0 -6
  1558. package/dist/src/__tests__/e2e.test.js +0 -1789
  1559. package/dist/src/__tests__/entity-types.test.d.ts +0 -1
  1560. package/dist/src/__tests__/entity-types.test.js +0 -203
  1561. package/dist/src/__tests__/lowering.test.d.ts +0 -1
  1562. package/dist/src/__tests__/lowering.test.js +0 -1015
  1563. package/dist/src/__tests__/macro.test.d.ts +0 -8
  1564. package/dist/src/__tests__/macro.test.js +0 -306
  1565. package/dist/src/__tests__/nbt.test.d.ts +0 -1
  1566. package/dist/src/__tests__/nbt.test.js +0 -82
  1567. package/dist/src/__tests__/optimizer-advanced.test.d.ts +0 -1
  1568. package/dist/src/__tests__/optimizer-advanced.test.js +0 -124
  1569. package/dist/src/__tests__/optimizer.test.d.ts +0 -1
  1570. package/dist/src/__tests__/optimizer.test.js +0 -149
  1571. package/dist/src/__tests__/runtime.test.d.ts +0 -1
  1572. package/dist/src/__tests__/runtime.test.js +0 -289
  1573. package/dist/src/__tests__/stdlib-advanced.test.d.ts +0 -4
  1574. package/dist/src/__tests__/stdlib-advanced.test.js +0 -374
  1575. package/dist/src/__tests__/stdlib-bigint.test.d.ts +0 -7
  1576. package/dist/src/__tests__/stdlib-bigint.test.js +0 -426
  1577. package/dist/src/__tests__/stdlib-math.test.d.ts +0 -7
  1578. package/dist/src/__tests__/stdlib-math.test.js +0 -351
  1579. package/dist/src/__tests__/stdlib-vec.test.d.ts +0 -4
  1580. package/dist/src/__tests__/stdlib-vec.test.js +0 -263
  1581. package/dist/src/__tests__/structure-optimizer.test.d.ts +0 -1
  1582. package/dist/src/__tests__/structure-optimizer.test.js +0 -33
  1583. package/dist/src/__tests__/timer-debug.test.d.ts +0 -1
  1584. package/dist/src/__tests__/timer-debug.test.js +0 -33
  1585. package/dist/src/__tests__/var-allocator.test.d.ts +0 -1
  1586. package/dist/src/__tests__/var-allocator.test.js +0 -69
  1587. package/dist/src/codegen/cmdblock/index.d.ts +0 -26
  1588. package/dist/src/codegen/cmdblock/index.js +0 -45
  1589. package/dist/src/codegen/mcfunction/index.d.ts +0 -40
  1590. package/dist/src/codegen/mcfunction/index.js +0 -606
  1591. package/dist/src/codegen/structure/index.d.ts +0 -24
  1592. package/dist/src/codegen/structure/index.js +0 -279
  1593. package/dist/src/codegen/var-allocator.d.ts +0 -45
  1594. package/dist/src/codegen/var-allocator.js +0 -104
  1595. package/dist/src/ir/builder.d.ts +0 -33
  1596. package/dist/src/ir/builder.js +0 -99
  1597. package/dist/src/ir/types.d.ts +0 -132
  1598. package/dist/src/ir/types.js +0 -15
  1599. package/dist/src/lowering/index.d.ts +0 -188
  1600. package/dist/src/lowering/index.js +0 -3405
  1601. package/dist/src/optimizer/commands.d.ts +0 -38
  1602. package/dist/src/optimizer/commands.js +0 -451
  1603. package/dist/src/optimizer/passes.d.ts +0 -34
  1604. package/dist/src/optimizer/passes.js +0 -243
  1605. package/dist/src/optimizer/structure.d.ts +0 -9
  1606. package/dist/src/optimizer/structure.js +0 -356
  1607. package/dist/src2/__tests__/e2e/basic.test.d.ts +0 -8
  1608. package/dist/src2/__tests__/e2e/basic.test.js +0 -140
  1609. package/dist/src2/__tests__/e2e/macros.test.d.ts +0 -9
  1610. package/dist/src2/__tests__/e2e/macros.test.js +0 -182
  1611. package/dist/src2/__tests__/e2e/migrate.test.d.ts +0 -13
  1612. package/dist/src2/__tests__/e2e/migrate.test.js +0 -2739
  1613. package/dist/src2/__tests__/hir/desugar.test.d.ts +0 -1
  1614. package/dist/src2/__tests__/hir/desugar.test.js +0 -234
  1615. package/dist/src2/__tests__/lir/lower.test.d.ts +0 -1
  1616. package/dist/src2/__tests__/lir/lower.test.js +0 -559
  1617. package/dist/src2/__tests__/lir/types.test.d.ts +0 -1
  1618. package/dist/src2/__tests__/lir/types.test.js +0 -185
  1619. package/dist/src2/__tests__/lir/verify.test.d.ts +0 -1
  1620. package/dist/src2/__tests__/lir/verify.test.js +0 -221
  1621. package/dist/src2/__tests__/mir/arithmetic.test.d.ts +0 -1
  1622. package/dist/src2/__tests__/mir/arithmetic.test.js +0 -130
  1623. package/dist/src2/__tests__/mir/control-flow.test.d.ts +0 -1
  1624. package/dist/src2/__tests__/mir/control-flow.test.js +0 -205
  1625. package/dist/src2/__tests__/mir/verify.test.d.ts +0 -1
  1626. package/dist/src2/__tests__/mir/verify.test.js +0 -223
  1627. package/dist/src2/__tests__/optimizer/block_merge.test.d.ts +0 -1
  1628. package/dist/src2/__tests__/optimizer/block_merge.test.js +0 -78
  1629. package/dist/src2/__tests__/optimizer/branch_simplify.test.d.ts +0 -1
  1630. package/dist/src2/__tests__/optimizer/branch_simplify.test.js +0 -58
  1631. package/dist/src2/__tests__/optimizer/constant_fold.test.d.ts +0 -1
  1632. package/dist/src2/__tests__/optimizer/constant_fold.test.js +0 -131
  1633. package/dist/src2/__tests__/optimizer/copy_prop.test.d.ts +0 -1
  1634. package/dist/src2/__tests__/optimizer/copy_prop.test.js +0 -91
  1635. package/dist/src2/__tests__/optimizer/dce.test.d.ts +0 -1
  1636. package/dist/src2/__tests__/optimizer/dce.test.js +0 -76
  1637. package/dist/src2/__tests__/optimizer/pipeline.test.d.ts +0 -1
  1638. package/dist/src2/__tests__/optimizer/pipeline.test.js +0 -102
  1639. package/dist/src2/emit/compile.d.ts +0 -19
  1640. package/dist/src2/emit/compile.js +0 -80
  1641. package/dist/src2/emit/index.d.ts +0 -17
  1642. package/dist/src2/emit/index.js +0 -172
  1643. package/dist/src2/hir/lower.d.ts +0 -15
  1644. package/dist/src2/hir/lower.js +0 -378
  1645. package/dist/src2/hir/types.d.ts +0 -373
  1646. package/dist/src2/hir/types.js +0 -16
  1647. package/dist/src2/lir/lower.d.ts +0 -15
  1648. package/dist/src2/lir/lower.js +0 -453
  1649. package/dist/src2/lir/types.d.ts +0 -136
  1650. package/dist/src2/lir/types.js +0 -11
  1651. package/dist/src2/lir/verify.d.ts +0 -14
  1652. package/dist/src2/lir/verify.js +0 -113
  1653. package/dist/src2/mir/lower.d.ts +0 -9
  1654. package/dist/src2/mir/lower.js +0 -1030
  1655. package/dist/src2/mir/macro.d.ts +0 -22
  1656. package/dist/src2/mir/macro.js +0 -168
  1657. package/dist/src2/mir/types.d.ts +0 -183
  1658. package/dist/src2/mir/types.js +0 -11
  1659. package/dist/src2/mir/verify.d.ts +0 -16
  1660. package/dist/src2/mir/verify.js +0 -216
  1661. package/dist/src2/optimizer/block_merge.d.ts +0 -12
  1662. package/dist/src2/optimizer/block_merge.js +0 -84
  1663. package/dist/src2/optimizer/branch_simplify.d.ts +0 -9
  1664. package/dist/src2/optimizer/branch_simplify.js +0 -28
  1665. package/dist/src2/optimizer/constant_fold.d.ts +0 -10
  1666. package/dist/src2/optimizer/constant_fold.js +0 -85
  1667. package/dist/src2/optimizer/copy_prop.d.ts +0 -9
  1668. package/dist/src2/optimizer/copy_prop.js +0 -113
  1669. package/dist/src2/optimizer/dce.d.ts +0 -8
  1670. package/dist/src2/optimizer/dce.js +0 -155
  1671. package/dist/src2/optimizer/pipeline.d.ts +0 -10
  1672. package/dist/src2/optimizer/pipeline.js +0 -42
  1673. package/dist/swap_test.map.json +0 -14
  1674. package/dist/tsconfig.tsbuildinfo +0 -1
  1675. package/dist/typechecker/index.d.ts +0 -61
  1676. package/dist/typechecker/index.js +0 -1034
  1677. package/dist/types/entity-hierarchy.d.ts +0 -29
  1678. package/dist/types/entity-hierarchy.js +0 -107
  1679. /package/dist/{__tests__/cli.test.d.ts → src/__tests__/for-range.test.d.ts} +0 -0
  1680. /package/dist/{__tests__/codegen.test.d.ts → src/__tests__/impl.test.d.ts} +0 -0
@@ -1,1030 +0,0 @@
1
- "use strict";
2
- /**
3
- * HIR → MIR Lowering — Stage 3 of the RedScript compiler pipeline.
4
- *
5
- * Converts structured HIR (if/while/break/continue) into an explicit CFG
6
- * with 3-address instructions and unlimited fresh temporaries.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.lowerToMIR = lowerToMIR;
10
- const macro_1 = require("./macro");
11
- // ---------------------------------------------------------------------------
12
- // Public API
13
- // ---------------------------------------------------------------------------
14
- function lowerToMIR(hir) {
15
- // Build struct definitions: name → field names
16
- const structDefs = new Map();
17
- for (const s of hir.structs) {
18
- structDefs.set(s.name, s.fields.map(f => f.name));
19
- }
20
- // Build impl method info: typeName → methodName → { hasSelf }
21
- const implMethods = new Map();
22
- for (const ib of hir.implBlocks) {
23
- const methods = new Map();
24
- for (const m of ib.methods) {
25
- const hasSelf = m.params.length > 0 && m.params[0].name === 'self';
26
- methods.set(m.name, { hasSelf });
27
- }
28
- implMethods.set(ib.typeName, methods);
29
- }
30
- // Pre-scan for macro functions
31
- const macroInfo = (0, macro_1.detectMacroFunctions)(hir);
32
- // Build function param info for call_macro generation at call sites
33
- const fnParamInfo = new Map();
34
- for (const f of hir.functions) {
35
- fnParamInfo.set(f.name, f.params);
36
- }
37
- for (const ib of hir.implBlocks) {
38
- for (const m of ib.methods) {
39
- fnParamInfo.set(`${ib.typeName}::${m.name}`, m.params);
40
- }
41
- }
42
- const allFunctions = [];
43
- for (const f of hir.functions) {
44
- const { fn, helpers } = lowerFunction(f, hir.namespace, structDefs, implMethods, macroInfo, fnParamInfo);
45
- allFunctions.push(fn, ...helpers);
46
- }
47
- // Lower impl block methods
48
- for (const ib of hir.implBlocks) {
49
- for (const m of ib.methods) {
50
- const { fn, helpers } = lowerImplMethod(m, ib.typeName, hir.namespace, structDefs, implMethods, macroInfo, fnParamInfo);
51
- allFunctions.push(fn, ...helpers);
52
- }
53
- }
54
- return {
55
- functions: allFunctions,
56
- namespace: hir.namespace,
57
- objective: `__${hir.namespace}`,
58
- };
59
- }
60
- // ---------------------------------------------------------------------------
61
- // Function lowering context
62
- // ---------------------------------------------------------------------------
63
- class FnContext {
64
- constructor(namespace, fnName, structDefs = new Map(), implMethods = new Map(), macroInfo = new Map(), fnParamInfo = new Map()) {
65
- this.tempCounter = 0;
66
- this.blockCounter = 0;
67
- this.blocks = [];
68
- /** Stack of (loopHeader, loopExit, continueTo) for break/continue */
69
- this.loopStack = [];
70
- /** Extracted helper functions for execute blocks */
71
- this.helperFunctions = [];
72
- /** Struct variable tracking: varName → { typeName, fields: fieldName → temp } */
73
- this.structVars = new Map();
74
- this.namespace = namespace;
75
- this.fnName = fnName;
76
- this.structDefs = structDefs;
77
- this.implMethods = implMethods;
78
- this.macroInfo = macroInfo;
79
- this.fnParamInfo = fnParamInfo;
80
- this.currentMacroParams = macroInfo.get(fnName)?.macroParams ?? new Set();
81
- const entry = this.makeBlock('entry');
82
- this.currentBlock = entry;
83
- }
84
- freshTemp() {
85
- return `t${this.tempCounter++}`;
86
- }
87
- makeBlock(id) {
88
- const block = {
89
- id: id ?? `bb${this.blockCounter++}`,
90
- instrs: [],
91
- term: { kind: 'return', value: null }, // placeholder
92
- preds: [],
93
- };
94
- this.blocks.push(block);
95
- return block;
96
- }
97
- newBlock(prefix) {
98
- return this.makeBlock(prefix ? `${prefix}_${this.blockCounter++}` : undefined);
99
- }
100
- emit(instr) {
101
- this.currentBlock.instrs.push(instr);
102
- }
103
- terminate(term) {
104
- this.currentBlock.term = term;
105
- }
106
- switchTo(block) {
107
- this.currentBlock = block;
108
- }
109
- current() {
110
- return this.currentBlock;
111
- }
112
- pushLoop(header, exit, continueTo) {
113
- this.loopStack.push({ header, exit, continueTo: continueTo ?? header });
114
- }
115
- popLoop() {
116
- this.loopStack.pop();
117
- }
118
- currentLoop() {
119
- return this.loopStack[this.loopStack.length - 1];
120
- }
121
- getNamespace() {
122
- return this.namespace;
123
- }
124
- getFnName() {
125
- return this.fnName;
126
- }
127
- }
128
- // ---------------------------------------------------------------------------
129
- // Function lowering
130
- // ---------------------------------------------------------------------------
131
- function lowerFunction(fn, namespace, structDefs = new Map(), implMethods = new Map(), macroInfo = new Map(), fnParamInfo = new Map()) {
132
- const ctx = new FnContext(namespace, fn.name, structDefs, implMethods, macroInfo, fnParamInfo);
133
- const fnMacroInfo = macroInfo.get(fn.name);
134
- // Create temps for parameters
135
- const params = fn.params.map(p => {
136
- const t = ctx.freshTemp();
137
- return { name: t, isMacroParam: fnMacroInfo?.macroParams.has(p.name) ?? false };
138
- });
139
- // Map parameter names to their temps
140
- const scope = new Map();
141
- fn.params.forEach((p, i) => {
142
- scope.set(p.name, params[i].name);
143
- });
144
- lowerBlock(fn.body, ctx, scope);
145
- // If the current block doesn't have a real terminator, add void return
146
- const cur = ctx.current();
147
- if (isPlaceholderTerm(cur.term)) {
148
- ctx.terminate({ kind: 'return', value: null });
149
- }
150
- // Remove unreachable blocks (dead continuations after return/break/continue)
151
- const reachable = computeReachable(ctx.blocks, 'entry');
152
- const liveBlocks = ctx.blocks.filter(b => reachable.has(b.id));
153
- // Fill predecessor lists
154
- computePreds(liveBlocks);
155
- const result = {
156
- name: fn.name,
157
- params,
158
- blocks: liveBlocks,
159
- entry: 'entry',
160
- isMacro: fnMacroInfo != null,
161
- };
162
- return { fn: result, helpers: ctx.helperFunctions };
163
- }
164
- function lowerImplMethod(method, typeName, namespace, structDefs, implMethods, macroInfo = new Map(), fnParamInfo = new Map()) {
165
- const fnName = `${typeName}::${method.name}`;
166
- const ctx = new FnContext(namespace, fnName, structDefs, implMethods, macroInfo, fnParamInfo);
167
- const fields = structDefs.get(typeName) ?? [];
168
- const hasSelf = method.params.length > 0 && method.params[0].name === 'self';
169
- const params = [];
170
- const scope = new Map();
171
- if (hasSelf) {
172
- // Self fields become the first N params (one per struct field)
173
- const selfFields = new Map();
174
- for (const fieldName of fields) {
175
- const t = ctx.freshTemp();
176
- params.push({ name: t, isMacroParam: false });
177
- selfFields.set(fieldName, t);
178
- }
179
- ctx.structVars.set('self', { typeName, fields: selfFields });
180
- // Remaining params (after self)
181
- for (let i = 1; i < method.params.length; i++) {
182
- const t = ctx.freshTemp();
183
- params.push({ name: t, isMacroParam: false });
184
- scope.set(method.params[i].name, t);
185
- }
186
- }
187
- else {
188
- // Static method — regular params
189
- for (const p of method.params) {
190
- const t = ctx.freshTemp();
191
- params.push({ name: t, isMacroParam: false });
192
- scope.set(p.name, t);
193
- }
194
- }
195
- lowerBlock(method.body, ctx, scope);
196
- const cur = ctx.current();
197
- if (isPlaceholderTerm(cur.term)) {
198
- ctx.terminate({ kind: 'return', value: null });
199
- }
200
- const reachable = computeReachable(ctx.blocks, 'entry');
201
- const liveBlocks = ctx.blocks.filter(b => reachable.has(b.id));
202
- computePreds(liveBlocks);
203
- const result = {
204
- name: fnName,
205
- params,
206
- blocks: liveBlocks,
207
- entry: 'entry',
208
- isMacro: macroInfo.has(fnName),
209
- };
210
- return { fn: result, helpers: ctx.helperFunctions };
211
- }
212
- function isPlaceholderTerm(term) {
213
- // Our placeholder is a return null that was set in makeBlock
214
- return term.kind === 'return' && term.value === null;
215
- }
216
- function computeReachable(blocks, entry) {
217
- const reachable = new Set();
218
- const queue = [entry];
219
- while (queue.length > 0) {
220
- const id = queue.shift();
221
- if (reachable.has(id))
222
- continue;
223
- reachable.add(id);
224
- const block = blocks.find(b => b.id === id);
225
- if (block) {
226
- for (const t of getTermTargets(block.term)) {
227
- if (!reachable.has(t))
228
- queue.push(t);
229
- }
230
- }
231
- }
232
- return reachable;
233
- }
234
- function computePreds(blocks) {
235
- // Clear all preds
236
- for (const b of blocks)
237
- b.preds = [];
238
- for (const b of blocks) {
239
- const targets = getTermTargets(b.term);
240
- for (const t of targets) {
241
- const target = blocks.find(bb => bb.id === t);
242
- if (target && !target.preds.includes(b.id)) {
243
- target.preds.push(b.id);
244
- }
245
- }
246
- }
247
- }
248
- function getTermTargets(term) {
249
- switch (term.kind) {
250
- case 'jump': return [term.target];
251
- case 'branch': return [term.then, term.else];
252
- case 'return': return [];
253
- default: return [];
254
- }
255
- }
256
- // ---------------------------------------------------------------------------
257
- // Block / statement lowering
258
- // ---------------------------------------------------------------------------
259
- function lowerBlock(stmts, ctx, scope) {
260
- for (const stmt of stmts) {
261
- lowerStmt(stmt, ctx, scope);
262
- }
263
- }
264
- function lowerStmt(stmt, ctx, scope) {
265
- switch (stmt.kind) {
266
- case 'let': {
267
- if (stmt.init.kind === 'struct_lit') {
268
- // Struct literal: create per-field temps
269
- const typeName = (stmt.type?.kind === 'struct') ? stmt.type.name : '__anon';
270
- const fieldTemps = new Map();
271
- for (const field of stmt.init.fields) {
272
- const val = lowerExpr(field.value, ctx, scope);
273
- const t = ctx.freshTemp();
274
- ctx.emit({ kind: 'copy', dst: t, src: val });
275
- fieldTemps.set(field.name, t);
276
- }
277
- ctx.structVars.set(stmt.name, { typeName, fields: fieldTemps });
278
- }
279
- else if (stmt.type?.kind === 'struct') {
280
- // Struct-typed let with non-literal init (e.g., call returning struct)
281
- const fields = ctx.structDefs.get(stmt.type.name);
282
- if (fields) {
283
- lowerExpr(stmt.init, ctx, scope);
284
- // Copy from return field slots into struct variable temps
285
- const fieldTemps = new Map();
286
- for (const fieldName of fields) {
287
- const t = ctx.freshTemp();
288
- ctx.emit({ kind: 'copy', dst: t, src: { kind: 'temp', name: `__rf_${fieldName}` } });
289
- fieldTemps.set(fieldName, t);
290
- }
291
- ctx.structVars.set(stmt.name, { typeName: stmt.type.name, fields: fieldTemps });
292
- }
293
- else {
294
- const valOp = lowerExpr(stmt.init, ctx, scope);
295
- const t = ctx.freshTemp();
296
- ctx.emit({ kind: 'copy', dst: t, src: valOp });
297
- scope.set(stmt.name, t);
298
- }
299
- }
300
- else {
301
- const valOp = lowerExpr(stmt.init, ctx, scope);
302
- const t = ctx.freshTemp();
303
- ctx.emit({ kind: 'copy', dst: t, src: valOp });
304
- scope.set(stmt.name, t);
305
- }
306
- break;
307
- }
308
- case 'expr': {
309
- lowerExpr(stmt.expr, ctx, scope);
310
- break;
311
- }
312
- case 'return': {
313
- if (stmt.value?.kind === 'struct_lit') {
314
- // Struct return — copy each field to return field slots
315
- for (const field of stmt.value.fields) {
316
- const val = lowerExpr(field.value, ctx, scope);
317
- ctx.emit({ kind: 'copy', dst: `__rf_${field.name}`, src: val });
318
- }
319
- ctx.terminate({ kind: 'return', value: null });
320
- }
321
- else {
322
- const val = stmt.value ? lowerExpr(stmt.value, ctx, scope) : null;
323
- ctx.terminate({ kind: 'return', value: val });
324
- }
325
- // Create a dead block for any subsequent statements
326
- const dead = ctx.newBlock('post_ret');
327
- ctx.switchTo(dead);
328
- break;
329
- }
330
- case 'break': {
331
- const loop = ctx.currentLoop();
332
- if (!loop)
333
- throw new Error('break outside loop');
334
- ctx.terminate({ kind: 'jump', target: loop.exit });
335
- const dead = ctx.newBlock('post_break');
336
- ctx.switchTo(dead);
337
- break;
338
- }
339
- case 'continue': {
340
- const loop = ctx.currentLoop();
341
- if (!loop)
342
- throw new Error('continue outside loop');
343
- ctx.terminate({ kind: 'jump', target: loop.continueTo });
344
- const dead = ctx.newBlock('post_continue');
345
- ctx.switchTo(dead);
346
- break;
347
- }
348
- case 'if': {
349
- const condOp = lowerExpr(stmt.cond, ctx, scope);
350
- const thenBlock = ctx.newBlock('then');
351
- const mergeBlock = ctx.newBlock('merge');
352
- const elseBlock = stmt.else_ ? ctx.newBlock('else') : mergeBlock;
353
- ctx.terminate({ kind: 'branch', cond: condOp, then: thenBlock.id, else: elseBlock.id });
354
- // Then branch
355
- ctx.switchTo(thenBlock);
356
- lowerBlock(stmt.then, ctx, new Map(scope));
357
- if (isPlaceholderTerm(ctx.current().term)) {
358
- ctx.terminate({ kind: 'jump', target: mergeBlock.id });
359
- }
360
- // Else branch
361
- if (stmt.else_) {
362
- ctx.switchTo(elseBlock);
363
- lowerBlock(stmt.else_, ctx, new Map(scope));
364
- if (isPlaceholderTerm(ctx.current().term)) {
365
- ctx.terminate({ kind: 'jump', target: mergeBlock.id });
366
- }
367
- }
368
- ctx.switchTo(mergeBlock);
369
- break;
370
- }
371
- case 'while': {
372
- const headerBlock = ctx.newBlock('loop_header');
373
- const bodyBlock = ctx.newBlock('loop_body');
374
- const exitBlock = ctx.newBlock('loop_exit');
375
- // If there's a step block (for/for_range), create a latch block that
376
- // executes the step and then jumps to the header. Continue targets the
377
- // latch so the increment always runs.
378
- let latchBlock = null;
379
- if (stmt.step && stmt.step.length > 0) {
380
- latchBlock = ctx.newBlock('loop_latch');
381
- }
382
- const continueTarget = latchBlock ? latchBlock.id : headerBlock.id;
383
- // Jump from current block to header
384
- ctx.terminate({ kind: 'jump', target: headerBlock.id });
385
- // Header: evaluate condition
386
- ctx.switchTo(headerBlock);
387
- const condOp = lowerExpr(stmt.cond, ctx, scope);
388
- ctx.terminate({ kind: 'branch', cond: condOp, then: bodyBlock.id, else: exitBlock.id });
389
- // Body
390
- ctx.switchTo(bodyBlock);
391
- ctx.pushLoop(headerBlock.id, exitBlock.id, continueTarget);
392
- lowerBlock(stmt.body, ctx, new Map(scope));
393
- ctx.popLoop();
394
- if (isPlaceholderTerm(ctx.current().term)) {
395
- ctx.terminate({ kind: 'jump', target: continueTarget });
396
- }
397
- // Latch block (step): execute increment, then jump to header
398
- if (latchBlock && stmt.step) {
399
- ctx.switchTo(latchBlock);
400
- lowerBlock(stmt.step, ctx, new Map(scope));
401
- if (isPlaceholderTerm(ctx.current().term)) {
402
- ctx.terminate({ kind: 'jump', target: headerBlock.id });
403
- }
404
- }
405
- ctx.switchTo(exitBlock);
406
- break;
407
- }
408
- case 'foreach': {
409
- // foreach is MC-specific entity iteration — lower to call_context
410
- // For now, extract body into a helper and emit call_context
411
- const helperName = `${ctx.getFnName()}__foreach_${ctx.freshTemp()}`;
412
- const subcommands = [];
413
- // The iterable should be a selector expression
414
- if (stmt.iterable.kind === 'selector') {
415
- subcommands.push({ kind: 'as', selector: stmt.iterable.raw });
416
- }
417
- if (stmt.executeContext === '@s') {
418
- subcommands.push({ kind: 'at_self' });
419
- }
420
- // Build helper function body as MIR
421
- const helperCtx = new FnContext(ctx.getNamespace(), helperName, ctx.structDefs, ctx.implMethods);
422
- const helperScope = new Map(scope);
423
- lowerBlock(stmt.body, helperCtx, helperScope);
424
- if (isPlaceholderTerm(helperCtx.current().term)) {
425
- helperCtx.terminate({ kind: 'return', value: null });
426
- }
427
- const helperReachable = computeReachable(helperCtx.blocks, 'entry');
428
- const helperBlocks = helperCtx.blocks.filter(b => helperReachable.has(b.id));
429
- computePreds(helperBlocks);
430
- ctx.helperFunctions.push({
431
- name: helperName,
432
- params: [],
433
- blocks: helperBlocks,
434
- entry: 'entry',
435
- isMacro: false,
436
- });
437
- ctx.emit({ kind: 'call_context', fn: helperName, subcommands });
438
- break;
439
- }
440
- case 'execute': {
441
- // Extract body into a helper function, emit call_context
442
- const helperName = `${ctx.getFnName()}__exec_${ctx.freshTemp()}`;
443
- const subcommands = stmt.subcommands.map(lowerExecuteSubcmd);
444
- const helperCtx = new FnContext(ctx.getNamespace(), helperName, ctx.structDefs, ctx.implMethods);
445
- const helperScope = new Map(scope);
446
- lowerBlock(stmt.body, helperCtx, helperScope);
447
- if (isPlaceholderTerm(helperCtx.current().term)) {
448
- helperCtx.terminate({ kind: 'return', value: null });
449
- }
450
- const execReachable = computeReachable(helperCtx.blocks, 'entry');
451
- const execBlocks = helperCtx.blocks.filter(b => execReachable.has(b.id));
452
- computePreds(execBlocks);
453
- ctx.helperFunctions.push({
454
- name: helperName,
455
- params: [],
456
- blocks: execBlocks,
457
- entry: 'entry',
458
- isMacro: false,
459
- });
460
- ctx.emit({ kind: 'call_context', fn: helperName, subcommands });
461
- break;
462
- }
463
- case 'match': {
464
- // Lower match as chained if/else
465
- const matchVal = lowerExpr(stmt.expr, ctx, scope);
466
- const mergeBlock = ctx.newBlock('match_merge');
467
- for (let i = 0; i < stmt.arms.length; i++) {
468
- const arm = stmt.arms[i];
469
- if (arm.pattern === null) {
470
- // Default arm — just emit the body
471
- lowerBlock(arm.body, ctx, new Map(scope));
472
- if (isPlaceholderTerm(ctx.current().term)) {
473
- ctx.terminate({ kind: 'jump', target: mergeBlock.id });
474
- }
475
- }
476
- else {
477
- const patOp = lowerExpr(arm.pattern, ctx, scope);
478
- const cmpTemp = ctx.freshTemp();
479
- ctx.emit({ kind: 'cmp', dst: cmpTemp, op: 'eq', a: matchVal, b: patOp });
480
- const armBody = ctx.newBlock('match_arm');
481
- const nextArm = ctx.newBlock('match_next');
482
- ctx.terminate({ kind: 'branch', cond: { kind: 'temp', name: cmpTemp }, then: armBody.id, else: nextArm.id });
483
- ctx.switchTo(armBody);
484
- lowerBlock(arm.body, ctx, new Map(scope));
485
- if (isPlaceholderTerm(ctx.current().term)) {
486
- ctx.terminate({ kind: 'jump', target: mergeBlock.id });
487
- }
488
- ctx.switchTo(nextArm);
489
- }
490
- }
491
- // If no default arm matched, jump to merge
492
- if (isPlaceholderTerm(ctx.current().term)) {
493
- ctx.terminate({ kind: 'jump', target: mergeBlock.id });
494
- }
495
- ctx.switchTo(mergeBlock);
496
- break;
497
- }
498
- case 'raw': {
499
- // Raw commands are opaque at MIR level — emit as a call to a synthetic raw function
500
- // For now, pass through as a call with no args (will be handled in LIR)
501
- ctx.emit({ kind: 'call', dst: null, fn: `__raw:${stmt.cmd}`, args: [] });
502
- break;
503
- }
504
- default: {
505
- const _exhaustive = stmt;
506
- throw new Error(`Unknown HIR statement kind: ${_exhaustive.kind}`);
507
- }
508
- }
509
- }
510
- // ---------------------------------------------------------------------------
511
- // Expression lowering → produces an Operand (temp or const)
512
- // ---------------------------------------------------------------------------
513
- function lowerExpr(expr, ctx, scope) {
514
- switch (expr.kind) {
515
- case 'int_lit':
516
- return { kind: 'const', value: expr.value };
517
- case 'float_lit':
518
- // float is ×1000 fixed-point in RedScript
519
- return { kind: 'const', value: expr.value };
520
- case 'byte_lit':
521
- case 'short_lit':
522
- case 'long_lit':
523
- case 'double_lit':
524
- return { kind: 'const', value: expr.value };
525
- case 'bool_lit': {
526
- return { kind: 'const', value: expr.value ? 1 : 0 };
527
- }
528
- case 'struct_lit': {
529
- // Struct literal in expression context (not let/return — those handle it directly).
530
- // Lower each field value but return a placeholder since the struct
531
- // is tracked via structVars at the statement level.
532
- for (const field of expr.fields) {
533
- lowerExpr(field.value, ctx, scope);
534
- }
535
- const t = ctx.freshTemp();
536
- ctx.emit({ kind: 'const', dst: t, value: 0 });
537
- return { kind: 'temp', name: t };
538
- }
539
- case 'str_lit':
540
- case 'range_lit':
541
- case 'array_lit':
542
- case 'rel_coord':
543
- case 'local_coord':
544
- case 'mc_name':
545
- case 'blockpos':
546
- case 'selector':
547
- case 'str_interp':
548
- case 'f_string':
549
- case 'is_check':
550
- case 'lambda': {
551
- // MC-specific / complex types — opaque at MIR level
552
- // Emit as const 0 placeholder; these are handled in LIR lowering
553
- const t = ctx.freshTemp();
554
- ctx.emit({ kind: 'const', dst: t, value: 0 });
555
- return { kind: 'temp', name: t };
556
- }
557
- case 'ident': {
558
- const temp = scope.get(expr.name);
559
- if (temp)
560
- return { kind: 'temp', name: temp };
561
- // Unresolved ident — could be a global or external reference
562
- const t = ctx.freshTemp();
563
- ctx.emit({ kind: 'copy', dst: t, src: { kind: 'const', value: 0 } });
564
- scope.set(expr.name, t);
565
- return { kind: 'temp', name: t };
566
- }
567
- case 'binary': {
568
- // Handle short-circuit && and ||
569
- if (expr.op === '&&') {
570
- return lowerShortCircuitAnd(expr, ctx, scope);
571
- }
572
- if (expr.op === '||') {
573
- return lowerShortCircuitOr(expr, ctx, scope);
574
- }
575
- const left = lowerExpr(expr.left, ctx, scope);
576
- const right = lowerExpr(expr.right, ctx, scope);
577
- const t = ctx.freshTemp();
578
- // Map HIR binary ops to MIR instructions
579
- const arithmeticOps = {
580
- '+': 'add', '-': 'sub', '*': 'mul', '/': 'div', '%': 'mod',
581
- };
582
- const cmpOps = {
583
- '==': 'eq', '!=': 'ne', '<': 'lt', '<=': 'le', '>': 'gt', '>=': 'ge',
584
- };
585
- if (expr.op in arithmeticOps) {
586
- ctx.emit({ kind: arithmeticOps[expr.op], dst: t, a: left, b: right });
587
- }
588
- else if (expr.op in cmpOps) {
589
- ctx.emit({ kind: 'cmp', dst: t, op: cmpOps[expr.op], a: left, b: right });
590
- }
591
- else {
592
- throw new Error(`Unknown binary op: ${expr.op}`);
593
- }
594
- return { kind: 'temp', name: t };
595
- }
596
- case 'unary': {
597
- const operand = lowerExpr(expr.operand, ctx, scope);
598
- const t = ctx.freshTemp();
599
- if (expr.op === '-') {
600
- ctx.emit({ kind: 'neg', dst: t, src: operand });
601
- }
602
- else if (expr.op === '!') {
603
- ctx.emit({ kind: 'not', dst: t, src: operand });
604
- }
605
- return { kind: 'temp', name: t };
606
- }
607
- case 'assign': {
608
- const val = lowerExpr(expr.value, ctx, scope);
609
- // Reuse the existing temp for this variable so that updates inside
610
- // if/while bodies are visible to outer code (we target mutable
611
- // scoreboard slots, not true SSA registers).
612
- const existing = scope.get(expr.target);
613
- const t = existing ?? ctx.freshTemp();
614
- ctx.emit({ kind: 'copy', dst: t, src: val });
615
- scope.set(expr.target, t);
616
- return val;
617
- }
618
- case 'member_assign': {
619
- const val = lowerExpr(expr.value, ctx, scope);
620
- // Struct field assignment: v.x = val → copy val to v's x temp
621
- if (expr.obj.kind === 'ident') {
622
- const sv = ctx.structVars.get(expr.obj.name);
623
- if (sv) {
624
- const fieldTemp = sv.fields.get(expr.field);
625
- if (fieldTemp) {
626
- ctx.emit({ kind: 'copy', dst: fieldTemp, src: val });
627
- return val;
628
- }
629
- }
630
- }
631
- return val;
632
- }
633
- case 'member': {
634
- // Struct field access: v.x → return v's x temp
635
- if (expr.obj.kind === 'ident') {
636
- const sv = ctx.structVars.get(expr.obj.name);
637
- if (sv) {
638
- const fieldTemp = sv.fields.get(expr.field);
639
- if (fieldTemp)
640
- return { kind: 'temp', name: fieldTemp };
641
- }
642
- }
643
- // Fallback: opaque
644
- const obj = lowerExpr(expr.obj, ctx, scope);
645
- const t = ctx.freshTemp();
646
- ctx.emit({ kind: 'copy', dst: t, src: obj });
647
- return { kind: 'temp', name: t };
648
- }
649
- case 'index': {
650
- const obj = lowerExpr(expr.obj, ctx, scope);
651
- const idx = lowerExpr(expr.index, ctx, scope);
652
- const t = ctx.freshTemp();
653
- ctx.emit({ kind: 'copy', dst: t, src: obj });
654
- return { kind: 'temp', name: t };
655
- }
656
- case 'call': {
657
- // Handle builtin calls → raw MC commands
658
- if (macro_1.BUILTIN_SET.has(expr.fn)) {
659
- const cmd = formatBuiltinCall(expr.fn, expr.args, ctx.currentMacroParams);
660
- ctx.emit({ kind: 'call', dst: null, fn: `__raw:${cmd}`, args: [] });
661
- const t = ctx.freshTemp();
662
- ctx.emit({ kind: 'const', dst: t, value: 0 });
663
- return { kind: 'temp', name: t };
664
- }
665
- // Check for struct instance method call: parser desugars v.method() → call('method', [v, ...])
666
- if (expr.args.length > 0 && expr.args[0].kind === 'ident') {
667
- const sv = ctx.structVars.get(expr.args[0].name);
668
- if (sv) {
669
- const methodInfo = ctx.implMethods.get(sv.typeName)?.get(expr.fn);
670
- if (methodInfo?.hasSelf) {
671
- // Build args: self fields first, then remaining explicit args
672
- const fields = ctx.structDefs.get(sv.typeName) ?? [];
673
- const selfArgs = fields.map(f => {
674
- const temp = sv.fields.get(f);
675
- return temp ? { kind: 'temp', name: temp } : { kind: 'const', value: 0 };
676
- });
677
- const explicitArgs = expr.args.slice(1).map(a => lowerExpr(a, ctx, scope));
678
- const allArgs = [...selfArgs, ...explicitArgs];
679
- const t = ctx.freshTemp();
680
- ctx.emit({ kind: 'call', dst: t, fn: `${sv.typeName}::${expr.fn}`, args: allArgs });
681
- return { kind: 'temp', name: t };
682
- }
683
- }
684
- }
685
- // Check if calling a macro function → emit call_macro
686
- const targetMacro = ctx.macroInfo.get(expr.fn);
687
- if (targetMacro) {
688
- const args = expr.args.map(a => lowerExpr(a, ctx, scope));
689
- const targetParams = ctx.fnParamInfo.get(expr.fn) ?? [];
690
- const macroArgs = [];
691
- for (let i = 0; i < targetParams.length && i < args.length; i++) {
692
- const paramName = targetParams[i].name;
693
- if (targetMacro.macroParams.has(paramName)) {
694
- const paramTypeName = targetMacro.paramTypes.get(paramName) ?? 'int';
695
- const isFloat = paramTypeName === 'float';
696
- macroArgs.push({
697
- name: paramName,
698
- value: args[i],
699
- type: isFloat ? 'double' : 'int',
700
- scale: isFloat ? 0.01 : 1,
701
- });
702
- }
703
- }
704
- const t = ctx.freshTemp();
705
- ctx.emit({ kind: 'call_macro', dst: t, fn: expr.fn, args: macroArgs });
706
- return { kind: 'temp', name: t };
707
- }
708
- const args = expr.args.map(a => lowerExpr(a, ctx, scope));
709
- const t = ctx.freshTemp();
710
- ctx.emit({ kind: 'call', dst: t, fn: expr.fn, args });
711
- return { kind: 'temp', name: t };
712
- }
713
- case 'invoke': {
714
- // Check for struct method call: v.method(args)
715
- if (expr.callee.kind === 'member' && expr.callee.obj.kind === 'ident') {
716
- const sv = ctx.structVars.get(expr.callee.obj.name);
717
- if (sv) {
718
- const methodInfo = ctx.implMethods.get(sv.typeName)?.get(expr.callee.field);
719
- if (methodInfo?.hasSelf) {
720
- // Build args: self fields first, then explicit args
721
- const fields = ctx.structDefs.get(sv.typeName) ?? [];
722
- const selfArgs = fields.map(f => {
723
- const temp = sv.fields.get(f);
724
- return temp ? { kind: 'temp', name: temp } : { kind: 'const', value: 0 };
725
- });
726
- const explicitArgs = expr.args.map(a => lowerExpr(a, ctx, scope));
727
- const allArgs = [...selfArgs, ...explicitArgs];
728
- const t = ctx.freshTemp();
729
- ctx.emit({ kind: 'call', dst: t, fn: `${sv.typeName}::${expr.callee.field}`, args: allArgs });
730
- return { kind: 'temp', name: t };
731
- }
732
- }
733
- }
734
- // Fallback: generic invoke
735
- const calleeOp = lowerExpr(expr.callee, ctx, scope);
736
- const args = expr.args.map(a => lowerExpr(a, ctx, scope));
737
- const t = ctx.freshTemp();
738
- ctx.emit({ kind: 'call', dst: t, fn: '__invoke', args: [calleeOp, ...args] });
739
- return { kind: 'temp', name: t };
740
- }
741
- case 'static_call': {
742
- const args = expr.args.map(a => lowerExpr(a, ctx, scope));
743
- const t = ctx.freshTemp();
744
- ctx.emit({ kind: 'call', dst: t, fn: `${expr.type}::${expr.method}`, args });
745
- return { kind: 'temp', name: t };
746
- }
747
- default: {
748
- const _exhaustive = expr;
749
- throw new Error(`Unknown HIR expression kind: ${_exhaustive.kind}`);
750
- }
751
- }
752
- }
753
- // ---------------------------------------------------------------------------
754
- // Short-circuit lowering
755
- // ---------------------------------------------------------------------------
756
- function lowerShortCircuitAnd(expr, ctx, scope) {
757
- // a && b → if(a) { b } else { 0 }
758
- const left = lowerExpr(expr.left, ctx, scope);
759
- const result = ctx.freshTemp();
760
- const evalRight = ctx.newBlock('and_right');
761
- const merge = ctx.newBlock('and_merge');
762
- const falseBlock = ctx.newBlock('and_false');
763
- ctx.terminate({ kind: 'branch', cond: left, then: evalRight.id, else: falseBlock.id });
764
- ctx.switchTo(evalRight);
765
- const right = lowerExpr(expr.right, ctx, scope);
766
- ctx.emit({ kind: 'copy', dst: result, src: right });
767
- ctx.terminate({ kind: 'jump', target: merge.id });
768
- ctx.switchTo(falseBlock);
769
- ctx.emit({ kind: 'const', dst: result, value: 0 });
770
- ctx.terminate({ kind: 'jump', target: merge.id });
771
- ctx.switchTo(merge);
772
- return { kind: 'temp', name: result };
773
- }
774
- function lowerShortCircuitOr(expr, ctx, scope) {
775
- // a || b → if(a) { 1 } else { b }
776
- const left = lowerExpr(expr.left, ctx, scope);
777
- const result = ctx.freshTemp();
778
- const trueBlock = ctx.newBlock('or_true');
779
- const evalRight = ctx.newBlock('or_right');
780
- const merge = ctx.newBlock('or_merge');
781
- ctx.terminate({ kind: 'branch', cond: left, then: trueBlock.id, else: evalRight.id });
782
- ctx.switchTo(trueBlock);
783
- ctx.emit({ kind: 'const', dst: result, value: 1 });
784
- ctx.terminate({ kind: 'jump', target: merge.id });
785
- ctx.switchTo(evalRight);
786
- const right = lowerExpr(expr.right, ctx, scope);
787
- ctx.emit({ kind: 'copy', dst: result, src: right });
788
- ctx.terminate({ kind: 'jump', target: merge.id });
789
- ctx.switchTo(merge);
790
- return { kind: 'temp', name: result };
791
- }
792
- // ---------------------------------------------------------------------------
793
- // Execute subcommand lowering
794
- // ---------------------------------------------------------------------------
795
- function lowerExecuteSubcmd(sub) {
796
- switch (sub.kind) {
797
- case 'as':
798
- return { kind: 'as', selector: selectorToString(sub.selector) };
799
- case 'at':
800
- return { kind: 'at', selector: selectorToString(sub.selector) };
801
- case 'positioned':
802
- return { kind: 'positioned', x: sub.x, y: sub.y, z: sub.z };
803
- case 'rotated':
804
- return { kind: 'rotated', yaw: sub.yaw, pitch: sub.pitch };
805
- case 'in':
806
- return { kind: 'in', dimension: sub.dimension };
807
- case 'anchored':
808
- return { kind: 'anchored', anchor: sub.anchor };
809
- case 'positioned_as':
810
- return { kind: 'at', selector: selectorToString(sub.selector) };
811
- case 'rotated_as':
812
- return { kind: 'rotated', yaw: '0', pitch: '0' };
813
- case 'facing':
814
- return { kind: 'positioned', x: sub.x, y: sub.y, z: sub.z };
815
- case 'facing_entity':
816
- return { kind: 'at', selector: selectorToString(sub.selector) };
817
- case 'align':
818
- return { kind: 'positioned', x: '0', y: '0', z: '0' };
819
- case 'on':
820
- return { kind: 'at_self' };
821
- case 'summon':
822
- return { kind: 'at_self' };
823
- case 'if_entity':
824
- case 'unless_entity':
825
- case 'if_block':
826
- case 'unless_block':
827
- case 'if_score':
828
- case 'unless_score':
829
- case 'if_score_range':
830
- case 'unless_score_range':
831
- case 'store_result':
832
- case 'store_success':
833
- // These are condition subcommands — pass through as-is for now
834
- return { kind: 'at_self' };
835
- default: {
836
- const _exhaustive = sub;
837
- throw new Error(`Unknown execute subcommand kind: ${_exhaustive.kind}`);
838
- }
839
- }
840
- }
841
- function selectorToString(sel) {
842
- // EntitySelector has kind like '@a', '@e', '@s', etc.
843
- // Filters are key=value pairs that become [key=value,key=value]
844
- if (!sel.filters || Object.keys(sel.filters).length === 0) {
845
- return sel.kind;
846
- }
847
- const parts = [];
848
- for (const [key, value] of Object.entries(sel.filters)) {
849
- if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
850
- // Range filter: { min, max } → key=min..max
851
- const rangeObj = value;
852
- if (rangeObj.min !== undefined && rangeObj.max !== undefined) {
853
- parts.push(`${key}=${rangeObj.min}..${rangeObj.max}`);
854
- }
855
- else if (rangeObj.max !== undefined) {
856
- parts.push(`${key}=..${rangeObj.max}`);
857
- }
858
- else if (rangeObj.min !== undefined) {
859
- parts.push(`${key}=${rangeObj.min}..`);
860
- }
861
- }
862
- else {
863
- parts.push(`${key}=${value}`);
864
- }
865
- }
866
- return `${sel.kind}[${parts.join(',')}]`;
867
- }
868
- // ---------------------------------------------------------------------------
869
- // Builtin call formatting → raw MC command strings
870
- // ---------------------------------------------------------------------------
871
- const MACRO_SENTINEL = '\x01';
872
- /**
873
- * Format a builtin call as a raw MC command string.
874
- * If any argument uses a macro param, the command is prefixed with \x01
875
- * (converted to $ in LIR emission).
876
- */
877
- function formatBuiltinCall(fn, args, macroParams) {
878
- const fmtArgs = args.map(a => exprToCommandArg(a, macroParams));
879
- const strs = fmtArgs.map(a => a.str);
880
- const hasMacro = fmtArgs.some(a => a.isMacro);
881
- let cmd;
882
- switch (fn) {
883
- case 'summon': {
884
- const [type, x, y, z, nbt] = strs;
885
- const pos = [x ?? '~', y ?? '~', z ?? '~'].join(' ');
886
- cmd = nbt ? `summon ${type} ${pos} ${nbt}` : `summon ${type} ${pos}`;
887
- break;
888
- }
889
- case 'particle': {
890
- const [name, x, y, z, ...rest] = strs;
891
- const pos = [x ?? '~', y ?? '~', z ?? '~'].join(' ');
892
- const extra = rest.filter(v => v !== undefined);
893
- cmd = extra.length > 0 ? `particle ${name} ${pos} ${extra.join(' ')}` : `particle ${name} ${pos}`;
894
- break;
895
- }
896
- case 'setblock': {
897
- const [x, y, z, block] = strs;
898
- cmd = `setblock ${x} ${y} ${z} ${block}`;
899
- break;
900
- }
901
- case 'fill': {
902
- const [x1, y1, z1, x2, y2, z2, block] = strs;
903
- cmd = `fill ${x1} ${y1} ${z1} ${x2} ${y2} ${z2} ${block}`;
904
- break;
905
- }
906
- case 'say':
907
- cmd = `say ${strs[0] ?? ''}`;
908
- break;
909
- case 'tell':
910
- case 'tellraw':
911
- cmd = `tellraw ${strs[0]} {"text":"${strs[1]}"}`;
912
- break;
913
- case 'title':
914
- cmd = `title ${strs[0]} title {"text":"${strs[1]}"}`;
915
- break;
916
- case 'actionbar':
917
- cmd = `title ${strs[0]} actionbar {"text":"${strs[1]}"}`;
918
- break;
919
- case 'subtitle':
920
- cmd = `title ${strs[0]} subtitle {"text":"${strs[1]}"}`;
921
- break;
922
- case 'title_times':
923
- cmd = `title ${strs[0]} times ${strs[1]} ${strs[2]} ${strs[3]}`;
924
- break;
925
- case 'announce':
926
- cmd = `tellraw @a {"text":"${strs[0]}"}`;
927
- break;
928
- case 'give': {
929
- const nbt = strs[3] ? strs[3] : '';
930
- cmd = `give ${strs[0]} ${strs[1]}${nbt} ${strs[2] ?? '1'}`;
931
- break;
932
- }
933
- case 'kill':
934
- cmd = `kill ${strs[0] ?? '@s'}`;
935
- break;
936
- case 'effect':
937
- cmd = `effect give ${strs[0]} ${strs[1]} ${strs[2] ?? '30'} ${strs[3] ?? '0'}`;
938
- break;
939
- case 'effect_clear':
940
- cmd = strs[1] ? `effect clear ${strs[0]} ${strs[1]}` : `effect clear ${strs[0]}`;
941
- break;
942
- case 'playsound':
943
- cmd = ['playsound', ...strs].filter(Boolean).join(' ');
944
- break;
945
- case 'clear':
946
- cmd = `clear ${strs[0]} ${strs[1] ?? ''}`.trim();
947
- break;
948
- case 'weather':
949
- cmd = `weather ${strs[0]}`;
950
- break;
951
- case 'time_set':
952
- cmd = `time set ${strs[0]}`;
953
- break;
954
- case 'time_add':
955
- cmd = `time add ${strs[0]}`;
956
- break;
957
- case 'gamerule':
958
- cmd = `gamerule ${strs[0]} ${strs[1]}`;
959
- break;
960
- case 'tag_add':
961
- cmd = `tag ${strs[0]} add ${strs[1]}`;
962
- break;
963
- case 'tag_remove':
964
- cmd = `tag ${strs[0]} remove ${strs[1]}`;
965
- break;
966
- case 'kick':
967
- cmd = `kick ${strs[0]} ${strs[1] ?? ''}`.trim();
968
- break;
969
- case 'clone':
970
- cmd = `clone ${strs.join(' ')}`;
971
- break;
972
- case 'difficulty':
973
- cmd = `difficulty ${strs[0]}`;
974
- break;
975
- case 'xp_add':
976
- cmd = `xp add ${strs[0]} ${strs[1]} ${strs[2] ?? 'points'}`;
977
- break;
978
- case 'xp_set':
979
- cmd = `xp set ${strs[0]} ${strs[1]} ${strs[2] ?? 'points'}`;
980
- break;
981
- default: cmd = `${fn} ${strs.join(' ')}`;
982
- }
983
- return hasMacro ? `${MACRO_SENTINEL}${cmd}` : cmd;
984
- }
985
- /** Convert an HIR expression to its MC command string representation */
986
- function exprToCommandArg(expr, macroParams) {
987
- switch (expr.kind) {
988
- case 'int_lit': return { str: String(expr.value), isMacro: false };
989
- case 'float_lit': return { str: String(expr.value), isMacro: false };
990
- case 'byte_lit': return { str: String(expr.value), isMacro: false };
991
- case 'short_lit': return { str: String(expr.value), isMacro: false };
992
- case 'long_lit': return { str: String(expr.value), isMacro: false };
993
- case 'double_lit': return { str: String(expr.value), isMacro: false };
994
- case 'bool_lit': return { str: expr.value ? 'true' : 'false', isMacro: false };
995
- case 'str_lit': return { str: expr.value, isMacro: false };
996
- case 'mc_name': return { str: expr.value, isMacro: false };
997
- case 'selector': return { str: expr.raw, isMacro: false };
998
- case 'ident':
999
- if (macroParams.has(expr.name))
1000
- return { str: `$(${expr.name})`, isMacro: true };
1001
- return { str: expr.name, isMacro: false };
1002
- case 'local_coord': {
1003
- const prefix = expr.value[0]; // ^
1004
- const rest = expr.value.slice(1);
1005
- if (rest && /^[a-zA-Z_]\w*$/.test(rest) && macroParams.has(rest)) {
1006
- return { str: `${prefix}$(${rest})`, isMacro: true };
1007
- }
1008
- return { str: expr.value, isMacro: false };
1009
- }
1010
- case 'rel_coord': {
1011
- const prefix = expr.value[0]; // ~
1012
- const rest = expr.value.slice(1);
1013
- if (rest && /^[a-zA-Z_]\w*$/.test(rest) && macroParams.has(rest)) {
1014
- return { str: `${prefix}$(${rest})`, isMacro: true };
1015
- }
1016
- return { str: expr.value, isMacro: false };
1017
- }
1018
- case 'unary':
1019
- if (expr.op === '-' && expr.operand.kind === 'float_lit') {
1020
- return { str: String(-expr.operand.value), isMacro: false };
1021
- }
1022
- if (expr.op === '-' && expr.operand.kind === 'int_lit') {
1023
- return { str: String(-expr.operand.value), isMacro: false };
1024
- }
1025
- return { str: '~', isMacro: false };
1026
- default:
1027
- return { str: '~', isMacro: false };
1028
- }
1029
- }
1030
- //# sourceMappingURL=lower.js.map