redscript-mc 2.0.0 → 2.1.1

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