From d31a02f7d7cfe53d13fcddd337281ad6fa788142 Mon Sep 17 00:00:00 2001 From: Legends11 <235496468+tickwarden@users.noreply.github.com> Date: Sat, 9 May 2026 20:11:11 +0000 Subject: [PATCH] fix(tick): invert unless/if in rate_check and exec across all overlays Channels with condition:"" were never dispatched due to inverted unless/if logic in rate_check.mcfunction and exec.mcfunction. Affected: data/ (base), 1_20_3/, 1_20_5/ --- .../data/macro/functions/core/tick/dispatch/exec.mcfunction | 2 +- .../functions/core/tick/dispatch/rate_check.mcfunction | 4 ++-- .../data/macro/functions/core/tick/dispatch/exec.mcfunction | 2 +- .../functions/core/tick/dispatch/rate_check.mcfunction | 4 ++-- data/macro/function/core/tick/dispatch/exec.mcfunction | 2 +- .../macro/function/core/tick/dispatch/rate_check.mcfunction | 4 ++-- data/macro/function/tick.mcfunction | 6 ++++-- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/1_20_3/data/macro/functions/core/tick/dispatch/exec.mcfunction b/1_20_3/data/macro/functions/core/tick/dispatch/exec.mcfunction index 104b4631..c75ccd0e 100644 --- a/1_20_3/data/macro/functions/core/tick/dispatch/exec.mcfunction +++ b/1_20_3/data/macro/functions/core/tick/dispatch/exec.mcfunction @@ -5,4 +5,4 @@ # condition:"" → always run (no predicate check) $data modify storage macro:engine _dispatch.func set value "$(fn)" -execute unless data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file diff --git a/1_20_3/data/macro/functions/core/tick/dispatch/rate_check.mcfunction b/1_20_3/data/macro/functions/core/tick/dispatch/rate_check.mcfunction index d81a1fbb..1405734a 100644 --- a/1_20_3/data/macro/functions/core/tick/dispatch/rate_check.mcfunction +++ b/1_20_3/data/macro/functions/core/tick/dispatch/rate_check.mcfunction @@ -20,5 +20,5 @@ execute if score #check macro.tick matches ..-1 run scoreboard players operation execute unless score #check macro.tick matches 0 run return 0 # Passed → execute channel function -execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel -execute if data storage macro:tick_work channel.condition run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel +execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file diff --git a/1_20_5/data/macro/functions/core/tick/dispatch/exec.mcfunction b/1_20_5/data/macro/functions/core/tick/dispatch/exec.mcfunction index 104b4631..c75ccd0e 100644 --- a/1_20_5/data/macro/functions/core/tick/dispatch/exec.mcfunction +++ b/1_20_5/data/macro/functions/core/tick/dispatch/exec.mcfunction @@ -5,4 +5,4 @@ # condition:"" → always run (no predicate check) $data modify storage macro:engine _dispatch.func set value "$(fn)" -execute unless data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file diff --git a/1_20_5/data/macro/functions/core/tick/dispatch/rate_check.mcfunction b/1_20_5/data/macro/functions/core/tick/dispatch/rate_check.mcfunction index d81a1fbb..1405734a 100644 --- a/1_20_5/data/macro/functions/core/tick/dispatch/rate_check.mcfunction +++ b/1_20_5/data/macro/functions/core/tick/dispatch/rate_check.mcfunction @@ -20,5 +20,5 @@ execute if score #check macro.tick matches ..-1 run scoreboard players operation execute unless score #check macro.tick matches 0 run return 0 # Passed → execute channel function -execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel -execute if data storage macro:tick_work channel.condition run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel +execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file diff --git a/data/macro/function/core/tick/dispatch/exec.mcfunction b/data/macro/function/core/tick/dispatch/exec.mcfunction index 104b4631..c75ccd0e 100644 --- a/data/macro/function/core/tick/dispatch/exec.mcfunction +++ b/data/macro/function/core/tick/dispatch/exec.mcfunction @@ -5,4 +5,4 @@ # condition:"" → always run (no predicate check) $data modify storage macro:engine _dispatch.func set value "$(fn)" -execute unless data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function #macro:internal/dispatch \ No newline at end of file diff --git a/data/macro/function/core/tick/dispatch/rate_check.mcfunction b/data/macro/function/core/tick/dispatch/rate_check.mcfunction index d81a1fbb..1405734a 100644 --- a/data/macro/function/core/tick/dispatch/rate_check.mcfunction +++ b/data/macro/function/core/tick/dispatch/rate_check.mcfunction @@ -20,5 +20,5 @@ execute if score #check macro.tick matches ..-1 run scoreboard players operation execute unless score #check macro.tick matches 0 run return 0 # Passed → execute channel function -execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel -execute if data storage macro:tick_work channel.condition run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file +execute if data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec with storage macro:tick_work channel +execute unless data storage macro:tick_work channel{condition:""} run function macro:core/tick/dispatch/exec2 with storage macro:tick_work channel \ No newline at end of file diff --git a/data/macro/function/tick.mcfunction b/data/macro/function/tick.mcfunction index 310c2419..1ce60fbf 100644 --- a/data/macro/function/tick.mcfunction +++ b/data/macro/function/tick.mcfunction @@ -10,8 +10,10 @@ execute unless entity @a run return 0 # Guard: engine not initialised execute unless data storage macro:engine global{loaded:1b} run return 0 +# Online player count — kept for compatibility +execute store result score #online macro.onlinePlayers if entity @a + # Guard: globally paused (macro:core/tick/pause / macro:core/tick/resume) execute if data storage macro:engine tick{paused:1b} run return 0 -# Online player count — kept for compatibility -execute store result score #online macro.onlinePlayers if entity @a \ No newline at end of file +execute as @a run function macro:core/tick/dispatch \ No newline at end of file