Skip to content
This repository was archived by the owner on Apr 18, 2026. It is now read-only.

Releases: tickwarden/macroEngine-datapack

macroEngine v4.0.2-fix1

16 Apr 13:34
bfc4853

Choose a tag to compare

macroEngine v4.0.2

16 Apr 10:30
70cc3f3

Choose a tag to compare

macroEngine v4.0.1

16 Apr 08:24
5147f6b

Choose a tag to compare

✨ Yeni

Load Confirmation Gate (ame_load:load/confirm, yes, no, timeout)

ame_load:_ (Stage 0) artık ame_load:load/all'u direkt çağırmıyor.

Bunun yerine bir onay kapısı açıyor:

  • ame_load:load/confirm#pending ame.load flag'ini ayarlar, marker entity aracılığıyla talimatları yayınlar, 5 dakikalık timeout'u schedule'lar
  • ame_load:load/yes — admin onayı, tam init pipeline'ını çalıştırır
  • ame_load:load/no — iptal, macro:engine storage'a dokunulmaz
  • ame_load:timeout — 5 dakika yanıt gelmezse otomatik iptal (load/no'ya delegate)

Problem çözülüyor:
minecraft:load tag'i hem /reload'da hem de dünya açılışında tetiklenir. Önceki davranış: mevcut session verisini (permissions, flags, wand binds, vb.) koşulsuz data modify ... set value ile üzerine yazıyordu → nondeterministic state + sessiz veri kaybı.

Yeni davranış: Onay gelmeden macro:engine storage'a hiçbir şey yazılmaz.

Marker Entity Pattern (say yerine tellraw)

Tüm gate mesajları summon marker → say → kill @s pattern'ini kullanıyor.

Neden: tellraw @a + clickEvent, server başlangıcında güvenilmez:

  • minecraft:load tetiklendiğinde client connection pipeline henüz tamamlanmamış olabilir
  • Sıfır oyuncu online olabilir (unattended/headless server)
  • Marker say, server loguna doğrudan yazar — her koşulda çalışır

Dangerous Command Gate (ame_load:gate/)

Üç yıkıcı komut artık anında çalışmıyor — onay gerektiriyor:

Komut Değişiklik
macro:cmd/ban pending_gate'e yazar → gate/request açar
macro:cmd/ban_ip pending_gate'e yazar → gate/request açar
macro:disable pending_gate'e yazar → gate/request açar

Onaylama: /function ame_load:gate/yes
İptal: /function ame_load:gate/no
Auto-cancel: 30 saniye yanıt gelmezse otomatik

Gate executor'ları: ame_load:gate/exec/ban, gate/exec/ban_ip, gate/exec/disable

Yeni komutlar için ame_load:gate/exec/ altına executor yazılır, gate/yes.mcfunction'a dispatch satırı eklenir.

Storage Safety — storages.mcfunction

ame_load:load/storages'daki her alan artık execute unless data storage macro:engine X run ... guard'ı kullanıyor. Kasıtlı olarak sıfırlanan alanlar (fibers._pending, region_watches, batches) inline açıklama ile belgelenmiş.


macroEngine v4.0.0-fix2

15 Apr 13:54
6442ab9

Choose a tag to compare

macroEngine v4.0.0-fix1

15 Apr 13:28
bc1eedb

Choose a tag to compare

macroEngine v4.0.0

14 Apr 18:43
b441da1

Choose a tag to compare

✨ Yeni

Load Confirmation Gate (ame_load:load/confirm, yes, no, timeout)

ame_load:_ (Stage 0) artık ame_load:load/all'u direkt çağırmıyor.

Bunun yerine bir onay kapısı açıyor:

  • ame_load:load/confirm#pending ame.load flag'ini ayarlar, marker entity aracılığıyla talimatları yayınlar, 5 dakikalık timeout'u schedule'lar
  • ame_load:load/yes — admin onayı, tam init pipeline'ını çalıştırır
  • ame_load:load/no — iptal, macro:engine storage'a dokunulmaz
  • ame_load:timeout — 5 dakika yanıt gelmezse otomatik iptal (load/no'ya delegate)

Problem çözülüyor:
minecraft:load tag'i hem /reload'da hem de dünya açılışında tetiklenir. Önceki davranış: mevcut session verisini (permissions, flags, wand binds, vb.) koşulsuz data modify ... set value ile üzerine yazıyordu → nondeterministic state + sessiz veri kaybı.

Yeni davranış: Onay gelmeden macro:engine storage'a hiçbir şey yazılmaz.

Marker Entity Pattern (say yerine tellraw)

Tüm gate mesajları summon marker → say → kill @s pattern'ini kullanıyor.

Neden: tellraw @a + clickEvent, server başlangıcında güvenilmez:

  • minecraft:load tetiklendiğinde client connection pipeline henüz tamamlanmamış olabilir
  • Sıfır oyuncu online olabilir (unattended/headless server)
  • Marker say, server loguna doğrudan yazar — her koşulda çalışır

Dangerous Command Gate (ame_load:gate/)

Üç yıkıcı komut artık anında çalışmıyor — onay gerektiriyor:

Komut Değişiklik
macro:cmd/ban pending_gate'e yazar → gate/request açar
macro:cmd/ban_ip pending_gate'e yazar → gate/request açar
macro:disable pending_gate'e yazar → gate/request açar

Onaylama: /function ame_load:gate/yes
İptal: /function ame_load:gate/no
Auto-cancel: 30 saniye yanıt gelmezse otomatik

Gate executor'ları: ame_load:gate/exec/ban, gate/exec/ban_ip, gate/exec/disable

Yeni komutlar için ame_load:gate/exec/ altına executor yazılır, gate/yes.mcfunction'a dispatch satırı eklenir.

Storage Safety — storages.mcfunction

ame_load:load/storages'daki her alan artık execute unless data storage macro:engine X run ... guard'ı kullanıyor. Kasıtlı olarak sıfırlanan alanlar (fibers._pending, region_watches, batches) inline açıklama ile belgelenmiş.


macroEngine v3.0.4-fix3

14 Apr 12:56
01d3029

Choose a tag to compare

macroEngine v3.0.4-fix2

14 Apr 12:49
7ecb8d6

Choose a tag to compare

macroEngine v3.0.4-pre1

12 Apr 16:19
3d1d2be

Choose a tag to compare

✨ Yeni

macro:lib/string/* — StringLib Entegrasyonu

StringLib (CMDred, MIT) bağımlılık olarak bundle'landı. data/stringlib/ namespace ve Lantern Load altyapısı doğrudan pake eklendi.

AME namespace'inden erişim için macro:lib/string/ wrapper API'si eklendi:

Fonksiyon Input alanları Output
lib/string/concat list string.result
lib/string/find string, find, n string.result (index listesi)
lib/string/replace string, find, replace, n string.result
lib/string/split string, separator, n, keep_empty string.result
lib/string/insert string, insertion, index string.result
lib/string/to_lowercase string string.result (A-Z)
lib/string/to_lowercase_full string string.result (tam Unicode)
lib/string/to_uppercase string string.result (a-z)
lib/string/to_uppercase_full string string.result (tam Unicode)
lib/string/to_number string string.result
lib/string/to_string value string.result

Tüm fonksiyonlar macro:inputstringlib:inputstringlib:outputmacro:output string.result bridge pattern'ini kullanır. StringLib'in $(macro) variable beklediği fonksiyonlar için lib/string/internal/*_dispatch köprü dosyaları eklendi.

Load sırasında #StringLib.Init kontrolü yapılır; eksikse macro.debug tag'li oyunculara uyarı gösterilir.


v3.0.3 — 2026-04-11

✨ Yeni

Yeni Overlay: 1_20_5

1.20.5–1.20.6 (pack_format 48) için tam overlay.

math/mul_div — Overflow-safe a*b/c


v3.0.2 — 2026-04-10

✨ Yeni

Yeni Overlay: 1_20_3

1.20.3 / 1.20.4 (pack_format 26) için tam overlay. Load sistemi, scoreboardlar, storage'lar, damage type'lar, tüm modül dosyaları dahil.

queue/ — Multi-Cmd Kuyruk Yönetimi

Fonksiyon Açıklama
queue/clear Tüm kuyruğu temizler
queue/flush Kuyruktaki tüm komutları hemen çalıştırır
queue/internal/exec_next Sıradaki komutu işler
queue/internal/exec_as execute as context'iyle komut çalıştırır
queue/internal/exec_fn Fonksiyon olarak kaydedilmiş komutu çalıştırır

Trigger Yeniden Yazımı (Fix [#8])

trigger/bind, trigger/bind_cmd, trigger/disable, trigger/enable, trigger/list, trigger/unbind, trigger/unbind_all alt dosyaları kaldırıldı. Yerini unified trigger.mcfunction (dispatch hub) ve yeni trigger/execute.mcfunction + trigger/internal/dispatch.mcfunction aldı.

multi_cmd_adv.mcfunction

Base ve 1_20_3 overlay'ine cmd/other/multi_cmd_adv eklendi.

1_20_3 Hook Advancement'ları (Fix [#6])

break_block, dimension_change, entity_kill, hero_of_the_village, item_use, killed_by_arrow, placed_block, trade + hidden/root + template/task|goal|challenge

1_20_3 Hook Olayları (Fix [#7])

eat_food, fish_caught, interact_anvil, interact_shulker_box, player_death advancement'ları + internal handler'lar: on_eat, on_eat_fire, on_fish_caught, on_fish_fire, tick_scan güncellemesi

1_20_5 Hook Advancement'ları ve Olayları (Fix [#5])

Tüm hook advancement'ları + player_death. on_open_chest, tick_scan, on_interact_anvil, on_interact_shulker_box, raycast/loop, raycast/start, bind_exec, unbind_exec, on_advancement_fire, on_eat, on_fish_caught, on_fish_fire düzeltmeleri.

spyglass.json

Statik analiz yapılandırma dosyası eklendi.

🐛 Düzeltilen Hatalar

Dosya Düzeltme
string/score_display (base) Yanlış çıktı düzeltildi
tools/utils/input_check (base, 1_20_3) Doğrulama mantığı düzeltildi

⚙️ Değişiklikler

  • pack.mcmeta: 1_20_3 overlay girişi eklendi; supported_formats aralığı güncellendi
  • Tüm overlay'lerde versiyon stringleri v3.0.2 olarak güncellendi

v3.0.1 — 2026-04-09

✨ Yeni Fonksiyonlar

Fonksiyon Açıklama
time/get_time Mevcut dünya zamanını (daytime, total, day) macro:output'a yazar
time/time_phase Gün fazını döndürür (day / night / sunrise / sunset)
hook/reset_all Tüm kayıtlı hook bind'larını temizler

🐛 Düzeltilen Hatalar

Hata Düzeltme
Fix [#4]: validate.mcfunction ve version_warn.mcfunction load sırasında yanlış versiyon string'i gösteriyordu Tüm overlay'lerde (1_20_3, 1_21_5, 1_21_6, compat_1_21_4, base) düzeltildi
Fix [#3]: version.mcfunction overlay'lerde versiyon uyuşmazlığı Tüm overlay'lerde düzeltildi
Fix [#2]: .gitignore yanlış dosyayı track ediyordu Düzeltildi
Fix [#1]: .gitignore dosyası sorunu Düzeltildi
docs/lib-player-cmd-string.md: Yanlış parametre anahtarı belgelenmiş Düzeltildi

⚙️ Değişiklikler

  • cursor_item.mcfunctioncursor_item_exec.mcfunction'dan yeniden adlandırıldı; mantık sadeleştirildi
  • inv/selected_item, inv/offhand_item, inv/chest_minecart_if_item, inv/chest_minecart_unless_item — macro parametre işleme güncellendi
  • Tüm overlay'lerde versiyon stringleri v3.0.1 olarak güncellendi

v3.0.0 — 2026-04-04

💥 Breaking Changes

  • rate_limit modülü tamamen yeniden yazıldı. Eski alt fonksiyon tabanlı yapı kaldırıldı; artık saf scoreboard implementasyonu kullanılıyor (check / tick / config API). 1_20_3, 1_21_5, 1_21_6 overlay'lerinden rate_limit kaldırıldı — yalnızca base overlay üzerinden çalışıyor.

✨ Yeni

  • rate_limit modülü: check, tick, config — sıfır alt fonksiyon, pure scoreboard
  • admin_systems.mcfunction güncellendi

⚙️ Değişiklikler

  • Load sistemi tüm overlay'lerde yeniden yapılandırıldı
  • Versiyon stringleri v3.0.0 olarak güncellendi

v2.2.9 — 2026-04-04

✨ New Features

Module Functions Description
cooldown/ pause, resume Freezes an active cooldown and restores it later with the original remaining duration
player/ is_flying Checks if a named player is currently flying (abilities:{flying:1b})
string/ repeat + internal/repeat_1..16 Repeats a single character N times (1–16) into macro:output result

v2.2.8 — 2026-04-03

✨ Yeni Fonksiyonlar

entity/

Fonksiyon Girdi Çıkış Açıklama
entity/for_each_in_radius {player, type, radius, func} Belirtilen type entity'lerini player etrafındaki radius blok içinde iterate eder ve her biri için func'ı çalıştırır. entity/for_each'in radius filtreli versiyonu.

player/

Fonksiyon Girdi Çıkış Açıklama
player/is_on_ground {player} result (1b/0b), found macro:is_on_ground predicate ile oyuncunun yerde olup olmadığını kontrol eder.
player/is_burning {player} result (1b/0b), found macro:is_burning predicate ile oyuncunun ateşte olup olmadığını kontrol eder.

inv/

Fonksiyon Girdi Çıkış Açıklama
inv/offhand_item {item, customData, invoke} Offhand slotunda belirtilen item + custom_data eşleşen tüm oyuncular için invoke'u çalıştırır. inv/selected_item (mainhand) ile aynı pattern.

world/

Fonksiyon Girdi Çıkış Açıklama
world/get_time daytime (0–23999), total, day Mevcut oyun saatini macro:output'a yazar. daytime: günün kaçıncı tick'i, total: toplam dünya yaşı, day: gün sayısı.

v2.2.7 — 2026-04-02

✨ Yeni Fonksiyonlar

math/

Fonksiyon Girdi Çıkış Açıklama
math/round {value, step} macro:output result value'yu en yakın step katına yuvarlar. Negatif değerler için sıfırdan uzağa yuvarlar. step ≤ 0 ise return fail.
math/sign_nonzero {value} macro:output result Negatifler için -1, sıfır ve pozitifler için 1 döndürür. Yön çarpanı gereken durumlarda math/sign'ın sıfır üretmediği alternatifi.

string/

macroEngine v3.0.4-fix1

12 Apr 16:54

Choose a tag to compare