redscript-mc 2.0.0 → 2.1.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 (629) hide show
  1. package/.claudeignore +21 -0
  2. package/README.md +12 -16
  3. package/README.zh.md +2 -2
  4. package/dist/cli.js +0 -0
  5. package/dist/src/__tests__/budget.test.js +261 -0
  6. package/dist/src/__tests__/diagnostics.test.js +2 -3
  7. package/dist/src/__tests__/e2e/coroutine.test.d.ts +7 -0
  8. package/dist/src/__tests__/e2e/coroutine.test.js +132 -0
  9. package/dist/{src2 → src}/__tests__/e2e/macros.test.js +1 -1
  10. package/dist/{src2 → src}/__tests__/e2e/migrate.test.js +1 -1
  11. package/dist/src/__tests__/e2e/stdlib-e2e.test.d.ts +10 -0
  12. package/dist/src/__tests__/e2e/stdlib-e2e.test.js +324 -0
  13. package/dist/src/__tests__/enum.test.d.ts +10 -0
  14. package/dist/src/__tests__/enum.test.js +389 -0
  15. package/dist/src/__tests__/generics.test.d.ts +14 -0
  16. package/dist/src/__tests__/generics.test.js +367 -0
  17. package/dist/{src2 → src}/__tests__/hir/desugar.test.js +2 -2
  18. package/dist/src/__tests__/incremental.test.d.ts +5 -0
  19. package/dist/src/__tests__/incremental.test.js +308 -0
  20. package/dist/src/__tests__/lsp.test.d.ts +7 -0
  21. package/dist/src/__tests__/lsp.test.js +245 -0
  22. package/dist/src/__tests__/mc-version.test.d.ts +10 -0
  23. package/dist/src/__tests__/mc-version.test.js +154 -0
  24. package/dist/{src2 → src}/__tests__/mir/arithmetic.test.js +2 -2
  25. package/dist/{src2 → src}/__tests__/mir/control-flow.test.js +2 -2
  26. package/dist/src/__tests__/modules.test.d.ts +7 -0
  27. package/dist/src/__tests__/modules.test.js +333 -0
  28. package/dist/src/__tests__/optimizer/coroutine.test.d.ts +12 -0
  29. package/dist/src/__tests__/optimizer/coroutine.test.js +251 -0
  30. package/dist/src/__tests__/optimizer/interprocedural.test.js +145 -0
  31. package/dist/src/__tests__/optimizer/lir/const_imm.test.js +138 -0
  32. package/dist/src/__tests__/optimizer/lir/dead_slot.test.js +141 -0
  33. package/dist/src/__tests__/optimizer/lir/peephole.test.js +126 -0
  34. package/dist/src/__tests__/optimizer/lir/pipeline.test.js +84 -0
  35. package/dist/src/__tests__/optimizer/nbt-batch.test.js +110 -0
  36. package/dist/src/__tests__/optimizer/selector-cache.test.js +103 -0
  37. package/dist/src/__tests__/optimizer/unroll.test.js +206 -0
  38. package/dist/src/__tests__/option.test.d.ts +14 -0
  39. package/dist/src/__tests__/option.test.js +275 -0
  40. package/dist/src/__tests__/schedule.test.d.ts +7 -0
  41. package/dist/src/__tests__/schedule.test.js +98 -0
  42. package/dist/src/__tests__/sourcemap.test.d.ts +7 -0
  43. package/dist/src/__tests__/sourcemap.test.js +227 -0
  44. package/dist/src/__tests__/tuple.test.d.ts +11 -0
  45. package/dist/src/__tests__/tuple.test.js +202 -0
  46. package/dist/src/__tests__/typechecker-strict.test.d.ts +10 -0
  47. package/dist/src/__tests__/typechecker-strict.test.js +197 -0
  48. package/dist/src/ast/types.d.ts +56 -2
  49. package/dist/src/cache/deps.d.ts +41 -0
  50. package/dist/src/cache/deps.js +158 -0
  51. package/dist/src/cache/incremental.d.ts +35 -0
  52. package/dist/src/cache/incremental.js +165 -0
  53. package/dist/src/cache/index.d.ts +37 -0
  54. package/dist/src/cache/index.js +152 -0
  55. package/dist/src/cli.js +76 -45
  56. package/dist/src/compile.d.ts +2 -2
  57. package/dist/src/compile.js +1 -1
  58. package/dist/src/diagnostics/index.d.ts +1 -1
  59. package/dist/src/diagnostics/index.js +8 -11
  60. package/dist/src/emit/compile.d.ts +29 -0
  61. package/dist/src/emit/compile.js +143 -0
  62. package/dist/{src2 → src}/emit/index.d.ts +9 -0
  63. package/dist/{src2 → src}/emit/index.js +59 -8
  64. package/dist/src/emit/modules.d.ts +29 -0
  65. package/dist/src/emit/modules.js +492 -0
  66. package/dist/src/emit/sourcemap.d.ts +53 -0
  67. package/dist/src/emit/sourcemap.js +73 -0
  68. package/dist/{src2 → src}/hir/lower.d.ts +1 -1
  69. package/dist/{src2 → src}/hir/lower.js +22 -1
  70. package/dist/src/hir/monomorphize.d.ts +22 -0
  71. package/dist/src/hir/monomorphize.js +379 -0
  72. package/dist/{src2 → src}/hir/types.d.ts +35 -2
  73. package/dist/src/index.d.ts +19 -2
  74. package/dist/src/index.js +36 -14
  75. package/dist/src/lexer/index.d.ts +1 -1
  76. package/dist/src/lexer/index.js +1 -0
  77. package/dist/src/lir/budget.d.ts +37 -0
  78. package/dist/src/lir/budget.js +280 -0
  79. package/dist/{src2 → src}/lir/lower.js +19 -0
  80. package/dist/{src2 → src}/lir/types.d.ts +7 -4
  81. package/dist/src/lsp/main.d.ts +8 -0
  82. package/dist/src/lsp/main.js +11 -0
  83. package/dist/src/lsp/server.d.ts +11 -0
  84. package/dist/src/lsp/server.js +352 -0
  85. package/dist/{src2 → src}/mir/lower.d.ts +1 -1
  86. package/dist/{src2 → src}/mir/lower.js +244 -10
  87. package/dist/{src2 → src}/mir/types.d.ts +10 -2
  88. package/dist/src/optimizer/coroutine.d.ts +34 -0
  89. package/dist/src/optimizer/coroutine.js +789 -0
  90. package/dist/src/optimizer/dce.d.ts +8 -34
  91. package/dist/src/optimizer/dce.js +146 -629
  92. package/dist/src/optimizer/interprocedural.d.ts +14 -0
  93. package/dist/src/optimizer/interprocedural.js +186 -0
  94. package/dist/src/optimizer/lir/const_imm.d.ts +12 -0
  95. package/dist/src/optimizer/lir/const_imm.js +139 -0
  96. package/dist/src/optimizer/lir/dead_slot.d.ts +14 -0
  97. package/dist/src/optimizer/lir/dead_slot.js +130 -0
  98. package/dist/src/optimizer/lir/peephole.d.ts +21 -0
  99. package/dist/src/optimizer/lir/peephole.js +52 -0
  100. package/dist/src/optimizer/lir/pipeline.d.ts +10 -0
  101. package/dist/src/optimizer/lir/pipeline.js +34 -0
  102. package/dist/src/optimizer/nbt-batch.d.ts +11 -0
  103. package/dist/src/optimizer/nbt-batch.js +51 -0
  104. package/dist/{src2 → src}/optimizer/pipeline.d.ts +4 -0
  105. package/dist/{src2 → src}/optimizer/pipeline.js +17 -1
  106. package/dist/src/optimizer/selector-cache.d.ts +22 -0
  107. package/dist/src/optimizer/selector-cache.js +100 -0
  108. package/dist/src/optimizer/unroll.d.ts +32 -0
  109. package/dist/src/optimizer/unroll.js +348 -0
  110. package/dist/src/parser/index.d.ts +8 -0
  111. package/dist/src/parser/index.js +204 -14
  112. package/dist/src/repl.d.ts +1 -1
  113. package/dist/src/typechecker/index.d.ts +4 -0
  114. package/dist/src/typechecker/index.js +198 -13
  115. package/dist/src/types/mc-version.d.ts +24 -0
  116. package/dist/src/types/mc-version.js +49 -0
  117. package/docs/ROADMAP.md +395 -0
  118. package/docs/compiler-pipeline-redesign.md +27 -10
  119. package/editors/vscode/out/extension.js +25176 -8000
  120. package/editors/vscode/package-lock.json +90 -6
  121. package/editors/vscode/package.json +3 -2
  122. package/editors/vscode/src/extension.ts +97 -67
  123. package/examples/showcase.mcrs +3 -3
  124. package/jest.config.js +1 -1
  125. package/package.json +9 -3
  126. package/src/__tests__/budget.test.ts +297 -0
  127. package/src/__tests__/diagnostics.test.ts +2 -3
  128. package/src/__tests__/e2e/coroutine.test.ts +142 -0
  129. package/{src2 → src}/__tests__/e2e/macros.test.ts +1 -1
  130. package/{src2 → src}/__tests__/e2e/migrate.test.ts +1 -1
  131. package/src/__tests__/e2e/stdlib-e2e.test.ts +348 -0
  132. package/src/__tests__/enum.test.ts +425 -0
  133. package/src/__tests__/generics.test.ts +390 -0
  134. package/{src2 → src}/__tests__/hir/desugar.test.ts +2 -2
  135. package/src/__tests__/incremental.test.ts +337 -0
  136. package/src/__tests__/lsp.test.ts +270 -0
  137. package/src/__tests__/mc-version.test.ts +178 -0
  138. package/{src2 → src}/__tests__/mir/arithmetic.test.ts +2 -2
  139. package/{src2 → src}/__tests__/mir/control-flow.test.ts +2 -2
  140. package/src/__tests__/modules.test.ts +365 -0
  141. package/src/__tests__/optimizer/coroutine.test.ts +312 -0
  142. package/src/__tests__/optimizer/interprocedural.test.ts +174 -0
  143. package/src/__tests__/optimizer/lir/const_imm.test.ts +151 -0
  144. package/src/__tests__/optimizer/lir/dead_slot.test.ts +156 -0
  145. package/src/__tests__/optimizer/lir/peephole.test.ts +136 -0
  146. package/src/__tests__/optimizer/lir/pipeline.test.ts +113 -0
  147. package/src/__tests__/optimizer/nbt-batch.test.ts +119 -0
  148. package/src/__tests__/optimizer/selector-cache.test.ts +112 -0
  149. package/src/__tests__/optimizer/unroll.test.ts +231 -0
  150. package/src/__tests__/option.test.ts +299 -0
  151. package/src/__tests__/schedule.test.ts +105 -0
  152. package/src/__tests__/sourcemap.test.ts +254 -0
  153. package/src/__tests__/tuple.test.ts +220 -0
  154. package/src/__tests__/typechecker-strict.test.ts +216 -0
  155. package/src/ast/types.ts +33 -2
  156. package/src/cache/deps.ts +132 -0
  157. package/src/cache/incremental.ts +173 -0
  158. package/src/cache/index.ts +135 -0
  159. package/src/cli.ts +88 -45
  160. package/src/compile.ts +2 -2
  161. package/src/diagnostics/index.ts +8 -11
  162. package/src/emit/compile.ts +177 -0
  163. package/{src2 → src}/emit/index.ts +72 -8
  164. package/src/emit/modules.ts +581 -0
  165. package/src/emit/sourcemap.ts +101 -0
  166. package/{src2 → src}/hir/lower.ts +29 -2
  167. package/src/hir/monomorphize.ts +416 -0
  168. package/{src2 → src}/hir/types.ts +15 -3
  169. package/src/index.ts +29 -10
  170. package/src/lexer/index.ts +2 -1
  171. package/src/lir/budget.ts +321 -0
  172. package/{src2 → src}/lir/lower.ts +32 -1
  173. package/{src2 → src}/lir/types.ts +7 -3
  174. package/src/lsp/main.ts +9 -0
  175. package/src/lsp/server.ts +414 -0
  176. package/{src2 → src}/mir/lower.ts +251 -8
  177. package/{src2 → src}/mir/types.ts +12 -1
  178. package/src/optimizer/coroutine.ts +996 -0
  179. package/{src2 → src}/optimizer/dce.ts +2 -1
  180. package/src/optimizer/interprocedural.ts +177 -0
  181. package/src/optimizer/lir/const_imm.ts +143 -0
  182. package/src/optimizer/lir/dead_slot.ts +123 -0
  183. package/src/optimizer/lir/peephole.ts +57 -0
  184. package/src/optimizer/lir/pipeline.ts +37 -0
  185. package/src/optimizer/nbt-batch.ts +50 -0
  186. package/{src2 → src}/optimizer/pipeline.ts +16 -1
  187. package/src/optimizer/selector-cache.ts +103 -0
  188. package/src/optimizer/unroll.ts +386 -0
  189. package/src/parser/index.ts +212 -15
  190. package/src/repl.ts +1 -1
  191. package/src/stdlib/math.mcrs +4 -4
  192. package/src/templates/quest.mcrs +4 -4
  193. package/src/typechecker/index.ts +215 -15
  194. package/src/types/mc-version.ts +46 -0
  195. package/tsconfig.json +1 -1
  196. package/.claude/commands/build-test.md +0 -10
  197. package/.claude/commands/deploy-demo.md +0 -12
  198. package/.claude/commands/stage-status.md +0 -13
  199. package/.claude/settings.json +0 -12
  200. package/CLAUDE.md +0 -231
  201. package/dist/__tests__/cli.test.js +0 -278
  202. package/dist/__tests__/codegen.test.js +0 -152
  203. package/dist/__tests__/compile-all.test.d.ts +0 -10
  204. package/dist/__tests__/compile-all.test.js +0 -108
  205. package/dist/__tests__/dce.test.js +0 -138
  206. package/dist/__tests__/diagnostics.test.d.ts +0 -4
  207. package/dist/__tests__/diagnostics.test.js +0 -149
  208. package/dist/__tests__/e2e.test.d.ts +0 -6
  209. package/dist/__tests__/e2e.test.js +0 -1847
  210. package/dist/__tests__/entity-types.test.js +0 -203
  211. package/dist/__tests__/formatter.test.js +0 -40
  212. package/dist/__tests__/lexer.test.js +0 -343
  213. package/dist/__tests__/lowering.test.js +0 -1015
  214. package/dist/__tests__/macro.test.d.ts +0 -8
  215. package/dist/__tests__/macro.test.js +0 -305
  216. package/dist/__tests__/mc-integration.test.d.ts +0 -12
  217. package/dist/__tests__/mc-integration.test.js +0 -819
  218. package/dist/__tests__/mc-syntax.test.js +0 -124
  219. package/dist/__tests__/nbt.test.js +0 -82
  220. package/dist/__tests__/optimizer-advanced.test.js +0 -124
  221. package/dist/__tests__/optimizer.test.d.ts +0 -1
  222. package/dist/__tests__/optimizer.test.js +0 -149
  223. package/dist/__tests__/parser.test.d.ts +0 -1
  224. package/dist/__tests__/parser.test.js +0 -807
  225. package/dist/__tests__/repl.test.d.ts +0 -1
  226. package/dist/__tests__/repl.test.js +0 -27
  227. package/dist/__tests__/runtime.test.d.ts +0 -1
  228. package/dist/__tests__/runtime.test.js +0 -289
  229. package/dist/__tests__/stdlib-advanced.test.d.ts +0 -4
  230. package/dist/__tests__/stdlib-advanced.test.js +0 -378
  231. package/dist/__tests__/stdlib-bigint.test.d.ts +0 -7
  232. package/dist/__tests__/stdlib-bigint.test.js +0 -428
  233. package/dist/__tests__/stdlib-math.test.d.ts +0 -7
  234. package/dist/__tests__/stdlib-math.test.js +0 -352
  235. package/dist/__tests__/stdlib-vec.test.d.ts +0 -4
  236. package/dist/__tests__/stdlib-vec.test.js +0 -264
  237. package/dist/__tests__/structure-optimizer.test.d.ts +0 -1
  238. package/dist/__tests__/structure-optimizer.test.js +0 -33
  239. package/dist/__tests__/typechecker.test.d.ts +0 -1
  240. package/dist/__tests__/typechecker.test.js +0 -552
  241. package/dist/__tests__/var-allocator.test.d.ts +0 -1
  242. package/dist/__tests__/var-allocator.test.js +0 -69
  243. package/dist/ast/types.d.ts +0 -514
  244. package/dist/ast/types.js +0 -9
  245. package/dist/builtins/metadata.d.ts +0 -36
  246. package/dist/builtins/metadata.js +0 -1014
  247. package/dist/cli.d.ts +0 -11
  248. package/dist/codegen/cmdblock/index.d.ts +0 -26
  249. package/dist/codegen/cmdblock/index.js +0 -45
  250. package/dist/codegen/mcfunction/index.d.ts +0 -40
  251. package/dist/codegen/mcfunction/index.js +0 -606
  252. package/dist/codegen/structure/index.d.ts +0 -24
  253. package/dist/codegen/structure/index.js +0 -279
  254. package/dist/codegen/var-allocator.d.ts +0 -45
  255. package/dist/codegen/var-allocator.js +0 -104
  256. package/dist/compile.d.ts +0 -68
  257. package/dist/data/arena/function/__load.mcfunction +0 -6
  258. package/dist/data/arena/function/__tick.mcfunction +0 -2
  259. package/dist/data/arena/function/announce_leaders/else_1.mcfunction +0 -3
  260. package/dist/data/arena/function/announce_leaders/foreach_0/merge_2.mcfunction +0 -1
  261. package/dist/data/arena/function/announce_leaders/foreach_0/then_0.mcfunction +0 -3
  262. package/dist/data/arena/function/announce_leaders/foreach_0.mcfunction +0 -7
  263. package/dist/data/arena/function/announce_leaders/foreach_1/merge_2.mcfunction +0 -1
  264. package/dist/data/arena/function/announce_leaders/foreach_1/then_0.mcfunction +0 -4
  265. package/dist/data/arena/function/announce_leaders/foreach_1.mcfunction +0 -6
  266. package/dist/data/arena/function/announce_leaders/merge_2.mcfunction +0 -1
  267. package/dist/data/arena/function/announce_leaders/then_0.mcfunction +0 -4
  268. package/dist/data/arena/function/announce_leaders.mcfunction +0 -6
  269. package/dist/data/arena/function/arena_tick/merge_2.mcfunction +0 -1
  270. package/dist/data/arena/function/arena_tick/then_0.mcfunction +0 -4
  271. package/dist/data/arena/function/arena_tick.mcfunction +0 -11
  272. package/dist/data/counter/function/__load.mcfunction +0 -5
  273. package/dist/data/counter/function/__tick.mcfunction +0 -2
  274. package/dist/data/counter/function/counter_tick/merge_2.mcfunction +0 -1
  275. package/dist/data/counter/function/counter_tick/then_0.mcfunction +0 -3
  276. package/dist/data/counter/function/counter_tick.mcfunction +0 -11
  277. package/dist/data/gcd2/function/__load.mcfunction +0 -3
  278. package/dist/data/gcd2/function/abs/merge_2.mcfunction +0 -3
  279. package/dist/data/gcd2/function/abs/then_0.mcfunction +0 -5
  280. package/dist/data/gcd2/function/abs.mcfunction +0 -7
  281. package/dist/data/gcd2/function/gcd/loop_body_1.mcfunction +0 -7
  282. package/dist/data/gcd2/function/gcd/loop_check_0.mcfunction +0 -5
  283. package/dist/data/gcd2/function/gcd/loop_exit_2.mcfunction +0 -3
  284. package/dist/data/gcd2/function/gcd.mcfunction +0 -14
  285. package/dist/data/gcd3/function/__load.mcfunction +0 -3
  286. package/dist/data/gcd3/function/abs/merge_2.mcfunction +0 -3
  287. package/dist/data/gcd3/function/abs/then_0.mcfunction +0 -5
  288. package/dist/data/gcd3/function/abs.mcfunction +0 -7
  289. package/dist/data/gcd3/function/gcd/loop_body_1.mcfunction +0 -7
  290. package/dist/data/gcd3/function/gcd/loop_check_0.mcfunction +0 -5
  291. package/dist/data/gcd3/function/gcd/loop_exit_2.mcfunction +0 -3
  292. package/dist/data/gcd3/function/gcd.mcfunction +0 -14
  293. package/dist/data/gcd3/function/test.mcfunction +0 -7
  294. package/dist/data/gcd3nm/function/__load.mcfunction +0 -3
  295. package/dist/data/gcd3nm/function/abs/merge_2.mcfunction +0 -3
  296. package/dist/data/gcd3nm/function/abs/then_0.mcfunction +0 -5
  297. package/dist/data/gcd3nm/function/abs.mcfunction +0 -7
  298. package/dist/data/gcd3nm/function/gcd/loop_body_1.mcfunction +0 -7
  299. package/dist/data/gcd3nm/function/gcd/loop_check_0.mcfunction +0 -5
  300. package/dist/data/gcd3nm/function/gcd/loop_exit_2.mcfunction +0 -3
  301. package/dist/data/gcd3nm/function/gcd.mcfunction +0 -14
  302. package/dist/data/gcd3nm/function/test.mcfunction +0 -7
  303. package/dist/data/gcd_test/function/__load.mcfunction +0 -3
  304. package/dist/data/gcd_test/function/abs/merge_2.mcfunction +0 -3
  305. package/dist/data/gcd_test/function/abs/then_0.mcfunction +0 -5
  306. package/dist/data/gcd_test/function/abs.mcfunction +0 -7
  307. package/dist/data/gcd_test/function/gcd/loop_body_1.mcfunction +0 -7
  308. package/dist/data/gcd_test/function/gcd/loop_check_0.mcfunction +0 -5
  309. package/dist/data/gcd_test/function/gcd/loop_exit_2.mcfunction +0 -3
  310. package/dist/data/gcd_test/function/gcd.mcfunction +0 -14
  311. package/dist/data/isqrttest/function/__load.mcfunction +0 -6
  312. package/dist/data/isqrttest/function/isqrt/loop_body_4.mcfunction +0 -12
  313. package/dist/data/isqrttest/function/isqrt/loop_check_3.mcfunction +0 -5
  314. package/dist/data/isqrttest/function/isqrt/loop_exit_5.mcfunction +0 -3
  315. package/dist/data/isqrttest/function/isqrt/merge_2.mcfunction +0 -4
  316. package/dist/data/isqrttest/function/isqrt/merge_8.mcfunction +0 -6
  317. package/dist/data/isqrttest/function/isqrt/then_0.mcfunction +0 -3
  318. package/dist/data/isqrttest/function/isqrt/then_6.mcfunction +0 -3
  319. package/dist/data/isqrttest/function/isqrt.mcfunction +0 -7
  320. package/dist/data/isqrttest/function/test.mcfunction +0 -6
  321. package/dist/data/mathtest/function/__load.mcfunction +0 -3
  322. package/dist/data/mathtest/function/abs/merge_2.mcfunction +0 -3
  323. package/dist/data/mathtest/function/abs/then_0.mcfunction +0 -5
  324. package/dist/data/mathtest/function/abs.mcfunction +0 -6
  325. package/dist/data/mathtest/function/test.mcfunction +0 -5
  326. package/dist/data/minecraft/tags/function/load.json +0 -5
  327. package/dist/data/minecraft/tags/function/tick.json +0 -5
  328. package/dist/data/mypack/function/__load.mcfunction +0 -13
  329. package/dist/data/mypack/function/_atan_init.mcfunction +0 -2
  330. package/dist/data/mypack/function/abs/merge_2.mcfunction +0 -3
  331. package/dist/data/mypack/function/abs/then_0.mcfunction +0 -5
  332. package/dist/data/mypack/function/abs.mcfunction +0 -6
  333. package/dist/data/mypack/function/atan2_fixed/__sgi_1.mcfunction +0 -2
  334. package/dist/data/mypack/function/atan2_fixed/else_34.mcfunction +0 -3
  335. package/dist/data/mypack/function/atan2_fixed/loop_body_31.mcfunction +0 -19
  336. package/dist/data/mypack/function/atan2_fixed/loop_check_30.mcfunction +0 -5
  337. package/dist/data/mypack/function/atan2_fixed/loop_exit_32.mcfunction +0 -6
  338. package/dist/data/mypack/function/atan2_fixed/merge_11.mcfunction +0 -6
  339. package/dist/data/mypack/function/atan2_fixed/merge_14.mcfunction +0 -3
  340. package/dist/data/mypack/function/atan2_fixed/merge_17.mcfunction +0 -6
  341. package/dist/data/mypack/function/atan2_fixed/merge_2.mcfunction +0 -5
  342. package/dist/data/mypack/function/atan2_fixed/merge_20.mcfunction +0 -5
  343. package/dist/data/mypack/function/atan2_fixed/merge_23.mcfunction +0 -5
  344. package/dist/data/mypack/function/atan2_fixed/merge_26.mcfunction +0 -6
  345. package/dist/data/mypack/function/atan2_fixed/merge_29.mcfunction +0 -4
  346. package/dist/data/mypack/function/atan2_fixed/merge_38.mcfunction +0 -5
  347. package/dist/data/mypack/function/atan2_fixed/merge_41.mcfunction +0 -5
  348. package/dist/data/mypack/function/atan2_fixed/merge_44.mcfunction +0 -5
  349. package/dist/data/mypack/function/atan2_fixed/merge_47.mcfunction +0 -5
  350. package/dist/data/mypack/function/atan2_fixed/merge_5.mcfunction +0 -5
  351. package/dist/data/mypack/function/atan2_fixed/merge_8.mcfunction +0 -3
  352. package/dist/data/mypack/function/atan2_fixed/then_0.mcfunction +0 -5
  353. package/dist/data/mypack/function/atan2_fixed/then_12.mcfunction +0 -3
  354. package/dist/data/mypack/function/atan2_fixed/then_15.mcfunction +0 -5
  355. package/dist/data/mypack/function/atan2_fixed/then_18.mcfunction +0 -5
  356. package/dist/data/mypack/function/atan2_fixed/then_21.mcfunction +0 -3
  357. package/dist/data/mypack/function/atan2_fixed/then_24.mcfunction +0 -3
  358. package/dist/data/mypack/function/atan2_fixed/then_27.mcfunction +0 -6
  359. package/dist/data/mypack/function/atan2_fixed/then_3.mcfunction +0 -3
  360. package/dist/data/mypack/function/atan2_fixed/then_33.mcfunction +0 -5
  361. package/dist/data/mypack/function/atan2_fixed/then_36.mcfunction +0 -5
  362. package/dist/data/mypack/function/atan2_fixed/then_39.mcfunction +0 -5
  363. package/dist/data/mypack/function/atan2_fixed/then_42.mcfunction +0 -3
  364. package/dist/data/mypack/function/atan2_fixed/then_45.mcfunction +0 -5
  365. package/dist/data/mypack/function/atan2_fixed/then_6.mcfunction +0 -3
  366. package/dist/data/mypack/function/atan2_fixed/then_9.mcfunction +0 -5
  367. package/dist/data/mypack/function/atan2_fixed.mcfunction +0 -7
  368. package/dist/data/mypack/function/my_game.mcfunction +0 -10
  369. package/dist/data/quiz/function/__load.mcfunction +0 -16
  370. package/dist/data/quiz/function/__tick.mcfunction +0 -6
  371. package/dist/data/quiz/function/__trigger_quiz_a_dispatch.mcfunction +0 -4
  372. package/dist/data/quiz/function/__trigger_quiz_b_dispatch.mcfunction +0 -4
  373. package/dist/data/quiz/function/__trigger_quiz_c_dispatch.mcfunction +0 -4
  374. package/dist/data/quiz/function/__trigger_quiz_start_dispatch.mcfunction +0 -4
  375. package/dist/data/quiz/function/answer_a.mcfunction +0 -4
  376. package/dist/data/quiz/function/answer_b.mcfunction +0 -4
  377. package/dist/data/quiz/function/answer_c.mcfunction +0 -4
  378. package/dist/data/quiz/function/ask_question/else_1.mcfunction +0 -5
  379. package/dist/data/quiz/function/ask_question/else_4.mcfunction +0 -5
  380. package/dist/data/quiz/function/ask_question/else_7.mcfunction +0 -4
  381. package/dist/data/quiz/function/ask_question/merge_2.mcfunction +0 -1
  382. package/dist/data/quiz/function/ask_question/merge_5.mcfunction +0 -2
  383. package/dist/data/quiz/function/ask_question/merge_8.mcfunction +0 -2
  384. package/dist/data/quiz/function/ask_question/then_0.mcfunction +0 -4
  385. package/dist/data/quiz/function/ask_question/then_3.mcfunction +0 -4
  386. package/dist/data/quiz/function/ask_question/then_6.mcfunction +0 -4
  387. package/dist/data/quiz/function/ask_question.mcfunction +0 -7
  388. package/dist/data/quiz/function/finish_quiz.mcfunction +0 -6
  389. package/dist/data/quiz/function/handle_answer/else_1.mcfunction +0 -5
  390. package/dist/data/quiz/function/handle_answer/else_10.mcfunction +0 -3
  391. package/dist/data/quiz/function/handle_answer/else_16.mcfunction +0 -3
  392. package/dist/data/quiz/function/handle_answer/else_4.mcfunction +0 -3
  393. package/dist/data/quiz/function/handle_answer/else_7.mcfunction +0 -5
  394. package/dist/data/quiz/function/handle_answer/merge_11.mcfunction +0 -2
  395. package/dist/data/quiz/function/handle_answer/merge_14.mcfunction +0 -2
  396. package/dist/data/quiz/function/handle_answer/merge_17.mcfunction +0 -2
  397. package/dist/data/quiz/function/handle_answer/merge_2.mcfunction +0 -8
  398. package/dist/data/quiz/function/handle_answer/merge_5.mcfunction +0 -2
  399. package/dist/data/quiz/function/handle_answer/merge_8.mcfunction +0 -2
  400. package/dist/data/quiz/function/handle_answer/then_0.mcfunction +0 -5
  401. package/dist/data/quiz/function/handle_answer/then_12.mcfunction +0 -5
  402. package/dist/data/quiz/function/handle_answer/then_15.mcfunction +0 -6
  403. package/dist/data/quiz/function/handle_answer/then_3.mcfunction +0 -6
  404. package/dist/data/quiz/function/handle_answer/then_6.mcfunction +0 -5
  405. package/dist/data/quiz/function/handle_answer/then_9.mcfunction +0 -6
  406. package/dist/data/quiz/function/handle_answer.mcfunction +0 -11
  407. package/dist/data/quiz/function/start_quiz.mcfunction +0 -5
  408. package/dist/data/reqtest/function/__load.mcfunction +0 -4
  409. package/dist/data/reqtest/function/_table_init.mcfunction +0 -2
  410. package/dist/data/reqtest/function/no_trig.mcfunction +0 -3
  411. package/dist/data/reqtest/function/use_table.mcfunction +0 -4
  412. package/dist/data/reqtest2/function/__load.mcfunction +0 -3
  413. package/dist/data/reqtest2/function/no_trig.mcfunction +0 -3
  414. package/dist/data/runtime/function/__load.mcfunction +0 -5
  415. package/dist/data/runtime/function/__tick.mcfunction +0 -2
  416. package/dist/data/runtime/function/counter_tick/then_0.mcfunction +0 -3
  417. package/dist/data/runtime/function/counter_tick.mcfunction +0 -13
  418. package/dist/data/shop/function/__load.mcfunction +0 -7
  419. package/dist/data/shop/function/__tick.mcfunction +0 -3
  420. package/dist/data/shop/function/__trigger_shop_buy_dispatch.mcfunction +0 -4
  421. package/dist/data/shop/function/complete_purchase/else_1.mcfunction +0 -5
  422. package/dist/data/shop/function/complete_purchase/else_4.mcfunction +0 -5
  423. package/dist/data/shop/function/complete_purchase/else_7.mcfunction +0 -3
  424. package/dist/data/shop/function/complete_purchase/merge_2.mcfunction +0 -2
  425. package/dist/data/shop/function/complete_purchase/merge_5.mcfunction +0 -2
  426. package/dist/data/shop/function/complete_purchase/merge_8.mcfunction +0 -2
  427. package/dist/data/shop/function/complete_purchase/then_0.mcfunction +0 -4
  428. package/dist/data/shop/function/complete_purchase/then_3.mcfunction +0 -4
  429. package/dist/data/shop/function/complete_purchase/then_6.mcfunction +0 -4
  430. package/dist/data/shop/function/complete_purchase.mcfunction +0 -7
  431. package/dist/data/shop/function/handle_shop_trigger.mcfunction +0 -3
  432. package/dist/data/swap_test/function/__load.mcfunction +0 -3
  433. package/dist/data/swap_test/function/gcd_old/loop_body_1.mcfunction +0 -7
  434. package/dist/data/swap_test/function/gcd_old/loop_check_0.mcfunction +0 -5
  435. package/dist/data/swap_test/function/gcd_old/loop_exit_2.mcfunction +0 -3
  436. package/dist/data/swap_test/function/gcd_old.mcfunction +0 -8
  437. package/dist/data/turret/function/__load.mcfunction +0 -5
  438. package/dist/data/turret/function/__tick.mcfunction +0 -4
  439. package/dist/data/turret/function/__trigger_deploy_turret_dispatch.mcfunction +0 -4
  440. package/dist/data/turret/function/deploy_turret.mcfunction +0 -8
  441. package/dist/data/turret/function/turret_tick/at_1.mcfunction +0 -2
  442. package/dist/data/turret/function/turret_tick/foreach_0.mcfunction +0 -2
  443. package/dist/data/turret/function/turret_tick/foreach_2.mcfunction +0 -2
  444. package/dist/data/turret/function/turret_tick/tick_body.mcfunction +0 -3
  445. package/dist/data/turret/function/turret_tick/tick_skip.mcfunction +0 -1
  446. package/dist/data/turret/function/turret_tick.mcfunction +0 -5
  447. package/dist/diagnostics/index.d.ts +0 -44
  448. package/dist/diagnostics/index.js +0 -140
  449. package/dist/events/types.d.ts +0 -35
  450. package/dist/events/types.js +0 -59
  451. package/dist/formatter/index.d.ts +0 -1
  452. package/dist/formatter/index.js +0 -26
  453. package/dist/gcd2.map.json +0 -15
  454. package/dist/gcd3.map.json +0 -17
  455. package/dist/gcd_test.map.json +0 -15
  456. package/dist/index.d.ts +0 -62
  457. package/dist/ir/builder.d.ts +0 -33
  458. package/dist/ir/builder.js +0 -99
  459. package/dist/ir/types.d.ts +0 -132
  460. package/dist/ir/types.js +0 -15
  461. package/dist/isqrttest.map.json +0 -15
  462. package/dist/lexer/index.d.ts +0 -37
  463. package/dist/lexer/index.js +0 -569
  464. package/dist/lowering/index.d.ts +0 -188
  465. package/dist/lowering/index.js +0 -3405
  466. package/dist/mathtest.map.json +0 -6
  467. package/dist/mc-test/client.d.ts +0 -128
  468. package/dist/mc-test/client.js +0 -174
  469. package/dist/mc-test/runner.d.ts +0 -28
  470. package/dist/mc-test/runner.js +0 -150
  471. package/dist/mc-test/setup.d.ts +0 -11
  472. package/dist/mc-test/setup.js +0 -98
  473. package/dist/mc-validator/index.d.ts +0 -17
  474. package/dist/mc-validator/index.js +0 -322
  475. package/dist/mypack.map.json +0 -27
  476. package/dist/nbt/index.d.ts +0 -86
  477. package/dist/nbt/index.js +0 -250
  478. package/dist/optimizer/commands.d.ts +0 -38
  479. package/dist/optimizer/commands.js +0 -451
  480. package/dist/optimizer/dce.d.ts +0 -34
  481. package/dist/optimizer/dce.js +0 -639
  482. package/dist/optimizer/passes.d.ts +0 -34
  483. package/dist/optimizer/passes.js +0 -243
  484. package/dist/optimizer/structure.d.ts +0 -9
  485. package/dist/optimizer/structure.js +0 -356
  486. package/dist/pack.mcmeta +0 -6
  487. package/dist/parser/index.d.ts +0 -93
  488. package/dist/parser/index.js +0 -1687
  489. package/dist/repl.d.ts +0 -16
  490. package/dist/repl.js +0 -165
  491. package/dist/reqtest.map.json +0 -4
  492. package/dist/reqtest2.map.json +0 -4
  493. package/dist/runtime/index.d.ts +0 -107
  494. package/dist/runtime/index.js +0 -1409
  495. package/dist/runtime.map.json +0 -7
  496. package/dist/src/__tests__/codegen.test.d.ts +0 -1
  497. package/dist/src/__tests__/codegen.test.js +0 -152
  498. package/dist/src/__tests__/e2e.test.d.ts +0 -6
  499. package/dist/src/__tests__/e2e.test.js +0 -1789
  500. package/dist/src/__tests__/entity-types.test.d.ts +0 -1
  501. package/dist/src/__tests__/entity-types.test.js +0 -203
  502. package/dist/src/__tests__/lowering.test.d.ts +0 -1
  503. package/dist/src/__tests__/lowering.test.js +0 -1015
  504. package/dist/src/__tests__/macro.test.d.ts +0 -8
  505. package/dist/src/__tests__/macro.test.js +0 -306
  506. package/dist/src/__tests__/nbt.test.d.ts +0 -1
  507. package/dist/src/__tests__/nbt.test.js +0 -82
  508. package/dist/src/__tests__/optimizer-advanced.test.d.ts +0 -1
  509. package/dist/src/__tests__/optimizer-advanced.test.js +0 -124
  510. package/dist/src/__tests__/optimizer.test.d.ts +0 -1
  511. package/dist/src/__tests__/optimizer.test.js +0 -149
  512. package/dist/src/__tests__/runtime.test.d.ts +0 -1
  513. package/dist/src/__tests__/runtime.test.js +0 -289
  514. package/dist/src/__tests__/stdlib-advanced.test.d.ts +0 -4
  515. package/dist/src/__tests__/stdlib-advanced.test.js +0 -374
  516. package/dist/src/__tests__/stdlib-bigint.test.d.ts +0 -7
  517. package/dist/src/__tests__/stdlib-bigint.test.js +0 -426
  518. package/dist/src/__tests__/stdlib-math.test.d.ts +0 -7
  519. package/dist/src/__tests__/stdlib-math.test.js +0 -351
  520. package/dist/src/__tests__/stdlib-vec.test.d.ts +0 -4
  521. package/dist/src/__tests__/stdlib-vec.test.js +0 -263
  522. package/dist/src/__tests__/structure-optimizer.test.d.ts +0 -1
  523. package/dist/src/__tests__/structure-optimizer.test.js +0 -33
  524. package/dist/src/__tests__/var-allocator.test.d.ts +0 -1
  525. package/dist/src/__tests__/var-allocator.test.js +0 -69
  526. package/dist/src/codegen/cmdblock/index.d.ts +0 -26
  527. package/dist/src/codegen/cmdblock/index.js +0 -45
  528. package/dist/src/codegen/mcfunction/index.d.ts +0 -40
  529. package/dist/src/codegen/mcfunction/index.js +0 -606
  530. package/dist/src/codegen/structure/index.d.ts +0 -24
  531. package/dist/src/codegen/structure/index.js +0 -279
  532. package/dist/src/codegen/var-allocator.d.ts +0 -45
  533. package/dist/src/codegen/var-allocator.js +0 -104
  534. package/dist/src/ir/builder.d.ts +0 -33
  535. package/dist/src/ir/builder.js +0 -99
  536. package/dist/src/ir/types.d.ts +0 -132
  537. package/dist/src/ir/types.js +0 -15
  538. package/dist/src/lowering/index.d.ts +0 -188
  539. package/dist/src/lowering/index.js +0 -3405
  540. package/dist/src/optimizer/commands.d.ts +0 -38
  541. package/dist/src/optimizer/commands.js +0 -451
  542. package/dist/src/optimizer/passes.d.ts +0 -34
  543. package/dist/src/optimizer/passes.js +0 -243
  544. package/dist/src/optimizer/structure.d.ts +0 -9
  545. package/dist/src/optimizer/structure.js +0 -356
  546. package/dist/src2/__tests__/optimizer/dce.test.d.ts +0 -1
  547. package/dist/src2/emit/compile.d.ts +0 -19
  548. package/dist/src2/emit/compile.js +0 -80
  549. package/dist/src2/optimizer/dce.d.ts +0 -8
  550. package/dist/src2/optimizer/dce.js +0 -155
  551. package/dist/swap_test.map.json +0 -14
  552. package/dist/tsconfig.tsbuildinfo +0 -1
  553. package/dist/typechecker/index.d.ts +0 -61
  554. package/dist/typechecker/index.js +0 -1034
  555. package/dist/types/entity-hierarchy.d.ts +0 -29
  556. package/dist/types/entity-hierarchy.js +0 -107
  557. package/src2/emit/compile.ts +0 -99
  558. /package/dist/{__tests__/cli.test.d.ts → src/__tests__/budget.test.d.ts} +0 -0
  559. /package/dist/{src2 → src}/__tests__/e2e/basic.test.d.ts +0 -0
  560. /package/dist/{src2 → src}/__tests__/e2e/basic.test.js +0 -0
  561. /package/dist/{src2 → src}/__tests__/e2e/macros.test.d.ts +0 -0
  562. /package/dist/{src2 → src}/__tests__/e2e/migrate.test.d.ts +0 -0
  563. /package/dist/{src2 → src}/__tests__/hir/desugar.test.d.ts +0 -0
  564. /package/dist/{src2 → src}/__tests__/lir/lower.test.d.ts +0 -0
  565. /package/dist/{src2 → src}/__tests__/lir/lower.test.js +0 -0
  566. /package/dist/{src2 → src}/__tests__/lir/types.test.d.ts +0 -0
  567. /package/dist/{src2 → src}/__tests__/lir/types.test.js +0 -0
  568. /package/dist/{src2 → src}/__tests__/lir/verify.test.d.ts +0 -0
  569. /package/dist/{src2 → src}/__tests__/lir/verify.test.js +0 -0
  570. /package/dist/{src2 → src}/__tests__/mir/arithmetic.test.d.ts +0 -0
  571. /package/dist/{src2 → src}/__tests__/mir/control-flow.test.d.ts +0 -0
  572. /package/dist/{src2 → src}/__tests__/mir/verify.test.d.ts +0 -0
  573. /package/dist/{src2 → src}/__tests__/mir/verify.test.js +0 -0
  574. /package/dist/{src2 → src}/__tests__/optimizer/block_merge.test.d.ts +0 -0
  575. /package/dist/{src2 → src}/__tests__/optimizer/block_merge.test.js +0 -0
  576. /package/dist/{src2 → src}/__tests__/optimizer/branch_simplify.test.d.ts +0 -0
  577. /package/dist/{src2 → src}/__tests__/optimizer/branch_simplify.test.js +0 -0
  578. /package/dist/{src2 → src}/__tests__/optimizer/constant_fold.test.d.ts +0 -0
  579. /package/dist/{src2 → src}/__tests__/optimizer/constant_fold.test.js +0 -0
  580. /package/dist/{src2 → src}/__tests__/optimizer/copy_prop.test.d.ts +0 -0
  581. /package/dist/{src2 → src}/__tests__/optimizer/copy_prop.test.js +0 -0
  582. /package/dist/{__tests__ → src/__tests__/optimizer}/dce.test.d.ts +0 -0
  583. /package/dist/{src2 → src}/__tests__/optimizer/dce.test.js +0 -0
  584. /package/dist/{__tests__/codegen.test.d.ts → src/__tests__/optimizer/interprocedural.test.d.ts} +0 -0
  585. /package/dist/{__tests__/entity-types.test.d.ts → src/__tests__/optimizer/lir/const_imm.test.d.ts} +0 -0
  586. /package/dist/{__tests__/formatter.test.d.ts → src/__tests__/optimizer/lir/dead_slot.test.d.ts} +0 -0
  587. /package/dist/{__tests__/lexer.test.d.ts → src/__tests__/optimizer/lir/peephole.test.d.ts} +0 -0
  588. /package/dist/{src2/__tests__/optimizer → src/__tests__/optimizer/lir}/pipeline.test.d.ts +0 -0
  589. /package/dist/{__tests__/lowering.test.d.ts → src/__tests__/optimizer/nbt-batch.test.d.ts} +0 -0
  590. /package/dist/{__tests__/mc-syntax.test.d.ts → src/__tests__/optimizer/pipeline.test.d.ts} +0 -0
  591. /package/dist/{src2 → src}/__tests__/optimizer/pipeline.test.js +0 -0
  592. /package/dist/{__tests__/nbt.test.d.ts → src/__tests__/optimizer/selector-cache.test.d.ts} +0 -0
  593. /package/dist/{__tests__/optimizer-advanced.test.d.ts → src/__tests__/optimizer/unroll.test.d.ts} +0 -0
  594. /package/dist/{src2 → src}/hir/types.js +0 -0
  595. /package/dist/{src2 → src}/lir/lower.d.ts +0 -0
  596. /package/dist/{src2 → src}/lir/types.js +0 -0
  597. /package/dist/{src2 → src}/lir/verify.d.ts +0 -0
  598. /package/dist/{src2 → src}/lir/verify.js +0 -0
  599. /package/dist/{src2 → src}/mir/macro.d.ts +0 -0
  600. /package/dist/{src2 → src}/mir/macro.js +0 -0
  601. /package/dist/{src2 → src}/mir/types.js +0 -0
  602. /package/dist/{src2 → src}/mir/verify.d.ts +0 -0
  603. /package/dist/{src2 → src}/mir/verify.js +0 -0
  604. /package/dist/{src2 → src}/optimizer/block_merge.d.ts +0 -0
  605. /package/dist/{src2 → src}/optimizer/block_merge.js +0 -0
  606. /package/dist/{src2 → src}/optimizer/branch_simplify.d.ts +0 -0
  607. /package/dist/{src2 → src}/optimizer/branch_simplify.js +0 -0
  608. /package/dist/{src2 → src}/optimizer/constant_fold.d.ts +0 -0
  609. /package/dist/{src2 → src}/optimizer/constant_fold.js +0 -0
  610. /package/dist/{src2 → src}/optimizer/copy_prop.d.ts +0 -0
  611. /package/dist/{src2 → src}/optimizer/copy_prop.js +0 -0
  612. /package/{src2 → src}/__tests__/e2e/basic.test.ts +0 -0
  613. /package/{src2 → src}/__tests__/lir/lower.test.ts +0 -0
  614. /package/{src2 → src}/__tests__/lir/types.test.ts +0 -0
  615. /package/{src2 → src}/__tests__/lir/verify.test.ts +0 -0
  616. /package/{src2 → src}/__tests__/mir/verify.test.ts +0 -0
  617. /package/{src2 → src}/__tests__/optimizer/block_merge.test.ts +0 -0
  618. /package/{src2 → src}/__tests__/optimizer/branch_simplify.test.ts +0 -0
  619. /package/{src2 → src}/__tests__/optimizer/constant_fold.test.ts +0 -0
  620. /package/{src2 → src}/__tests__/optimizer/copy_prop.test.ts +0 -0
  621. /package/{src2 → src}/__tests__/optimizer/dce.test.ts +0 -0
  622. /package/{src2 → src}/__tests__/optimizer/pipeline.test.ts +0 -0
  623. /package/{src2 → src}/lir/verify.ts +0 -0
  624. /package/{src2 → src}/mir/macro.ts +0 -0
  625. /package/{src2 → src}/mir/verify.ts +0 -0
  626. /package/{src2 → src}/optimizer/block_merge.ts +0 -0
  627. /package/{src2 → src}/optimizer/branch_simplify.ts +0 -0
  628. /package/{src2 → src}/optimizer/constant_fold.ts +0 -0
  629. /package/{src2 → src}/optimizer/copy_prop.ts +0 -0
@@ -1,3 +0,0 @@
1
- # block: loop_exit_2
2
- scoreboard players operation $h rs = $b rs
3
- return run scoreboard players get $b rs
@@ -1,14 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $i rs = $c rs
3
- scoreboard players operation $j rs = $k rs
4
- scoreboard players operation $i rs = $d rs
5
- scoreboard players operation $j rs = $l rs
6
- scoreboard players operation $m rs = $d rs
7
- function gcd2:abs
8
- scoreboard players operation $n rs = $g rs
9
- scoreboard players operation $b rs = $n rs
10
- scoreboard players operation $m rs = $l rs
11
- function gcd2:abs
12
- scoreboard players operation $o rs = $g rs
13
- scoreboard players operation $p rs = $o rs
14
- function gcd2:gcd/loop_check_0
@@ -1,3 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $a rs 0
@@ -1,3 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $h rs = $b rs
3
- return run scoreboard players get $b rs
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $f rs 0
3
- scoreboard players operation $f rs -= $b rs
4
- scoreboard players operation $h rs = $f rs
5
- return run scoreboard players get $f rs
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $b rs = $c rs
3
- scoreboard players operation $b rs = $d rs
4
- scoreboard players set $e rs 0
5
- execute if score $d rs < $a rs run scoreboard players set $e rs 1
6
- execute if score $e rs matches 1.. run function gcd3:abs/then_0
7
- execute if score $e rs matches ..0 run function gcd3:abs/merge_2
@@ -1,7 +0,0 @@
1
- # block: loop_body_1
2
- scoreboard players operation $r rs = $b rs
3
- scoreboard players operation $r rs %= $p rs
4
- scoreboard players operation $s rs = $r rs
5
- scoreboard players operation $b rs = $p rs
6
- scoreboard players operation $p rs = $r rs
7
- function gcd3:gcd/loop_check_0
@@ -1,5 +0,0 @@
1
- # block: loop_check_0
2
- scoreboard players set $q rs 0
3
- execute if score $p rs > $a rs run scoreboard players set $q rs 1
4
- execute if score $q rs matches 1.. run function gcd3:gcd/loop_body_1
5
- execute if score $q rs matches ..0 run function gcd3:gcd/loop_exit_2
@@ -1,3 +0,0 @@
1
- # block: loop_exit_2
2
- scoreboard players operation $h rs = $b rs
3
- return run scoreboard players get $b rs
@@ -1,14 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $i rs = $c rs
3
- scoreboard players operation $j rs = $k rs
4
- scoreboard players operation $i rs = $d rs
5
- scoreboard players operation $j rs = $l rs
6
- scoreboard players operation $m rs = $d rs
7
- function gcd3:abs
8
- scoreboard players operation $n rs = $g rs
9
- scoreboard players operation $b rs = $n rs
10
- scoreboard players operation $m rs = $l rs
11
- function gcd3:abs
12
- scoreboard players operation $o rs = $g rs
13
- scoreboard players operation $p rs = $o rs
14
- function gcd3:gcd/loop_check_0
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players set $m rs 12
3
- scoreboard players set $t rs 8
4
- function gcd3:gcd
5
- scoreboard players operation $u rs = $g rs
6
- scoreboard players operation $v rs = $u rs
7
- execute store result score out gcd3.r run scoreboard players get $result rs
@@ -1,3 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $const_0 rs 0
@@ -1,3 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $ret rs = $x rs
3
- return run scoreboard players get $x rs
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $_1 rs 0
3
- scoreboard players operation $_1 rs -= $x rs
4
- scoreboard players operation $ret rs = $_1 rs
5
- return run scoreboard players get $_1 rs
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $x rs = $p0 rs
3
- scoreboard players operation $x rs = $p0 rs
4
- scoreboard players set $_0 rs 0
5
- execute if score $p0 rs < $const_0 rs run scoreboard players set $_0 rs 1
6
- execute if score $_0 rs matches 1.. run function gcd3nm:abs/then_0
7
- execute if score $_0 rs matches ..0 run function gcd3nm:abs/merge_2
@@ -1,7 +0,0 @@
1
- # block: loop_body_1
2
- scoreboard players operation $_5 rs = $x rs
3
- scoreboard players operation $_5 rs %= $y rs
4
- scoreboard players operation $r rs = $_5 rs
5
- scoreboard players operation $x rs = $y rs
6
- scoreboard players operation $y rs = $_5 rs
7
- function gcd3nm:gcd/loop_check_0
@@ -1,5 +0,0 @@
1
- # block: loop_check_0
2
- scoreboard players set $_4 rs 0
3
- execute if score $y rs > $const_0 rs run scoreboard players set $_4 rs 1
4
- execute if score $_4 rs matches 1.. run function gcd3nm:gcd/loop_body_1
5
- execute if score $_4 rs matches ..0 run function gcd3nm:gcd/loop_exit_2
@@ -1,3 +0,0 @@
1
- # block: loop_exit_2
2
- scoreboard players operation $ret rs = $x rs
3
- return run scoreboard players get $x rs
@@ -1,14 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $a rs = $p0 rs
3
- scoreboard players operation $b rs = $p1 rs
4
- scoreboard players operation $a rs = $p0 rs
5
- scoreboard players operation $b rs = $p1 rs
6
- scoreboard players operation $p0 rs = $p0 rs
7
- function gcd3nm:abs
8
- scoreboard players operation $_2 rs = $ret rs
9
- scoreboard players operation $x rs = $_2 rs
10
- scoreboard players operation $p0 rs = $p1 rs
11
- function gcd3nm:abs
12
- scoreboard players operation $_3 rs = $ret rs
13
- scoreboard players operation $y rs = $_3 rs
14
- function gcd3nm:gcd/loop_check_0
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players set $p0 rs 12
3
- scoreboard players set $p1 rs 8
4
- function gcd3nm:gcd
5
- scoreboard players operation $_6 rs = $ret rs
6
- scoreboard players operation $result rs = $_6 rs
7
- execute store result score out gcd3nm.r run scoreboard players get $result rs
@@ -1,3 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $a rs 0
@@ -1,3 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $q rs = $k rs
3
- return run scoreboard players get $k rs
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $s rs 0
3
- scoreboard players operation $s rs -= $k rs
4
- scoreboard players operation $q rs = $s rs
5
- return run scoreboard players get $s rs
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $k rs = $c rs
3
- scoreboard players operation $k rs = $f rs
4
- scoreboard players set $r rs 0
5
- execute if score $f rs < $a rs run scoreboard players set $r rs 1
6
- execute if score $r rs matches 1.. run function gcd_test:abs/then_0
7
- execute if score $r rs matches ..0 run function gcd_test:abs/merge_2
@@ -1,7 +0,0 @@
1
- # block: loop_body_1
2
- scoreboard players operation $o rs = $m rs
3
- scoreboard players operation $p rs = $k rs
4
- scoreboard players operation $p rs %= $m rs
5
- scoreboard players operation $m rs = $p rs
6
- scoreboard players operation $k rs = $m rs
7
- function gcd_test:gcd/loop_check_0
@@ -1,5 +0,0 @@
1
- # block: loop_check_0
2
- scoreboard players set $n rs 0
3
- execute if score $m rs > $a rs run scoreboard players set $n rs 1
4
- execute if score $n rs matches 1.. run function gcd_test:gcd/loop_body_1
5
- execute if score $n rs matches ..0 run function gcd_test:gcd/loop_exit_2
@@ -1,3 +0,0 @@
1
- # block: loop_exit_2
2
- scoreboard players operation $q rs = $k rs
3
- return run scoreboard players get $k rs
@@ -1,14 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $b rs = $c rs
3
- scoreboard players operation $d rs = $e rs
4
- scoreboard players operation $b rs = $f rs
5
- scoreboard players operation $d rs = $g rs
6
- scoreboard players operation $h rs = $f rs
7
- function gcd_test:abs
8
- scoreboard players operation $j rs = $i rs
9
- scoreboard players operation $k rs = $j rs
10
- scoreboard players operation $h rs = $g rs
11
- function gcd_test:abs
12
- scoreboard players operation $l rs = $i rs
13
- scoreboard players operation $m rs = $l rs
14
- function gcd_test:gcd/loop_check_0
@@ -1,6 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $a rs 0
4
- scoreboard players set $b rs 1
5
- scoreboard players set $c rs 2
6
- scoreboard players set $d rs 16
@@ -1,12 +0,0 @@
1
- # block: loop_body_4
2
- scoreboard players operation $m rs = $e rs
3
- scoreboard players operation $m rs /= $k rs
4
- scoreboard players operation $n rs = $k rs
5
- scoreboard players operation $n rs += $m rs
6
- scoreboard players operation $o rs = $n rs
7
- scoreboard players operation $o rs /= $c rs
8
- scoreboard players operation $p rs = $o rs
9
- scoreboard players set $q rs 0
10
- execute if score $o rs >= $k rs run scoreboard players set $q rs 1
11
- execute if score $q rs matches 1.. run function isqrttest:isqrt/then_6
12
- execute if score $q rs matches ..0 run function isqrttest:isqrt/merge_8
@@ -1,5 +0,0 @@
1
- # block: loop_check_3
2
- scoreboard players set $l rs 0
3
- execute if score $j rs < $d rs run scoreboard players set $l rs 1
4
- execute if score $l rs matches 1.. run function isqrttest:isqrt/loop_body_4
5
- execute if score $l rs matches ..0 run function isqrttest:isqrt/loop_exit_5
@@ -1,3 +0,0 @@
1
- # block: loop_exit_5
2
- scoreboard players operation $j rs = $k rs
3
- return run scoreboard players get $k rs
@@ -1,4 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $k rs = $e rs
3
- scoreboard players set $j rs 0
4
- function isqrttest:isqrt/loop_check_3
@@ -1,6 +0,0 @@
1
- # block: merge_8
2
- scoreboard players operation $k rs = $p rs
3
- scoreboard players operation $r rs = $j rs
4
- scoreboard players operation $r rs += $b rs
5
- scoreboard players operation $j rs = $r rs
6
- function isqrttest:isqrt/loop_check_3
@@ -1,3 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $j rs 0
3
- return 0
@@ -1,3 +0,0 @@
1
- # block: then_6
2
- scoreboard players operation $j rs = $k rs
3
- return run scoreboard players get $k rs
@@ -1,7 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $e rs = $f rs
3
- scoreboard players operation $e rs = $g rs
4
- scoreboard players set $h rs 0
5
- execute if score $g rs <= $a rs run scoreboard players set $h rs 1
6
- execute if score $h rs matches 1.. run function isqrttest:isqrt/then_0
7
- execute if score $h rs matches ..0 run function isqrttest:isqrt/merge_2
@@ -1,6 +0,0 @@
1
- # block: entry
2
- scoreboard players set $s rs 9
3
- function isqrttest:isqrt
4
- scoreboard players operation $t rs = $i rs
5
- scoreboard players operation $u rs = $t rs
6
- execute store result score out isqrttest.r run scoreboard players get $result rs
@@ -1,3 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $a rs 0
@@ -1,3 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $f rs = $b rs
3
- return run scoreboard players get $b rs
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $e rs 0
3
- scoreboard players operation $e rs -= $b rs
4
- scoreboard players operation $f rs = $e rs
5
- return run scoreboard players get $e rs
@@ -1,6 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $b rs = $c rs
3
- scoreboard players set $d rs 0
4
- execute if score $b rs < $a rs run scoreboard players set $d rs 1
5
- execute if score $d rs matches 1.. run function mathtest:abs/then_0
6
- execute if score $d rs matches ..0 run function mathtest:abs/merge_2
@@ -1,5 +0,0 @@
1
- # block: entry
2
- scoreboard players set $c rs 42
3
- function mathtest:abs
4
- scoreboard players operation $g rs = $f rs
5
- execute store result score out mathtest.r run scoreboard players get $g rs
@@ -1,5 +0,0 @@
1
- {
2
- "values": [
3
- "mypack:__load"
4
- ]
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "values": [
3
- "runtime:__tick"
4
- ]
5
- }
@@ -1,13 +0,0 @@
1
- # RedScript runtime init
2
- scoreboard objectives add rs dummy
3
- scoreboard players set $a rs 0
4
- scoreboard players set $b rs 1
5
- scoreboard players set $c rs 2
6
- scoreboard players set $d rs 45
7
- scoreboard players set $e rs 90
8
- scoreboard players set $f rs 180
9
- scoreboard players set $g rs 270
10
- scoreboard players set $h rs 360
11
- scoreboard players set $i rs 1000
12
- scoreboard players set $j rs 46340
13
- function mypack:_atan_init
@@ -1,2 +0,0 @@
1
- # block: entry
2
- data modify storage math:tables tan set value [0, 17, 35, 52, 70, 87, 105, 123, 141, 158, 176, 194, 213, 231, 249, 268, 287, 306, 325, 344, 364, 384, 404, 424, 445, 466, 488, 510, 532, 554, 577, 601, 625, 649, 675, 700, 727, 754, 781, 810, 839, 869, 900, 933, 966, 1000]
@@ -1,3 +0,0 @@
1
- # block: merge_2
2
- scoreboard players operation $k rs = $o rs
3
- return run scoreboard players get $o rs
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $q rs 0
3
- scoreboard players operation $q rs -= $o rs
4
- scoreboard players operation $k rs = $q rs
5
- return run scoreboard players get $q rs
@@ -1,6 +0,0 @@
1
- # block: entry
2
- scoreboard players operation $o rs = $n rs
3
- scoreboard players set $p rs 0
4
- execute if score $o rs < $a rs run scoreboard players set $p rs 1
5
- execute if score $p rs matches 1.. run function mypack:abs/then_0
6
- execute if score $p rs matches ..0 run function mypack:abs/merge_2
@@ -1,2 +0,0 @@
1
- # block: entry
2
- $r store result score $s rs run data get storage math:tables tan[$(__sgi_0)] 1
@@ -1,3 +0,0 @@
1
- # block: else_34
2
- scoreboard players operation $al rs = $ar rs
3
- function mypack:atan2_fixed/loop_check_30
@@ -1,19 +0,0 @@
1
- # block: loop_body_31
2
- scoreboard players operation $ao rs = $al rs
3
- scoreboard players operation $ao rs += $am rs
4
- scoreboard players operation $ap rs = $ao rs
5
- scoreboard players operation $ap rs += $b rs
6
- scoreboard players operation $aq rs = $ap rs
7
- scoreboard players operation $aq rs /= $c rs
8
- scoreboard players operation $ar rs = $aq rs
9
- execute store result storage rs:heap __sgi_0 int 1 run scoreboard players get $ar rs
10
- function mypack:atan2_fixed/__sgi_1 with storage rs:heap
11
- scoreboard players operation $as rs = $s rs
12
- scoreboard players operation $at rs = $s rs
13
- scoreboard players operation $at rs *= $aa rs
14
- scoreboard players operation $au rs = $ad rs
15
- scoreboard players operation $au rs *= $i rs
16
- scoreboard players set $av rs 0
17
- execute if score $at rs > $au rs run scoreboard players set $av rs 1
18
- execute if score $av rs matches 1.. run function mypack:atan2_fixed/then_33
19
- execute if score $av rs matches ..0 run function mypack:atan2_fixed/else_34
@@ -1,5 +0,0 @@
1
- # block: loop_check_30
2
- scoreboard players set $an rs 0
3
- execute if score $al rs < $am rs run scoreboard players set $an rs 1
4
- execute if score $an rs matches 1.. run function mypack:atan2_fixed/loop_body_31
5
- execute if score $an rs matches ..0 run function mypack:atan2_fixed/loop_exit_32
@@ -1,6 +0,0 @@
1
- # block: loop_exit_32
2
- scoreboard players operation $ax rs = $al rs
3
- scoreboard players set $ay rs 0
4
- execute if score $ai rs = $b rs run scoreboard players set $ay rs 1
5
- execute if score $ay rs matches 1.. run function mypack:atan2_fixed/then_36
6
- execute if score $ay rs matches ..0 run function mypack:atan2_fixed/merge_38
@@ -1,6 +0,0 @@
1
- # block: merge_11
2
- scoreboard players operation $aa rs = $o rs
3
- scoreboard players set $ab rs 0
4
- execute if score $o rs < $a rs run scoreboard players set $ab rs 1
5
- execute if score $ab rs matches 1.. run function mypack:atan2_fixed/then_15
6
- execute if score $ab rs matches ..0 run function mypack:atan2_fixed/merge_17
@@ -1,3 +0,0 @@
1
- # block: merge_14
2
- scoreboard players set $k rs 180
3
- return 180
@@ -1,6 +0,0 @@
1
- # block: merge_17
2
- scoreboard players operation $ad rs = $u rs
3
- scoreboard players set $ae rs 0
4
- execute if score $u rs < $a rs run scoreboard players set $ae rs 1
5
- execute if score $ae rs matches 1.. run function mypack:atan2_fixed/then_18
6
- execute if score $ae rs matches ..0 run function mypack:atan2_fixed/merge_20
@@ -1,5 +0,0 @@
1
- # block: merge_2
2
- scoreboard players set $y rs 0
3
- execute if score $u rs = $a rs run scoreboard players set $y rs 1
4
- execute if score $y rs matches 1.. run function mypack:atan2_fixed/then_9
5
- execute if score $y rs matches ..0 run function mypack:atan2_fixed/merge_11
@@ -1,5 +0,0 @@
1
- # block: merge_20
2
- scoreboard players set $ag rs 0
3
- execute if score $aa rs > $j rs run scoreboard players set $ag rs 1
4
- execute if score $ag rs matches 1.. run function mypack:atan2_fixed/then_21
5
- execute if score $ag rs matches ..0 run function mypack:atan2_fixed/merge_23
@@ -1,5 +0,0 @@
1
- # block: merge_23
2
- scoreboard players set $ah rs 0
3
- execute if score $ad rs > $j rs run scoreboard players set $ah rs 1
4
- execute if score $ah rs matches 1.. run function mypack:atan2_fixed/then_24
5
- execute if score $ah rs matches ..0 run function mypack:atan2_fixed/merge_26
@@ -1,6 +0,0 @@
1
- # block: merge_26
2
- scoreboard players set $ai rs 0
3
- scoreboard players set $aj rs 0
4
- execute if score $ad rs > $aa rs run scoreboard players set $aj rs 1
5
- execute if score $aj rs matches 1.. run function mypack:atan2_fixed/then_27
6
- execute if score $aj rs matches ..0 run function mypack:atan2_fixed/merge_29
@@ -1,4 +0,0 @@
1
- # block: merge_29
2
- scoreboard players set $al rs 0
3
- scoreboard players set $am rs 45
4
- function mypack:atan2_fixed/loop_check_30
@@ -1,5 +0,0 @@
1
- # block: merge_38
2
- scoreboard players set $ba rs 0
3
- execute if score $o rs > $a rs run scoreboard players set $ba rs 1
4
- execute if score $ba rs matches 1.. run function mypack:atan2_fixed/then_39
5
- execute if score $ba rs matches ..0 run function mypack:atan2_fixed/merge_41
@@ -1,5 +0,0 @@
1
- # block: merge_41
2
- scoreboard players set $bd rs 0
3
- execute if score $u rs >= $a rs run scoreboard players set $bd rs 1
4
- execute if score $bd rs matches 1.. run function mypack:atan2_fixed/then_45
5
- execute if score $bd rs matches ..0 run function mypack:atan2_fixed/merge_47
@@ -1,5 +0,0 @@
1
- # block: merge_44
2
- scoreboard players set $bc rs 360
3
- scoreboard players operation $bc rs -= $ax rs
4
- scoreboard players operation $k rs = $bc rs
5
- return run scoreboard players get $bc rs
@@ -1,5 +0,0 @@
1
- # block: merge_47
2
- scoreboard players set $bf rs 180
3
- scoreboard players operation $bf rs += $ax rs
4
- scoreboard players operation $k rs = $bf rs
5
- return run scoreboard players get $bf rs
@@ -1,5 +0,0 @@
1
- # block: merge_5
2
- scoreboard players set $x rs 0
3
- execute if score $u rs < $a rs run scoreboard players set $x rs 1
4
- execute if score $x rs matches 1.. run function mypack:atan2_fixed/then_6
5
- execute if score $x rs matches ..0 run function mypack:atan2_fixed/merge_8
@@ -1,3 +0,0 @@
1
- # block: merge_8
2
- scoreboard players set $k rs 0
3
- return 0
@@ -1,5 +0,0 @@
1
- # block: then_0
2
- scoreboard players set $w rs 0
3
- execute if score $u rs > $a rs run scoreboard players set $w rs 1
4
- execute if score $w rs matches 1.. run function mypack:atan2_fixed/then_3
5
- execute if score $w rs matches ..0 run function mypack:atan2_fixed/merge_5
@@ -1,3 +0,0 @@
1
- # block: then_12
2
- scoreboard players set $k rs 0
3
- return 0
@@ -1,5 +0,0 @@
1
- # block: then_15
2
- scoreboard players set $ac rs 0
3
- scoreboard players operation $ac rs -= $aa rs
4
- scoreboard players operation $aa rs = $ac rs
5
- function mypack:atan2_fixed/merge_17
@@ -1,5 +0,0 @@
1
- # block: then_18
2
- scoreboard players set $af rs 0
3
- scoreboard players operation $af rs -= $ad rs
4
- scoreboard players operation $ad rs = $af rs
5
- function mypack:atan2_fixed/merge_20
@@ -1,3 +0,0 @@
1
- # block: then_21
2
- scoreboard players set $aa rs 46340
3
- function mypack:atan2_fixed/merge_23
@@ -1,3 +0,0 @@
1
- # block: then_24
2
- scoreboard players set $ad rs 46340
3
- function mypack:atan2_fixed/merge_26
@@ -1,6 +0,0 @@
1
- # block: then_27
2
- scoreboard players operation $ak rs = $aa rs
3
- scoreboard players operation $aa rs = $ad rs
4
- scoreboard players operation $ad rs = $ak rs
5
- scoreboard players set $ai rs 1
6
- function mypack:atan2_fixed/merge_29
@@ -1,3 +0,0 @@
1
- # block: then_3
2
- scoreboard players set $k rs 90
3
- return 90
@@ -1,5 +0,0 @@
1
- # block: then_33
2
- scoreboard players operation $aw rs = $ar rs
3
- scoreboard players operation $aw rs -= $b rs
4
- scoreboard players operation $am rs = $aw rs
5
- function mypack:atan2_fixed/loop_check_30
@@ -1,5 +0,0 @@
1
- # block: then_36
2
- scoreboard players set $az rs 90
3
- scoreboard players operation $az rs -= $ax rs
4
- scoreboard players operation $ax rs = $az rs
5
- function mypack:atan2_fixed/merge_38
@@ -1,5 +0,0 @@
1
- # block: then_39
2
- scoreboard players set $bb rs 0
3
- execute if score $u rs >= $a rs run scoreboard players set $bb rs 1
4
- execute if score $bb rs matches 1.. run function mypack:atan2_fixed/then_42
5
- execute if score $bb rs matches ..0 run function mypack:atan2_fixed/merge_44
@@ -1,3 +0,0 @@
1
- # block: then_42
2
- scoreboard players operation $k rs = $ax rs
3
- return run scoreboard players get $ax rs
@@ -1,5 +0,0 @@
1
- # block: then_45
2
- scoreboard players set $be rs 180
3
- scoreboard players operation $be rs -= $ax rs
4
- scoreboard players operation $k rs = $be rs
5
- return run scoreboard players get $be rs