redscript-mc 1.2.26 → 1.2.28
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.
- package/README.md +78 -9
- package/README.zh.md +72 -4
- package/dist/__tests__/cli.test.js +13 -13
- package/dist/__tests__/optimizer-advanced.test.js +4 -4
- package/dist/__tests__/stdlib-advanced.test.js +114 -0
- package/dist/__tests__/stdlib-bigint.test.d.ts +7 -0
- package/dist/__tests__/stdlib-bigint.test.js +428 -0
- package/dist/cli.js +13 -5
- package/dist/codegen/mcfunction/index.d.ts +4 -0
- package/dist/codegen/mcfunction/index.js +9 -4
- package/dist/compile.d.ts +4 -0
- package/dist/compile.js +9 -1
- package/dist/data/arena/function/__load.mcfunction +6 -0
- package/dist/data/arena/function/__tick.mcfunction +2 -0
- package/dist/data/arena/function/announce_leaders/else_1.mcfunction +3 -0
- package/dist/data/arena/function/announce_leaders/foreach_0/merge_2.mcfunction +1 -0
- package/dist/data/arena/function/announce_leaders/foreach_0/then_0.mcfunction +3 -0
- package/dist/data/arena/function/announce_leaders/foreach_0.mcfunction +7 -0
- package/dist/data/arena/function/announce_leaders/foreach_1/merge_2.mcfunction +1 -0
- package/dist/data/arena/function/announce_leaders/foreach_1/then_0.mcfunction +4 -0
- package/dist/data/arena/function/announce_leaders/foreach_1.mcfunction +6 -0
- package/dist/data/arena/function/announce_leaders/merge_2.mcfunction +1 -0
- package/dist/data/arena/function/announce_leaders/then_0.mcfunction +4 -0
- package/dist/data/arena/function/announce_leaders.mcfunction +6 -0
- package/dist/data/arena/function/arena_tick/merge_2.mcfunction +1 -0
- package/dist/data/arena/function/arena_tick/then_0.mcfunction +4 -0
- package/dist/data/arena/function/arena_tick.mcfunction +11 -0
- package/dist/data/counter/function/__load.mcfunction +5 -0
- package/dist/data/counter/function/__tick.mcfunction +2 -0
- package/dist/data/counter/function/counter_tick/merge_2.mcfunction +1 -0
- package/dist/data/counter/function/counter_tick/then_0.mcfunction +3 -0
- package/dist/data/counter/function/counter_tick.mcfunction +11 -0
- package/dist/data/gcd2/function/__load.mcfunction +3 -0
- package/dist/data/gcd2/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/gcd2/function/abs/then_0.mcfunction +5 -0
- package/dist/data/gcd2/function/abs.mcfunction +7 -0
- package/dist/data/gcd2/function/gcd/loop_body_1.mcfunction +7 -0
- package/dist/data/gcd2/function/gcd/loop_check_0.mcfunction +5 -0
- package/dist/data/gcd2/function/gcd/loop_exit_2.mcfunction +3 -0
- package/dist/data/gcd2/function/gcd.mcfunction +14 -0
- package/dist/data/gcd3/function/__load.mcfunction +3 -0
- package/dist/data/gcd3/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/gcd3/function/abs/then_0.mcfunction +5 -0
- package/dist/data/gcd3/function/abs.mcfunction +7 -0
- package/dist/data/gcd3/function/gcd/loop_body_1.mcfunction +7 -0
- package/dist/data/gcd3/function/gcd/loop_check_0.mcfunction +5 -0
- package/dist/data/gcd3/function/gcd/loop_exit_2.mcfunction +3 -0
- package/dist/data/gcd3/function/gcd.mcfunction +14 -0
- package/dist/data/gcd3/function/test.mcfunction +7 -0
- package/dist/data/gcd3nm/function/__load.mcfunction +3 -0
- package/dist/data/gcd3nm/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/gcd3nm/function/abs/then_0.mcfunction +5 -0
- package/dist/data/gcd3nm/function/abs.mcfunction +7 -0
- package/dist/data/gcd3nm/function/gcd/loop_body_1.mcfunction +7 -0
- package/dist/data/gcd3nm/function/gcd/loop_check_0.mcfunction +5 -0
- package/dist/data/gcd3nm/function/gcd/loop_exit_2.mcfunction +3 -0
- package/dist/data/gcd3nm/function/gcd.mcfunction +14 -0
- package/dist/data/gcd3nm/function/test.mcfunction +7 -0
- package/dist/data/gcd_test/function/__load.mcfunction +3 -0
- package/dist/data/gcd_test/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/gcd_test/function/abs/then_0.mcfunction +5 -0
- package/dist/data/gcd_test/function/abs.mcfunction +7 -0
- package/dist/data/gcd_test/function/gcd/loop_body_1.mcfunction +7 -0
- package/dist/data/gcd_test/function/gcd/loop_check_0.mcfunction +5 -0
- package/dist/data/gcd_test/function/gcd/loop_exit_2.mcfunction +3 -0
- package/dist/data/gcd_test/function/gcd.mcfunction +14 -0
- package/dist/data/isqrttest/function/__load.mcfunction +6 -0
- package/dist/data/isqrttest/function/isqrt/loop_body_4.mcfunction +12 -0
- package/dist/data/isqrttest/function/isqrt/loop_check_3.mcfunction +5 -0
- package/dist/data/isqrttest/function/isqrt/loop_exit_5.mcfunction +3 -0
- package/dist/data/isqrttest/function/isqrt/merge_2.mcfunction +4 -0
- package/dist/data/isqrttest/function/isqrt/merge_8.mcfunction +6 -0
- package/dist/data/isqrttest/function/isqrt/then_0.mcfunction +3 -0
- package/dist/data/isqrttest/function/isqrt/then_6.mcfunction +3 -0
- package/dist/data/isqrttest/function/isqrt.mcfunction +7 -0
- package/dist/data/isqrttest/function/test.mcfunction +6 -0
- package/dist/data/mathtest/function/__load.mcfunction +3 -0
- package/dist/data/mathtest/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/mathtest/function/abs/then_0.mcfunction +5 -0
- package/dist/data/mathtest/function/abs.mcfunction +6 -0
- package/dist/data/mathtest/function/test.mcfunction +5 -0
- package/dist/data/minecraft/tags/function/load.json +5 -0
- package/dist/data/minecraft/tags/function/tick.json +5 -0
- package/dist/data/mypack/function/__load.mcfunction +13 -0
- package/dist/data/mypack/function/_atan_init.mcfunction +2 -0
- package/dist/data/mypack/function/abs/merge_2.mcfunction +3 -0
- package/dist/data/mypack/function/abs/then_0.mcfunction +5 -0
- package/dist/data/mypack/function/abs.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/__sgi_1.mcfunction +2 -0
- package/dist/data/mypack/function/atan2_fixed/else_34.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/loop_body_31.mcfunction +19 -0
- package/dist/data/mypack/function/atan2_fixed/loop_check_30.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/loop_exit_32.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/merge_11.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/merge_14.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/merge_17.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/merge_2.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_20.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_23.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_26.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/merge_29.mcfunction +4 -0
- package/dist/data/mypack/function/atan2_fixed/merge_38.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_41.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_44.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_47.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_5.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/merge_8.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_0.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_12.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_15.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_18.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_21.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_24.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_27.mcfunction +6 -0
- package/dist/data/mypack/function/atan2_fixed/then_3.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_33.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_36.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_39.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_42.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_45.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed/then_6.mcfunction +3 -0
- package/dist/data/mypack/function/atan2_fixed/then_9.mcfunction +5 -0
- package/dist/data/mypack/function/atan2_fixed.mcfunction +7 -0
- package/dist/data/mypack/function/my_game.mcfunction +10 -0
- package/dist/data/quiz/function/__load.mcfunction +16 -0
- package/dist/data/quiz/function/__tick.mcfunction +6 -0
- package/dist/data/quiz/function/__trigger_quiz_a_dispatch.mcfunction +4 -0
- package/dist/data/quiz/function/__trigger_quiz_b_dispatch.mcfunction +4 -0
- package/dist/data/quiz/function/__trigger_quiz_c_dispatch.mcfunction +4 -0
- package/dist/data/quiz/function/__trigger_quiz_start_dispatch.mcfunction +4 -0
- package/dist/data/quiz/function/answer_a.mcfunction +4 -0
- package/dist/data/quiz/function/answer_b.mcfunction +4 -0
- package/dist/data/quiz/function/answer_c.mcfunction +4 -0
- package/dist/data/quiz/function/ask_question/else_1.mcfunction +5 -0
- package/dist/data/quiz/function/ask_question/else_4.mcfunction +5 -0
- package/dist/data/quiz/function/ask_question/else_7.mcfunction +4 -0
- package/dist/data/quiz/function/ask_question/merge_2.mcfunction +1 -0
- package/dist/data/quiz/function/ask_question/merge_5.mcfunction +2 -0
- package/dist/data/quiz/function/ask_question/merge_8.mcfunction +2 -0
- package/dist/data/quiz/function/ask_question/then_0.mcfunction +4 -0
- package/dist/data/quiz/function/ask_question/then_3.mcfunction +4 -0
- package/dist/data/quiz/function/ask_question/then_6.mcfunction +4 -0
- package/dist/data/quiz/function/ask_question.mcfunction +7 -0
- package/dist/data/quiz/function/finish_quiz.mcfunction +6 -0
- package/dist/data/quiz/function/handle_answer/else_1.mcfunction +5 -0
- package/dist/data/quiz/function/handle_answer/else_10.mcfunction +3 -0
- package/dist/data/quiz/function/handle_answer/else_16.mcfunction +3 -0
- package/dist/data/quiz/function/handle_answer/else_4.mcfunction +3 -0
- package/dist/data/quiz/function/handle_answer/else_7.mcfunction +5 -0
- package/dist/data/quiz/function/handle_answer/merge_11.mcfunction +2 -0
- package/dist/data/quiz/function/handle_answer/merge_14.mcfunction +2 -0
- package/dist/data/quiz/function/handle_answer/merge_17.mcfunction +2 -0
- package/dist/data/quiz/function/handle_answer/merge_2.mcfunction +8 -0
- package/dist/data/quiz/function/handle_answer/merge_5.mcfunction +2 -0
- package/dist/data/quiz/function/handle_answer/merge_8.mcfunction +2 -0
- package/dist/data/quiz/function/handle_answer/then_0.mcfunction +5 -0
- package/dist/data/quiz/function/handle_answer/then_12.mcfunction +5 -0
- package/dist/data/quiz/function/handle_answer/then_15.mcfunction +6 -0
- package/dist/data/quiz/function/handle_answer/then_3.mcfunction +6 -0
- package/dist/data/quiz/function/handle_answer/then_6.mcfunction +5 -0
- package/dist/data/quiz/function/handle_answer/then_9.mcfunction +6 -0
- package/dist/data/quiz/function/handle_answer.mcfunction +11 -0
- package/dist/data/quiz/function/start_quiz.mcfunction +5 -0
- package/dist/data/reqtest/function/__load.mcfunction +4 -0
- package/dist/data/reqtest/function/_table_init.mcfunction +2 -0
- package/dist/data/reqtest/function/no_trig.mcfunction +3 -0
- package/dist/data/reqtest/function/use_table.mcfunction +4 -0
- package/dist/data/reqtest2/function/__load.mcfunction +3 -0
- package/dist/data/reqtest2/function/no_trig.mcfunction +3 -0
- package/dist/data/runtime/function/__load.mcfunction +5 -0
- package/dist/data/runtime/function/__tick.mcfunction +2 -0
- package/dist/data/runtime/function/counter_tick/then_0.mcfunction +3 -0
- package/dist/data/runtime/function/counter_tick.mcfunction +13 -0
- package/dist/data/shop/function/__load.mcfunction +7 -0
- package/dist/data/shop/function/__tick.mcfunction +3 -0
- package/dist/data/shop/function/__trigger_shop_buy_dispatch.mcfunction +4 -0
- package/dist/data/shop/function/complete_purchase/else_1.mcfunction +5 -0
- package/dist/data/shop/function/complete_purchase/else_4.mcfunction +5 -0
- package/dist/data/shop/function/complete_purchase/else_7.mcfunction +3 -0
- package/dist/data/shop/function/complete_purchase/merge_2.mcfunction +2 -0
- package/dist/data/shop/function/complete_purchase/merge_5.mcfunction +2 -0
- package/dist/data/shop/function/complete_purchase/merge_8.mcfunction +2 -0
- package/dist/data/shop/function/complete_purchase/then_0.mcfunction +4 -0
- package/dist/data/shop/function/complete_purchase/then_3.mcfunction +4 -0
- package/dist/data/shop/function/complete_purchase/then_6.mcfunction +4 -0
- package/dist/data/shop/function/complete_purchase.mcfunction +7 -0
- package/dist/data/shop/function/handle_shop_trigger.mcfunction +3 -0
- package/dist/data/swap_test/function/__load.mcfunction +3 -0
- package/dist/data/swap_test/function/gcd_old/loop_body_1.mcfunction +7 -0
- package/dist/data/swap_test/function/gcd_old/loop_check_0.mcfunction +5 -0
- package/dist/data/swap_test/function/gcd_old/loop_exit_2.mcfunction +3 -0
- package/dist/data/swap_test/function/gcd_old.mcfunction +8 -0
- package/dist/data/turret/function/__load.mcfunction +5 -0
- package/dist/data/turret/function/__tick.mcfunction +4 -0
- package/dist/data/turret/function/__trigger_deploy_turret_dispatch.mcfunction +4 -0
- package/dist/data/turret/function/deploy_turret.mcfunction +8 -0
- package/dist/data/turret/function/turret_tick/at_1.mcfunction +2 -0
- package/dist/data/turret/function/turret_tick/foreach_0.mcfunction +2 -0
- package/dist/data/turret/function/turret_tick/foreach_2.mcfunction +2 -0
- package/dist/data/turret/function/turret_tick/tick_body.mcfunction +3 -0
- package/dist/data/turret/function/turret_tick/tick_skip.mcfunction +1 -0
- package/dist/data/turret/function/turret_tick.mcfunction +5 -0
- package/dist/gcd2.map.json +15 -0
- package/dist/gcd3.map.json +17 -0
- package/dist/gcd_test.map.json +15 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +11 -6
- package/dist/isqrttest.map.json +15 -0
- package/dist/lowering/index.d.ts +3 -0
- package/dist/lowering/index.js +161 -64
- package/dist/mathtest.map.json +6 -0
- package/dist/mypack.map.json +27 -0
- package/dist/optimizer/commands.d.ts +1 -0
- package/dist/optimizer/commands.js +18 -11
- package/dist/optimizer/structure.d.ts +1 -0
- package/dist/optimizer/structure.js +6 -1
- package/dist/pack.mcmeta +6 -0
- package/dist/reqtest.map.json +4 -0
- package/dist/reqtest2.map.json +4 -0
- package/dist/runtime/index.js +26 -5
- package/dist/runtime.map.json +7 -0
- package/dist/swap_test.map.json +14 -0
- package/editors/vscode/package-lock.json +3 -3
- package/editors/vscode/package.json +1 -1
- package/examples/math-showcase.mcrs +146 -0
- package/examples/readme-demo.mcrs +92 -0
- package/examples/showcase.mcrs +505 -0
- package/package.json +1 -1
- package/src/__tests__/cli.test.ts +13 -13
- package/src/__tests__/optimizer-advanced.test.ts +4 -4
- package/src/__tests__/stdlib-advanced.test.ts +120 -0
- package/src/__tests__/stdlib-bigint.test.ts +427 -0
- package/src/cli.ts +14 -5
- package/src/codegen/mcfunction/index.ts +14 -5
- package/src/compile.ts +15 -2
- package/src/index.ts +17 -7
- package/src/lowering/index.ts +165 -63
- package/src/optimizer/commands.ts +18 -12
- package/src/optimizer/structure.ts +6 -2
- package/src/runtime/index.ts +27 -5
- package/src/stdlib/advanced.mcrs +81 -0
- package/src/stdlib/bigint.mcrs +205 -0
- package/src/stdlib/math.mcrs +19 -6
|
@@ -0,0 +1,5 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
scoreboard players operation $u rs = $n rs
|
|
3
|
+
scoreboard players operation $o rs = $t rs
|
|
4
|
+
scoreboard players set $v rs 0
|
|
5
|
+
execute if score $o rs = $a rs run scoreboard players set $v rs 1
|
|
6
|
+
execute if score $v rs matches 1.. run function mypack:atan2_fixed/then_0
|
|
7
|
+
execute if score $v rs matches ..0 run function mypack:atan2_fixed/merge_2
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
scoreboard players set $n rs -42
|
|
3
|
+
function mypack:abs
|
|
4
|
+
scoreboard players operation $l rs = $k rs
|
|
5
|
+
execute store result score data rs run scoreboard players get $l rs
|
|
6
|
+
scoreboard players set $n rs 3
|
|
7
|
+
scoreboard players set $t rs 4
|
|
8
|
+
function mypack:atan2_fixed
|
|
9
|
+
scoreboard players operation $m rs = $k rs
|
|
10
|
+
execute store result score angle rs run scoreboard players get $m rs
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# RedScript runtime init
|
|
2
|
+
scoreboard objectives add rs dummy
|
|
3
|
+
scoreboard objectives add quiz_start trigger
|
|
4
|
+
scoreboard players enable @a quiz_start
|
|
5
|
+
scoreboard objectives add quiz_a trigger
|
|
6
|
+
scoreboard players enable @a quiz_a
|
|
7
|
+
scoreboard objectives add quiz_b trigger
|
|
8
|
+
scoreboard players enable @a quiz_b
|
|
9
|
+
scoreboard objectives add quiz_c trigger
|
|
10
|
+
scoreboard players enable @a quiz_c
|
|
11
|
+
scoreboard players set $const_1 rs 1
|
|
12
|
+
scoreboard players set $const_2 rs 2
|
|
13
|
+
scoreboard players set $const_3 rs 3
|
|
14
|
+
scoreboard players set $const_1 rs 1
|
|
15
|
+
scoreboard players set $const_2 rs 2
|
|
16
|
+
scoreboard players set $const_3 rs 3
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# RedScript tick dispatcher
|
|
2
|
+
# Trigger checks
|
|
3
|
+
execute as @a[scores={quiz_start=1..}] run function quiz:__trigger_quiz_start_dispatch
|
|
4
|
+
execute as @a[scores={quiz_a=1..}] run function quiz:__trigger_quiz_a_dispatch
|
|
5
|
+
execute as @a[scores={quiz_b=1..}] run function quiz:__trigger_quiz_b_dispatch
|
|
6
|
+
execute as @a[scores={quiz_c=1..}] run function quiz:__trigger_quiz_c_dispatch
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_1
|
|
2
|
+
scoreboard players set $t2 rs 0
|
|
3
|
+
execute if score $question rs = $const_2 rs run scoreboard players set $t2 rs 1
|
|
4
|
+
execute if score $t2 rs matches 1.. run function quiz:ask_question/then_3
|
|
5
|
+
execute if score $t2 rs matches ..0 run function quiz:ask_question/else_4
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_4
|
|
2
|
+
scoreboard players set $t3 rs 0
|
|
3
|
+
execute if score $question rs = $const_3 rs run scoreboard players set $t3 rs 1
|
|
4
|
+
execute if score $t3 rs matches 1.. run function quiz:ask_question/then_6
|
|
5
|
+
execute if score $t3 rs matches ..0 run function quiz:ask_question/else_7
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# block: merge_2
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
execute store result score $t0 rs run scoreboard players get @s quiz_question
|
|
3
|
+
scoreboard players operation $question rs = $t0 rs
|
|
4
|
+
scoreboard players set $t1 rs 0
|
|
5
|
+
execute if score $t0 rs = $const_1 rs run scoreboard players set $t1 rs 1
|
|
6
|
+
execute if score $t1 rs matches 1.. run function quiz:ask_question/then_0
|
|
7
|
+
execute if score $t1 rs matches ..0 run function quiz:ask_question/else_1
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
execute store result score $t0 rs run scoreboard players get @s quiz_score
|
|
3
|
+
title @s title {"text":"Quiz Complete"}
|
|
4
|
+
tellraw @s {"text":"Your final quiz score is recorded in quiz_score."}
|
|
5
|
+
scoreboard players set @s quiz_question 0
|
|
6
|
+
execute store result score @s quiz_score run scoreboard players get $t1 rs
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_1
|
|
2
|
+
scoreboard players set $t5 rs 0
|
|
3
|
+
execute if score $question rs = $const_2 rs run scoreboard players set $t5 rs 1
|
|
4
|
+
execute if score $t5 rs matches 1.. run function quiz:handle_answer/then_6
|
|
5
|
+
execute if score $t5 rs matches ..0 run function quiz:handle_answer/else_7
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_7
|
|
2
|
+
scoreboard players set $t8 rs 0
|
|
3
|
+
execute if score $question rs = $const_3 rs run scoreboard players set $t8 rs 1
|
|
4
|
+
execute if score $t8 rs matches 1.. run function quiz:handle_answer/then_12
|
|
5
|
+
execute if score $t8 rs matches ..0 run function quiz:handle_answer/merge_14
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# block: merge_2
|
|
2
|
+
execute store result score @s quiz_score run scoreboard players get $t11 rs
|
|
3
|
+
scoreboard players operation $t12 rs = $question rs
|
|
4
|
+
scoreboard players operation $t12 rs += $const_1 rs
|
|
5
|
+
scoreboard players operation $question rs = $t12 rs
|
|
6
|
+
execute store result score @s quiz_question run scoreboard players get $t13 rs
|
|
7
|
+
function quiz:ask_question
|
|
8
|
+
scoreboard players operation $t14 rs = $ret rs
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: then_0
|
|
2
|
+
scoreboard players set $t3 rs 0
|
|
3
|
+
execute if score $choice rs = $const_1 rs run scoreboard players set $t3 rs 1
|
|
4
|
+
execute if score $t3 rs matches 1.. run function quiz:handle_answer/then_3
|
|
5
|
+
execute if score $t3 rs matches ..0 run function quiz:handle_answer/else_4
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: then_12
|
|
2
|
+
scoreboard players set $t9 rs 0
|
|
3
|
+
execute if score $choice rs = $const_2 rs run scoreboard players set $t9 rs 1
|
|
4
|
+
execute if score $t9 rs matches 1.. run function quiz:handle_answer/then_15
|
|
5
|
+
execute if score $t9 rs matches ..0 run function quiz:handle_answer/else_16
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: then_6
|
|
2
|
+
scoreboard players set $t6 rs 0
|
|
3
|
+
execute if score $choice rs = $const_2 rs run scoreboard players set $t6 rs 1
|
|
4
|
+
execute if score $t6 rs matches 1.. run function quiz:handle_answer/then_9
|
|
5
|
+
execute if score $t6 rs matches ..0 run function quiz:handle_answer/else_10
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
scoreboard players operation $choice rs = $p0 rs
|
|
3
|
+
scoreboard players operation $choice rs = $p0 rs
|
|
4
|
+
execute store result score $t0 rs run scoreboard players get @s quiz_question
|
|
5
|
+
scoreboard players operation $question rs = $t0 rs
|
|
6
|
+
execute store result score $t1 rs run scoreboard players get @s quiz_score
|
|
7
|
+
scoreboard players operation $score rs = $t1 rs
|
|
8
|
+
scoreboard players set $t2 rs 0
|
|
9
|
+
execute if score $t0 rs = $const_1 rs run scoreboard players set $t2 rs 1
|
|
10
|
+
execute if score $t2 rs matches 1.. run function quiz:handle_answer/then_0
|
|
11
|
+
execute if score $t2 rs matches ..0 run function quiz:handle_answer/else_1
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
execute store result score $_0 rs run scoreboard players get counter ticks
|
|
3
|
+
scoreboard players operation $d rs = $e rs
|
|
4
|
+
scoreboard players operation $f rs = $e rs
|
|
5
|
+
scoreboard players operation $f rs += $b rs
|
|
6
|
+
scoreboard players operation $d rs = $f rs
|
|
7
|
+
execute store result score counter ticks run scoreboard players get $d rs
|
|
8
|
+
scoreboard players operation $g rs = $f rs
|
|
9
|
+
scoreboard players operation $g rs %= $c rs
|
|
10
|
+
scoreboard players set $h rs 0
|
|
11
|
+
execute if score $g rs = $a rs run scoreboard players set $h rs 1
|
|
12
|
+
execute if score $h rs matches 1.. run function runtime:counter_tick/then_0
|
|
13
|
+
execute if score $h rs matches ..0 run function runtime:counter_tick/merge_2
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_1
|
|
2
|
+
scoreboard players set $t2 rs 0
|
|
3
|
+
execute if score $choice rs = $const_2 rs run scoreboard players set $t2 rs 1
|
|
4
|
+
execute if score $t2 rs matches 1.. run function shop:complete_purchase/then_3
|
|
5
|
+
execute if score $t2 rs matches ..0 run function shop:complete_purchase/else_4
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: else_4
|
|
2
|
+
scoreboard players set $t3 rs 0
|
|
3
|
+
execute if score $choice rs = $const_3 rs run scoreboard players set $t3 rs 1
|
|
4
|
+
execute if score $t3 rs matches 1.. run function shop:complete_purchase/then_6
|
|
5
|
+
execute if score $t3 rs matches ..0 run function shop:complete_purchase/else_7
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
execute store result score $t0 rs run scoreboard players get @s shop_choice
|
|
3
|
+
scoreboard players operation $choice rs = $t0 rs
|
|
4
|
+
scoreboard players set $t1 rs 0
|
|
5
|
+
execute if score $t0 rs = $const_1 rs run scoreboard players set $t1 rs 1
|
|
6
|
+
execute if score $t1 rs matches 1.. run function shop:complete_purchase/then_0
|
|
7
|
+
execute if score $t1 rs matches ..0 run function shop:complete_purchase/else_1
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# block: loop_body_1
|
|
2
|
+
scoreboard players operation $k rs = $i rs
|
|
3
|
+
scoreboard players operation $l rs = $h rs
|
|
4
|
+
scoreboard players operation $l rs %= $i rs
|
|
5
|
+
scoreboard players operation $i rs = $l rs
|
|
6
|
+
scoreboard players operation $h rs = $k rs
|
|
7
|
+
function swap_test:gcd_old/loop_check_0
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# block: loop_check_0
|
|
2
|
+
scoreboard players set $j rs 0
|
|
3
|
+
execute if score $i rs > $a rs run scoreboard players set $j rs 1
|
|
4
|
+
execute if score $j rs matches 1.. run function swap_test:gcd_old/loop_body_1
|
|
5
|
+
execute if score $j rs matches ..0 run function swap_test:gcd_old/loop_exit_2
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
scoreboard players operation $i rs = $g rs
|
|
8
|
+
function swap_test:gcd_old/loop_check_0
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# block: entry
|
|
2
|
+
summon minecraft:armor_stand 0 64 0 {Invisible:1b,Marker:1b,NoGravity:1b,Tags:["__rs_obj_0"]}
|
|
3
|
+
scoreboard players set @e[tag=__rs_obj_0,limit=1] rs 40
|
|
4
|
+
tag @e[tag=__rs_obj_0,limit=1] add turret
|
|
5
|
+
data modify storage rs:heap turretstate_state.health set value 40
|
|
6
|
+
execute store result score $t0 rs run data get storage rs:heap turretstate_state.health
|
|
7
|
+
execute store result score turret health run scoreboard players get $t1 rs
|
|
8
|
+
say Turret deployed.
|