-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
β Home
Full detailed changelog: docs/CHANGELOG.md
Dispatch Safety Refactor β All internal callback dispatch is now routed through a single auditable gateway.
-
New module:
macro:core/dispatch/β central function dispatch hub.-
core/dispatch/runβ readsmacro:engine._dispatch.funcfrom storage and invokesexec. -
core/dispatch/execβ the only file in AME that executes$function $(func). Never call directly.
-
-
New tag:
#macro:internal/dispatchβ["macro:core/dispatch/run"]. Override this tag in your own overlay/pack to inject validation or audit logging at the dispatch layer without touching call sites. -
Eliminated all
$function $(func)occurrences from 29 call sites across the codebase (fiber, hook, queue, schedule, repeat, once, logic/if_*, for_each, geo, wand, trigger, uuid, region_watch, tick channels) and replaced with the_dispatch.funcwrite + tag call pattern. -
Mirrored to all legacy overlays:
1_20_3,1_20_5. -
Intentional exceptions (unchanged):
multi_cmd/exec_func_macro(list-based),execute_validated/run(pre-validated, needswith storage macro:input {}),debug/tools/trigger/internal/exec_func(two-part$(ns):$(path)construction).
Pack authors: the public API (
macro:input/macro:output) is unchanged. This refactor is internal only.
Load Confirmation Gate β ame_load:load/confirm / yes / no / timeout. Storage is never written until an admin confirms. Prevents silent data loss on /reload.
Dangerous Command Gate β ban, ban_ip, disable now go through ame_load:gate/ with 30-second auto-cancel.
Storage Safety β storages.mcfunction uses execute unless data guards on all fields.
Marker Entity Pattern β All gate messages use summon marker β say β kill for reliable server-log output on headless servers.
StringLib Integration β StringLib (CMDred, MIT) bundled directly. Access via macro:core/lib/string/* wrappers: concat, find, replace, split, insert, to_lowercase, to_uppercase, to_number, to_string.
New overlay: 1_20_5 (pack_format 41β47).
New: math/mul_div β overflow-safe aΓbΓ·c.
New overlay: 1_20_3 (pack_format 26).
New: queue/ multi-command queue system.
New: All hook advancements for 1_20_3 and 1_20_5 overlays.
New: spyglass.json static analysis config.
Fix: Trigger system unified into dispatch hub.
New: time/get_time, time/time_phase, hook/reset_all.
Fix: Version string mismatch in all overlays (v4.0.1 β v3.0.1).
Breaking: rate_limit module fully rewritten β sub-function API removed. New check / tick / config pure-scoreboard API.
New: cooldown/pause, cooldown/resume, player/is_flying, string/repeat.
New: entity/for_each_in_radius, player/is_on_ground, player/is_burning, inv/offhand_item, world/get_time, nbt/merge, nbt/first, flag/set_if, flag/any.
New: math/round, math/sign_nonzero, string/truncate, string/pluralize, player/get_armor, player/is_sneaking, player/is_sprinting, entity/clear_effects, entity/set_health, entity/nearest, flag/set_if, flag/any.
New overlay: 1_20_3 compatibility fixes (predicates, loot tables, advancement display).
New: cmd/swing, cmd/time_of, cmd/set_clock_rate.
Fix: Spurious Unknown function errors, wand/register errors, silent dialog fail.
New modules: lib/fiber/ (cooperative concurrency), math/vec/ (3D vectors), geo/region_watch/ (persistent region triggers), lib/batch/ (tick-spread processing).
New hook events: dimension_change, trade, advancement:<id>.
New: wand/ module β carrot-on-a-stick right-click detection with bind/unbind/cooldown system.
Fix: ame_load:load/internal/validate version mismatch on reload.
Fix: macro:api/cmd/save-all etc. wrapped via run_self to avoid single-player parse error.
Renamed overlay: -1_21_4 β compat_1_21_4.
New: macro:version function, uuid/ module, math/lerp_clamped, cooldown/extend, state/toggle, event/fire_as, string/format_ticks, player/get_dimension.
New: Scheduler cmd variant functions (lib/schedule_cmd, lib/wait_cmd, etc.).
Fix: tools/utils/input_check version comparison (uppercase V β lowercase v).
New: Player PID system β unique integer IDs for duplicate-name-safe targeting.
Fix: math/random distribution bias removed.
New: perm/ permission system (grant/revoke/check/run/exec).
New: perm/trigger/ β permission-protected named triggers.
New: Multi-command system, flag/open_toggle_system_menu.
New: Flag-controlled tick subsystem (5 independently-togglable subsystems).
Fix: flag/toggle_system macro variable conflict, double-execute race condition.
Breaking: action key β callback, then β invoke (v1.0.6-pre2).
Fix: dialog/close unreachable code after return run.
New: Log system (log/*), tick-guard (lib/tick_guard), trigger system (trigger/*).
Initial release. Auto-HUD, string/progress_bar, load/warn dialog, base API.