Skip to content

fix: remove debug tellraw from progress_bar_self#90

Merged
asn44nb merged 3 commits into
mainfrom
fix/overlay-consistency-bugs
Jun 15, 2026
Merged

fix: remove debug tellraw from progress_bar_self#90
asn44nb merged 3 commits into
mainfrom
fix/overlay-consistency-bugs

Conversation

@asn44nb

@asn44nb asn44nb commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Removes the tellraw @a[tag=datalib.debug] line from systems/string/progress_bar_self.

Progress bar is a hot-path function called every tick per player — the debug tellraw fires on every invocation regardless of any condition, causing unnecessary chat spam and performance overhead even in production.

github-actions Bot added 3 commits June 15, 2026 09:23
…d 26_2)

Bug 1 — 1_20_3/validate: patch version check was 'matches 1' instead of 'matches 2' (v5.1.2)
  → false mismatch on any server that previously ran 5.1.1 and reloaded after 5.1.2 update

Bug 2 — 1_20_5/validate: same wrong patch check ('matches 1' → 'matches 2')

Bug 3 — 1_20_3/version_warn: debug line showed '(expected: 4 0 4 pre=0)' (stale v4.0.4)
  → fixed to '(expected: 5 1 2 pre=0)'; also fixed truncated hoverEvent value 'Reload Dat' → 'Reload DataLib'

Bug 4 — 1_20_5/version_warn: 'to reinitialize AME.' (copy-paste from macroEngine)
  → fixed to 'dataLib'; same truncated hover + stale expected version fixed

Overlay consistency — 1_21_5 and 26_2 version_warn also carried stale '(expected: 4 0 2 pre=0)'
  → fixed to '(expected: 5 1 2 pre=0)' in both overlays

Workflow — build.yml: 26_2 was missing from OVERLAY_DIRS and ALL_OVERLAYS
  → base-layer rsync did NOT exclude 26_2 (its files leaked into all targeted builds)
  → full build did NOT copy 26_2 overlay directory at all
  → added 26_2 to both lists
Bug 1 — color/from_score: hardcoded # prefix breaks real player targeting
  Macro lines used `#$(player)` which always makes it a fake player score
  target. A caller passing player="Steve" would check score of "#Steve".
  Removed the hardcoded #; callers include # themselves for fake players.
  Updated docstring accordingly.

Bug 2 — color/validate_exec: invalid macro key in inline NBT compound
  `$execute if data ... color._names{$(color):1b}` is invalid — macro
  substitution cannot be used as a key inside a `{key:value}` literal.
  Fixed to use NBT path syntax: `color._names.$(color)` which IS valid
  macro substitution in a path argument position.

Bug 3 — color/resolve: wrong `with storage` target loses $(color) arg
  Called `resolve_exec with storage datalib:engine color` which passes the
  color compound {palette:{...}, gradients:{...}} as macro source.
  resolve_exec looks for key `color` in that compound — it doesn't exist,
  so $(color) is undefined and the function call aborts silently.
  Fix: write $(color) into a temp compound first, then call resolve_exec
  with that temp so the key is present and correct.

Bug 4 — gamerule/set,get,reset: check_all guard always blocks
  All three functions used `check_all` as their execution guard.
  check_all includes input_check (the full 25-section validation pipeline)
  which at Section 4 requires `datalib:input.func` to be set.
  The gamerule API doesn't use the func-dispatch system, so func is never
  set → input_check always returns 0 → check_all returns 0 → the gamerule
  functions are completely non-functional (always blocked).
  Fixed by replacing check_all with cmd_gate in all three functions.
  cmd_gate only checks engine load state and permission level — correct for
  direct API calls that don't go through the dispatch engine.
@asn44nb asn44nb merged commit f54c220 into main Jun 15, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant