Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.11.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Scheduling user_functions/init 20 ticks later allows main to run before initialization completes, introducing an init/main ordering race.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.11.json, line 6:

<comment>Scheduling `user_functions/init` 20 ticks later allows `main` to run before initialization completes, introducing an init/main ordering race.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n        \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.2.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"pack_format\": {{pack_format}},\n \"supported_formats\": [48, 57],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Delaying user_functions/init by 20 ticks allows main to run before initialization, creating an init-order race after reload.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.2.json, line 6:

<comment>Delaying `user_functions/init` by 20 ticks allows `main` to run before initialization, creating an init-order race after reload.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"pack_format\": {{pack_format}},\n        \"supported_formats\": [48, 57],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.4.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"pack_format\": {{pack_format}},\n \"supported_formats\": [61, 61],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Delaying user_functions/init by 20 ticks allows main to run before initialization, changing load/tick ordering and risking uninitialized runtime state.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.4.json, line 6:

<comment>Delaying `user_functions/init` by 20 ticks allows `main` to run before initialization, changing load/tick ordering and risking uninitialized runtime state.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"pack_format\": {{pack_format}},\n        \"supported_formats\": [61, 61],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.5.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"pack_format\": {{pack_format}},\n \"supported_formats\": [71, 71],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Delaying user_functions/init by 20 ticks allows main to run before initialization, creating a startup ordering bug.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.5.json, line 6:

<comment>Delaying `user_functions/init` by 20 ticks allows `main` to run before initialization, creating a startup ordering bug.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"pack_format\": {{pack_format}},\n        \"supported_formats\": [71, 71],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.6.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"pack_format\": {{pack_format}},\n \"supported_formats\": [80, 80],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Deferring user_functions/init by 20 ticks can make main run before initialization, causing early-tick logic to execute with uninitialized state.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.6.json, line 6:

<comment>Deferring `user_functions/init` by 20 ticks can make `main` run before initialization, causing early-tick logic to execute with uninitialized state.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"pack_format\": {{pack_format}},\n        \"supported_formats\": [80, 80],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.7-8.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"pack_format\": {{pack_format}},\n \"supported_formats\": [81, 81],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/1.21.9-10.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Delaying user_functions/init by 20 ticks can run main before initialization is complete, breaking prior load-before-tick ordering.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/1.21.9-10.json, line 6:

<comment>Delaying `user_functions/init` by 20 ticks can run `main` before initialization is complete, breaking prior load-before-tick ordering.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n        \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
2 changes: 1 addition & 1 deletion minecraft_script/versions/26.1.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"templates": {
"pack.mcmeta": "{\n \"pack\": {\n \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n \"description\": \"{{packDescription}}\"\n }\n}",
"datapack.init.header": "################################################################\n# #\n# default init.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Delaying user_functions/init by 20 ticks allows main to run before initialization, causing startup-order regressions.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At minecraft_script/versions/26.1.json, line 6:

<comment>Delaying `user_functions/init` by 20 ticks allows `main` to run before initialization, causing startup-order regressions.</comment>

<file context>
@@ -3,7 +3,7 @@
     "pack.mcmeta": "{\n    \"pack\": {\n        \"min_format\": [{{formatMinMajor}}, {{formatMinMinor}}],\n        \"max_format\": [{{formatMaxMajor}}, {{formatMaxMinor}}],\n        \"description\": \"{{packDescription}}\"\n    }\n}",
     "datapack.init.header": "################################################################\n#                                                              #\n#  default init.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
-    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
+    "datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
     "datapack.main.header": "################################################################\n#                                                              #\n#  default main.mcfunction file generated by Minecraft-Script  #\n#                                                              #\n################################################################\n",
     "datapack.main": "function {{datapack_id}}:user_functions/main",
</file context>
Suggested change
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nschedule function {{datapack_id}}:user_functions/init 20t",
"datapack.init": "scoreboard objectives add mcs_math dummy \"Minecraft-Script Math\"\nscoreboard objectives add mcs_click {{clickScoreboardCriterion}} \"Minecraft-Script Click\"\n\nfunction {{datapack_id}}:user_functions/init",
Fix with cubic

"datapack.main.header": "################################################################\n# #\n# default main.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
"datapack.main": "function {{datapack_id}}:user_functions/main",
"datapack.kill.header": "################################################################\n# #\n# default kill.mcfunction file generated by Minecraft-Script #\n# #\n################################################################\n",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package dev.spyc0der.minecraftscript;

public record McsCommandResult(boolean success, String message) {
public static McsCommandResult ok(String message) {
return new McsCommandResult(true, message);
}

public static McsCommandResult error(String message) {
return new McsCommandResult(false, message);
}

public McsCommandResult acknowledged(String command) {
String prefix = command == null || command.isBlank()
? "MCS command acknowledged: "
: "MCS command acknowledged: " + command + ": ";
return new McsCommandResult(success, prefix + message);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
package dev.spyc0der.minecraftscript;

import java.io.IOException;
import java.util.List;

public final class McsCommandService {
private McsCommandService() {
}

public static List<String> packNameSuggestions() {
McsWorldPackManager packManager = McsModRuntime.packManager();
if (packManager == null) {
return List.of();
}
try {
return packManager.discoverPackNames();
} catch (IOException error) {
return List.of();
}
}

public static McsCommandResult setHotReloading(boolean enabled, String packName) {
McsWorldPackManager packManager = McsModRuntime.packManager();
if (packManager == null) {
return McsCommandResult.error("Minecraft Script is not active on this server.");
}
try {
McsCommandResult result = packManager.setHotReloading(enabled, packName);
if (result.success() && (packName == null || packName.isBlank())) {
McsModRuntime.applyHotReloadState(enabled);
}
return result;
} catch (IOException error) {
return McsCommandResult.error("Could not save MCS config: " + error.getMessage());
}
}

public static McsCommandResult setPackEnabled(String packName, boolean enabled) {
McsWorldPackManager packManager = McsModRuntime.packManager();
McsServerAccess serverAccess = McsModRuntime.serverAccess();
if (packManager == null || serverAccess == null) {
return McsCommandResult.error("Minecraft Script is not active on this server.");
}
try {
McsCommandResult result = packManager.setPackEnabled(packName, enabled);

@cubic-dev-ai cubic-dev-ai Bot Jun 11, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: setPackEnabled reloads the server even for successful no-op results (already enabled/disabled), causing unnecessary reloads.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At mod/common/src/main/java/dev/spyc0der/minecraftscript/McsCommandService.java, line 45:

<comment>`setPackEnabled` reloads the server even for successful no-op results (already enabled/disabled), causing unnecessary reloads.</comment>

<file context>
@@ -0,0 +1,115 @@
+            return McsCommandResult.error("Minecraft Script is not active on this server.");
+        }
+        try {
+            McsCommandResult result = packManager.setPackEnabled(packName, enabled);
+            if (result.success()) {
+                serverAccess.executeReload();
</file context>
Fix with cubic

if (result.success()) {
serverAccess.executeReload();
}
return result;
} catch (IOException error) {
return McsCommandResult.error("Could not update pack state: " + error.getMessage());
}
}

public static McsCommandResult listPacks() {
McsWorldPackManager packManager = McsModRuntime.packManager();
if (packManager == null) {
return McsCommandResult.error("Minecraft Script is not active on this server.");
}
try {
return packManager.listPacks();
} catch (IOException error) {
return McsCommandResult.error("Could not list MCS packs: " + error.getMessage());
}
}

public static McsCommandResult createPack(String packName, String scope) {
McsWorldPackManager packManager = McsModRuntime.packManager();
McsServerAccess serverAccess = McsModRuntime.serverAccess();
if (packManager == null || serverAccess == null) {
return McsCommandResult.error("Minecraft Script is not active on this server.");
}
McsPackSource source = parsePackScope(scope);
if (source == null) {
return McsCommandResult.error("Scope must be 'global' or 'local'.");
}
try {
McsCommandResult result = packManager.createPack(packName, source);
if (result.success()) {
serverAccess.executeReload();
}
return result;
} catch (IOException error) {
return McsCommandResult.error("Could not create MCS pack: " + error.getMessage());
}
}

private static McsPackSource parsePackScope(String scope) {
if (scope == null) {
return null;
}
return switch (scope.trim().toLowerCase()) {
case "global" -> McsPackSource.GLOBAL;
case "local" -> McsPackSource.WORLD;
default -> null;
};
}

public static McsCommandResult reload(String packName) {
McsWorldPackManager packManager = McsModRuntime.packManager();
McsServerAccess serverAccess = McsModRuntime.serverAccess();
if (packManager == null || serverAccess == null) {
return McsCommandResult.error("Minecraft Script is not active on this server.");
}
try {
McsCommandResult result = packManager.reload(packName);
if (result.success()) {
serverAccess.executeReload();
}
return result;
} catch (IOException error) {
return McsCommandResult.error("Could not reload MCS packs: " + error.getMessage());
}
}
}
Loading
Loading