Releases: ToolkitMC/macroEngine-dp
macroEngine v3.0.1-pre2-fix1
Full Changelog: v3.0.1-pre2...v3.0.1-pre2-fix1
macroEngine v3.0.1-pre2
Full Changelog: v3.0.1-pre1...v3.0.1-pre2
macroEngine v3.0.1-pre1
What's Changed
- Add player/run_as_uuid macros and fix 1.20.3 overlay NBT syntax by @tickwarden in #13
Full Changelog: v3.0.0...v3.0.1-pre1
macroEngine v3.0.0
Full Changelog: v2.2.9...v3.0.0
macroEngine v2.2.9
✨ 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/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
string/truncate |
{player, text, suffix, truncated} |
macro:output text |
Oyuncunun actionbar'ına text yazar; truncated:1b ise suffix ekler. mcfunction runtime'da string uzunluğu ölçemediğinden truncation kararı çağıran tarafından verilir. |
string/pluralize |
{count, singular, plural} |
macro:output result, macro:output count |
count == 1 ise singular, aksi hâlde plural döndürür. |
player/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
player/get_armor |
{player} |
result (int), toughness (int ×1000), found |
minecraft:armor ve minecraft:armor_toughness attribute base değerlerini döndürür. |
player/is_sneaking |
{player} |
result (1b/0b), found |
macro:is_sneaking predicate ile çömelme durumunu kontrol eder. |
player/is_sprinting |
{player} |
result (1b/0b), found |
macro:is_sprinting predicate ile sprint durumunu kontrol eder. |
entity/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
entity/clear_effects |
{type, tag} |
— | type + tag filtresiyle eşleşen tüm entity'lerden aktif efektleri temizler. |
entity/set_health |
{type, tag, amount} |
— | Önce instant_damage 255 ile HP'yi sıfırlar, ardından instant_health amplifier'ı amount olarak uygular. 1.20.5+ entity NBT direct write kaldırıldığından effect tabanlı yaklaşım kullanılır. |
entity/nearest |
{player, type, radius, func} |
— | Oyuncuya en yakın type entity'yi bulur ve func'ı o entity olarak çalıştırır. |
nbt/
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
nbt/merge |
{src_storage, src_path, dst_storage, dst_path} |
src_path compound'ını dst_path'e merge eder; mevcut key'ler üzerine yazılır, eksik key'ler eklenir. |
nbt/first |
{src_storage, src_path, dst_storage, dst_path} |
src_path listesinin [0] elemanını dst_path'e kopyalar. Liste boşsa sessizce başarısız olur. |
flag/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
flag/set_if |
{key, score_holder, objective, matches} |
macro:output result |
Scoreboard koşulu sağlanırsa flag'i set eder. matches MC range syntax'ını destekler (1.., ..0, 2..5). |
flag/any |
{key_a, key_b} |
result, result_a, result_b |
İki flag'den herhangi biri set edilmişse result:1b döndürür. Sonuç flag'leri doğrudan macro:engine flags.* üzerinden okunur (0b path bulunsa bile false negatif vermez). |
🐛 Düzeltilen Hatalar (yeni dosyalarda)
| Dosya | Hata | Düzeltme |
|---|---|---|
string/truncate |
data get storage <string> → her zaman 1 döner, uzunluk ölçmez |
String length hesabı kaldırıldı; truncated parametresi çağıran tarafından belirlenir |
string/pluralize |
Storage key _plr_p macro.tmp → nokta path olarak parse edilir (_plr_p.macro compound, tmp inner key) |
Key adları _plr_singular / _plr_plural olarak düzeltildi |
entity/set_health |
data modify entity @s Health set value $(amount)f → entity NBT direct write 1.20.5+ kaldırıldı |
instant_damage 255 + instant_health $(amount) effect zinciriyle değiştirildi |
flag/any |
execute if data storage macro:output result_a → path 0b ile set edilmiş olsa bile varlık kontrolü true döner |
flags.$(key) doğrudan scoreboard üzerinden kontrol edilecek şekilde yeniden yazıldı |
v2.2.6 — 2026-03-30
♻️ 1.20.x Overlay (1_20_3) Eklendi
| Özellik | Açıklama |
|---|---|
| Overlay sistemi | 1_20_3 eklendi |
| Component → NBT | 1.21+ item components kaldırıldı |
| Legacy uyum | Tüm item işlemleri NBT tabanına geri alındı |
| İzolasyon | Overlay artık root pack’ten bağımsız |
🧩 Compatibility Fixes
| Sorun | Düzeltme |
|---|---|
| Predicates "Not a json array" hatası | Array formatına çevrildi |
| Loot table parse hataları | 1.20.3 formatına uyarlandı |
| Advancement display hataları | icon → item düzeltildi |
| Version mismatch | v2.2.4 kalıntıları temizlendi |
📦 Data Pack Structure
| Sorun | Düzeltme |
|---|---|
| Yanlış klasör isimleri | 1.20.x çoğul yapı düzeltildi (functions, loot_tables, vb.) |
| Modern klasör kalıntıları | Overlay içinden kaldırıldı |
| pack.mcmeta uyumsuzluğu | 1.20.3 formatına uyarlandı |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
minecraft:test_block hatası |
Kaldırıldı |
| Bozuk JSON dosyaları | Düzeltildi |
| Predicate/loot parse crash'leri | Fixlendi |
⚙️ Internal
| Değişiklik | Açıklama |
|---|---|
| Version sistemi | v2.2.6 olarak güncellendi |
| Debug kalıntıları | Temizlendi |
| Overlay yükleme | Stabil hale getirildi |
v2.2.2
✨ Yeni cmd/ komutları
| Komut | Parametreler |
|---|---|
cmd/swing |
{player,hand} |
cmd/time_of |
{clock,action,value} |
cmd/set_clock_rate |
{rate} |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
is_daytime.json 26.1'da hata veriyordu |
Düzeltildi |
v2.2.1 — 2026-03-23
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
| Gereksiz 'Bilinmeyen fonksiyon' hataları | Düzeltildi |
Gereksiz wand/register hataları |
Tüm satırlar yeniden yazıldı |
| Dialog yoksa sessiz fail hataları | Düzeltildi |
v2.2.0-en — 2026-03-22
Changes
- Translated all Turkish comments, docstrings, and in-game strings to English.
v2.2.0-en — 2026-03-22
✨ Yeni Modüller
| Modül | Açıklama |
|---|---|
lib/fiber/ |
Kooperatif eş zamanlılık — spawn, yield, resume, kill, is_alive |
math/vec/ |
3B vektör aritmetiği — add, sub, dot, cross, normalize, angle_between |
geo/region_watch/ |
Kalıcı bölge tetikleyicileri — register, unregister, list, on_enter, on_leave |
lib/batch/ |
Tick'e yayılmış toplu işlem — begin, add, flush, cancel |
✨ hook/ Genişletme
Yeni olay desteği: dimension_change, trade, advancement:<id> (özel advancement'lar için on_advancement_fire API'si).
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
advancement/hook/trade.json — traded_with_villager 1.21.x'te kaldırılmış |
villager_trade yapıldı |
math/vec/internal/arccos_lookup — trailing space after .. |
Tüm satırlar yeniden yazıldı |
math/vec/internal/angle_exec — trailing space after 1001.. |
Kaldırıldı |
geo/region_watch/internal/check_region — space-separated NBT subpath |
Dot notation (_rw_cur.on_enter) yapıldı |
lib/batch/internal/flush_loop — space-separated NBT subpath |
Dot notation yapıldı |
lib/batch/internal/add_exec — space-separated NBT subpath |
Dot notation yapıldı |
v2.1.2 — 2026-03-19
✨ Yeni Modül: wand/
macroEngine v2.2.8
✨ 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/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
string/truncate |
{player, text, suffix, truncated} |
macro:output text |
Oyuncunun actionbar'ına text yazar; truncated:1b ise suffix ekler. mcfunction runtime'da string uzunluğu ölçemediğinden truncation kararı çağıran tarafından verilir. |
string/pluralize |
{count, singular, plural} |
macro:output result, macro:output count |
count == 1 ise singular, aksi hâlde plural döndürür. |
player/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
player/get_armor |
{player} |
result (int), toughness (int ×1000), found |
minecraft:armor ve minecraft:armor_toughness attribute base değerlerini döndürür. |
player/is_sneaking |
{player} |
result (1b/0b), found |
macro:is_sneaking predicate ile çömelme durumunu kontrol eder. |
player/is_sprinting |
{player} |
result (1b/0b), found |
macro:is_sprinting predicate ile sprint durumunu kontrol eder. |
entity/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
entity/clear_effects |
{type, tag} |
— | type + tag filtresiyle eşleşen tüm entity'lerden aktif efektleri temizler. |
entity/set_health |
{type, tag, amount} |
— | Önce instant_damage 255 ile HP'yi sıfırlar, ardından instant_health amplifier'ı amount olarak uygular. 1.20.5+ entity NBT direct write kaldırıldığından effect tabanlı yaklaşım kullanılır. |
entity/nearest |
{player, type, radius, func} |
— | Oyuncuya en yakın type entity'yi bulur ve func'ı o entity olarak çalıştırır. |
nbt/
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
nbt/merge |
{src_storage, src_path, dst_storage, dst_path} |
src_path compound'ını dst_path'e merge eder; mevcut key'ler üzerine yazılır, eksik key'ler eklenir. |
nbt/first |
{src_storage, src_path, dst_storage, dst_path} |
src_path listesinin [0] elemanını dst_path'e kopyalar. Liste boşsa sessizce başarısız olur. |
flag/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
flag/set_if |
{key, score_holder, objective, matches} |
macro:output result |
Scoreboard koşulu sağlanırsa flag'i set eder. matches MC range syntax'ını destekler (1.., ..0, 2..5). |
flag/any |
{key_a, key_b} |
result, result_a, result_b |
İki flag'den herhangi biri set edilmişse result:1b döndürür. Sonuç flag'leri doğrudan macro:engine flags.* üzerinden okunur (0b path bulunsa bile false negatif vermez). |
🐛 Düzeltilen Hatalar (yeni dosyalarda)
| Dosya | Hata | Düzeltme |
|---|---|---|
string/truncate |
data get storage <string> → her zaman 1 döner, uzunluk ölçmez |
String length hesabı kaldırıldı; truncated parametresi çağıran tarafından belirlenir |
string/pluralize |
Storage key _plr_p macro.tmp → nokta path olarak parse edilir (_plr_p.macro compound, tmp inner key) |
Key adları _plr_singular / _plr_plural olarak düzeltildi |
entity/set_health |
data modify entity @s Health set value $(amount)f → entity NBT direct write 1.20.5+ kaldırıldı |
instant_damage 255 + instant_health $(amount) effect zinciriyle değiştirildi |
flag/any |
execute if data storage macro:output result_a → path 0b ile set edilmiş olsa bile varlık kontrolü true döner |
flags.$(key) doğrudan scoreboard üzerinden kontrol edilecek şekilde yeniden yazıldı |
v2.2.6 — 2026-03-30
♻️ 1.20.x Overlay (1_20_3) Eklendi
| Özellik | Açıklama |
|---|---|
| Overlay sistemi | 1_20_3 eklendi |
| Component → NBT | 1.21+ item components kaldırıldı |
| Legacy uyum | Tüm item işlemleri NBT tabanına geri alındı |
| İzolasyon | Overlay artık root pack’ten bağımsız |
🧩 Compatibility Fixes
| Sorun | Düzeltme |
|---|---|
| Predicates "Not a json array" hatası | Array formatına çevrildi |
| Loot table parse hataları | 1.20.3 formatına uyarlandı |
| Advancement display hataları | icon → item düzeltildi |
| Version mismatch | v2.2.4 kalıntıları temizlendi |
📦 Data Pack Structure
| Sorun | Düzeltme |
|---|---|
| Yanlış klasör isimleri | 1.20.x çoğul yapı düzeltildi (functions, loot_tables, vb.) |
| Modern klasör kalıntıları | Overlay içinden kaldırıldı |
| pack.mcmeta uyumsuzluğu | 1.20.3 formatına uyarlandı |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
minecraft:test_block hatası |
Kaldırıldı |
| Bozuk JSON dosyaları | Düzeltildi |
| Predicate/loot parse crash'leri | Fixlendi |
⚙️ Internal
| Değişiklik | Açıklama |
|---|---|
| Version sistemi | v2.2.6 olarak güncellendi |
| Debug kalıntıları | Temizlendi |
| Overlay yükleme | Stabil hale getirildi |
v2.2.2
✨ Yeni cmd/ komutları
| Komut | Parametreler |
|---|---|
cmd/swing |
{player,hand} |
cmd/time_of |
{clock,action,value} |
cmd/set_clock_rate |
{rate} |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
is_daytime.json 26.1'da hata veriyordu |
Düzeltildi |
v2.2.1 — 2026-03-23
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
| Gereksiz 'Bilinmeyen fonksiyon' hataları | Düzeltildi |
Gereksiz wand/register hataları |
Tüm satırlar yeniden yazıldı |
| Dialog yoksa sessiz fail hataları | Düzeltildi |
v2.2.0-en — 2026-03-22
Changes
- Translated all Turkish comments, docstrings, and in-game strings to English.
v2.2.0-en — 2026-03-22
✨ Yeni Modüller
| Modül | Açıklama |
|---|---|
lib/fiber/ |
Kooperatif eş zamanlılık — spawn, yield, resume, kill, is_alive |
math/vec/ |
3B vektör aritmetiği — add, sub, dot, cross, normalize, angle_between |
geo/region_watch/ |
Kalıcı bölge tetikleyicileri — register, unregister, list, on_enter, on_leave |
lib/batch/ |
Tick'e yayılmış toplu işlem — begin, add, flush, cancel |
✨ hook/ Genişletme
Yeni olay desteği: dimension_change, trade, advancement:<id> (özel advancement'lar için on_advancement_fire API'si).
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
advancement/hook/trade.json — traded_with_villager 1.21.x'te kaldırılmış |
villager_trade yapıldı |
math/vec/internal/arccos_lookup — trailing space after .. |
Tüm satırlar yeniden yazıldı |
math/vec/internal/angle_exec — trailing space after 1001.. |
Kaldırıldı |
geo/region_watch/internal/check_region — space-separated NBT subpath |
Dot notation (_rw_cur.on_enter) yapıldı |
lib/batch/internal/flush_loop — space-separated NBT subpath |
Dot notation yapıldı |
lib/batch/internal/add_exec — space-separated NBT subpath |
Dot notation yapıldı |
v2.1.2 — 2026-03-19
✨ Yeni Modül: wand/
carrot_on_a_stick tabanlı sağ-tık wand sistemi. minecraft:custom_data ile tag'lenen item'lara fonksiyon veya komut bind edilebilir; birden fazla bind aynı tag'e eklenebilir.
Public Fonksiyonlar
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
wand/register |
{tag, func} |
Tag'e fonksiyon bind eder |
wand/register_cmd |
{tag, cmd} |
Tag'e komut bind eder |
wand/unregister |
macro:input {tag} |
Tag'e ait tüm bind'ları kaldırır |
wand/unregister_all |
— | Tüm wand bind'larını temizler |
wand/give |
{player, tag, name} |
Oyuncunun mainhand'ine wand verir |
macroEngine v2.2.7
✨ 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/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
string/truncate |
{player, text, suffix, truncated} |
macro:output text |
Oyuncunun actionbar'ına text yazar; truncated:1b ise suffix ekler. mcfunction runtime'da string uzunluğu ölçemediğinden truncation kararı çağıran tarafından verilir. |
string/pluralize |
{count, singular, plural} |
macro:output result, macro:output count |
count == 1 ise singular, aksi hâlde plural döndürür. |
player/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
player/get_armor |
{player} |
result (int), toughness (int ×1000), found |
minecraft:armor ve minecraft:armor_toughness attribute base değerlerini döndürür. |
player/is_sneaking |
{player} |
result (1b/0b), found |
macro:is_sneaking predicate ile çömelme durumunu kontrol eder. |
player/is_sprinting |
{player} |
result (1b/0b), found |
macro:is_sprinting predicate ile sprint durumunu kontrol eder. |
entity/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
entity/clear_effects |
{type, tag} |
— | type + tag filtresiyle eşleşen tüm entity'lerden aktif efektleri temizler. |
entity/set_health |
{type, tag, amount} |
— | Önce instant_damage 255 ile HP'yi sıfırlar, ardından instant_health amplifier'ı amount olarak uygular. 1.20.5+ entity NBT direct write kaldırıldığından effect tabanlı yaklaşım kullanılır. |
entity/nearest |
{player, type, radius, func} |
— | Oyuncuya en yakın type entity'yi bulur ve func'ı o entity olarak çalıştırır. |
nbt/
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
nbt/merge |
{src_storage, src_path, dst_storage, dst_path} |
src_path compound'ını dst_path'e merge eder; mevcut key'ler üzerine yazılır, eksik key'ler eklenir. |
nbt/first |
{src_storage, src_path, dst_storage, dst_path} |
src_path listesinin [0] elemanını dst_path'e kopyalar. Liste boşsa sessizce başarısız olur. |
flag/
| Fonksiyon | Girdi | Çıkış | Açıklama |
|---|---|---|---|
flag/set_if |
{key, score_holder, objective, matches} |
macro:output result |
Scoreboard koşulu sağlanırsa flag'i set eder. matches MC range syntax'ını destekler (1.., ..0, 2..5). |
flag/any |
{key_a, key_b} |
result, result_a, result_b |
İki flag'den herhangi biri set edilmişse result:1b döndürür. Sonuç flag'leri doğrudan macro:engine flags.* üzerinden okunur (0b path bulunsa bile false negatif vermez). |
🐛 Düzeltilen Hatalar (yeni dosyalarda)
| Dosya | Hata | Düzeltme |
|---|---|---|
string/truncate |
data get storage <string> → her zaman 1 döner, uzunluk ölçmez |
String length hesabı kaldırıldı; truncated parametresi çağıran tarafından belirlenir |
string/pluralize |
Storage key _plr_p macro.tmp → nokta path olarak parse edilir (_plr_p.macro compound, tmp inner key) |
Key adları _plr_singular / _plr_plural olarak düzeltildi |
entity/set_health |
data modify entity @s Health set value $(amount)f → entity NBT direct write 1.20.5+ kaldırıldı |
instant_damage 255 + instant_health $(amount) effect zinciriyle değiştirildi |
flag/any |
execute if data storage macro:output result_a → path 0b ile set edilmiş olsa bile varlık kontrolü true döner |
flags.$(key) doğrudan scoreboard üzerinden kontrol edilecek şekilde yeniden yazıldı |
v2.2.6 — 2026-03-30
♻️ 1.20.x Overlay (1_20_3) Eklendi
| Özellik | Açıklama |
|---|---|
| Overlay sistemi | 1_20_3 eklendi |
| Component → NBT | 1.21+ item components kaldırıldı |
| Legacy uyum | Tüm item işlemleri NBT tabanına geri alındı |
| İzolasyon | Overlay artık root pack’ten bağımsız |
🧩 Compatibility Fixes
| Sorun | Düzeltme |
|---|---|
| Predicates "Not a json array" hatası | Array formatına çevrildi |
| Loot table parse hataları | 1.20.3 formatına uyarlandı |
| Advancement display hataları | icon → item düzeltildi |
| Version mismatch | v2.2.4 kalıntıları temizlendi |
📦 Data Pack Structure
| Sorun | Düzeltme |
|---|---|
| Yanlış klasör isimleri | 1.20.x çoğul yapı düzeltildi (functions, loot_tables, vb.) |
| Modern klasör kalıntıları | Overlay içinden kaldırıldı |
| pack.mcmeta uyumsuzluğu | 1.20.3 formatına uyarlandı |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
minecraft:test_block hatası |
Kaldırıldı |
| Bozuk JSON dosyaları | Düzeltildi |
| Predicate/loot parse crash'leri | Fixlendi |
⚙️ Internal
| Değişiklik | Açıklama |
|---|---|
| Version sistemi | v2.2.6 olarak güncellendi |
| Debug kalıntıları | Temizlendi |
| Overlay yükleme | Stabil hale getirildi |
v2.2.2
✨ Yeni cmd/ komutları
| Komut | Parametreler |
|---|---|
cmd/swing |
{player,hand} |
cmd/time_of |
{clock,action,value} |
cmd/set_clock_rate |
{rate} |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
is_daytime.json 26.1'da hata veriyordu |
Düzeltildi |
v2.2.1 — 2026-03-23
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
| Gereksiz 'Bilinmeyen fonksiyon' hataları | Düzeltildi |
Gereksiz wand/register hataları |
Tüm satırlar yeniden yazıldı |
| Dialog yoksa sessiz fail hataları | Düzeltildi |
v2.2.0-en — 2026-03-22
Changes
- Translated all Turkish comments, docstrings, and in-game strings to English.
v2.2.0-en — 2026-03-22
✨ Yeni Modüller
| Modül | Açıklama |
|---|---|
lib/fiber/ |
Kooperatif eş zamanlılık — spawn, yield, resume, kill, is_alive |
math/vec/ |
3B vektör aritmetiği — add, sub, dot, cross, normalize, angle_between |
geo/region_watch/ |
Kalıcı bölge tetikleyicileri — register, unregister, list, on_enter, on_leave |
lib/batch/ |
Tick'e yayılmış toplu işlem — begin, add, flush, cancel |
✨ hook/ Genişletme
Yeni olay desteği: dimension_change, trade, advancement:<id> (özel advancement'lar için on_advancement_fire API'si).
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
advancement/hook/trade.json — traded_with_villager 1.21.x'te kaldırılmış |
villager_trade yapıldı |
math/vec/internal/arccos_lookup — trailing space after .. |
Tüm satırlar yeniden yazıldı |
math/vec/internal/angle_exec — trailing space after 1001.. |
Kaldırıldı |
geo/region_watch/internal/check_region — space-separated NBT subpath |
Dot notation (_rw_cur.on_enter) yapıldı |
lib/batch/internal/flush_loop — space-separated NBT subpath |
Dot notation yapıldı |
lib/batch/internal/add_exec — space-separated NBT subpath |
Dot notation yapıldı |
v2.1.2 — 2026-03-19
✨ Yeni Modül: wand/
carrot_on_a_stick tabanlı sağ-tık wand sistemi. minecraft:custom_data ile tag'lenen item'lara fonksiyon veya komut bind edilebilir; birden fazla bind aynı tag'e eklenebilir.
Public Fonksiyonlar
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
wand/register |
{tag, func} |
Tag'e fonksiyon bind eder |
wand/register_cmd |
{tag, cmd} |
Tag'e komut bind eder |
wand/unregister |
macro:input {tag} |
Tag'e ait tüm bind'ları kaldırır |
wand/unregister_all |
— | Tüm wand bind'larını temizler |
wand/give |
{player, tag, name} |
Oyuncunun mainhand'ine wand verir |
wand/give_custom |
{player, item, tag, name, count} |
Özel item türüyle wand verir |
wand/give_lore |
macro:input {player, tag, name, lore, color} |
Lore ile birlikte mainhand'e wand yazar (item replace) |
wand/has |
{player, tag} |
Oyuncunun mainhand'inde belirli wand var mı → macro:output result |
wand/list |
— | Kayıtlı bind'ları macro.debug oyuncularına gösterir |
wand/cooldown_set |
{player, tag, duration} |
Wand'a cooldown uygular |
wand/cooldown_check |
{player, tag} |
Cooldown aktif mi → macro:output result |
İç Fonksiyonlar
| Fonksiyon | Açıklama |
|---|---|
wand/internal/tick_scan |
Her tick mainhand item'ı tarar, sağ-tık tespitinde dispatch çalıştırır |
wand/internal/dispatch |
Bind listesini iterate eder |
wand/internal/check_next |
Tek bind kaydını kontrol edip çalıştırır |
wand/internal/fire |
Bind func/cmd'yi çalıştırır |
wand/internal/check_item |
Mainhand'deki item'ın wand tag'ini doğrular |
wand/internal/unbind_check |
Unregister işlemi için eşleşen kaydı bulur |
wand/internal/unbind_filter |
Eşleşmeyen bind'ları yeni listeye kopyalar |
wand/internal/call_func |
Bind fonksiyonunu çalıştırır |
wand/internal/call_cmd |
Bind komutunu çalıştırır |
wand/internal/unregister_exec |
wand/unregister macro impl ($(tag)) |
wand/internal/give_lore_exec |
wand/give_lore macro impl |
Storage: macro:engine wand_binds [{tag:"...", func/cmd:"..."}]
Tick: macro:tick/player_systems → wand/internal/tick_scan
Scoreboard: macro.rightClick (minecraft.used:minecraft.carrot_on_a_stick)
⚠️ wand/unregister — Tab-Complete Notu
unregister macro variable içerdiğinden Minecraft'ın /function tab-complete'i bu fonksiyonu gizliyordu. Macro impl internal/unregister_exec'e taşındı; public wrapper $( içermiyor — listede görünür.
macroEngine v2.2.6
♻️ 1.20.x Overlay (1_20_3) Eklendi
| Özellik | Açıklama |
|---|---|
| Overlay sistemi | 1_20_3 eklendi |
| Component → NBT | 1.21+ item components kaldırıldı |
| Legacy uyum | Tüm item işlemleri NBT tabanına geri alındı |
| İzolasyon | Overlay artık root pack’ten bağımsız |
🧩 Compatibility Fixes
| Sorun | Düzeltme |
|---|---|
| Predicates "Not a json array" hatası | Array formatına çevrildi |
| Loot table parse hataları | 1.20.3 formatına uyarlandı |
| Advancement display hataları | icon → item düzeltildi |
| Version mismatch | v2.2.4 kalıntıları temizlendi |
📦 Data Pack Structure
| Sorun | Düzeltme |
|---|---|
| Yanlış klasör isimleri | 1.20.x çoğul yapı düzeltildi (functions, loot_tables, vb.) |
| Modern klasör kalıntıları | Overlay içinden kaldırıldı |
| pack.mcmeta uyumsuzluğu | 1.20.3 formatına uyarlandı |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
minecraft:test_block hatası |
Kaldırıldı |
| Bozuk JSON dosyaları | Düzeltildi |
| Predicate/loot parse crash'leri | Fixlendi |
⚙️ Internal
| Değişiklik | Açıklama |
|---|---|
| Version sistemi | v2.2.6 olarak güncellendi |
| Debug kalıntıları | Temizlendi |
| Overlay yükleme | Stabil hale getirildi |
v2.2.2
✨ Yeni cmd/ komutları
| Komut | Parametreler |
|---|---|
cmd/swing |
{player,hand} |
cmd/time_of |
{clock,action,value} |
cmd/set_clock_rate |
{rate} |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
is_daytime.json 26.1'da hata veriyordu |
Düzeltildi |
v2.2.1 — 2026-03-23
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
| Gereksiz 'Bilinmeyen fonksiyon' hataları | Düzeltildi |
Gereksiz wand/register hataları |
Tüm satırlar yeniden yazıldı |
| Dialog yoksa sessiz fail hataları | Düzeltildi |
v2.2.0-en — 2026-03-22
Changes
- Translated all Turkish comments, docstrings, and in-game strings to English.
v2.2.0-en — 2026-03-22
✨ Yeni Modüller
| Modül | Açıklama |
|---|---|
lib/fiber/ |
Kooperatif eş zamanlılık — spawn, yield, resume, kill, is_alive |
math/vec/ |
3B vektör aritmetiği — add, sub, dot, cross, normalize, angle_between |
geo/region_watch/ |
Kalıcı bölge tetikleyicileri — register, unregister, list, on_enter, on_leave |
lib/batch/ |
Tick'e yayılmış toplu işlem — begin, add, flush, cancel |
✨ hook/ Genişletme
Yeni olay desteği: dimension_change, trade, advancement:<id> (özel advancement'lar için on_advancement_fire API'si).
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
advancement/hook/trade.json — traded_with_villager 1.21.x'te kaldırılmış |
villager_trade yapıldı |
math/vec/internal/arccos_lookup — trailing space after .. |
Tüm satırlar yeniden yazıldı |
math/vec/internal/angle_exec — trailing space after 1001.. |
Kaldırıldı |
geo/region_watch/internal/check_region — space-separated NBT subpath |
Dot notation (_rw_cur.on_enter) yapıldı |
lib/batch/internal/flush_loop — space-separated NBT subpath |
Dot notation yapıldı |
lib/batch/internal/add_exec — space-separated NBT subpath |
Dot notation yapıldı |
v2.1.2 — 2026-03-19
✨ Yeni Modül: wand/
carrot_on_a_stick tabanlı sağ-tık wand sistemi. minecraft:custom_data ile tag'lenen item'lara fonksiyon veya komut bind edilebilir; birden fazla bind aynı tag'e eklenebilir.
Public Fonksiyonlar
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
wand/register |
{tag, func} |
Tag'e fonksiyon bind eder |
wand/register_cmd |
{tag, cmd} |
Tag'e komut bind eder |
wand/unregister |
macro:input {tag} |
Tag'e ait tüm bind'ları kaldırır |
wand/unregister_all |
— | Tüm wand bind'larını temizler |
wand/give |
{player, tag, name} |
Oyuncunun mainhand'ine wand verir |
wand/give_custom |
{player, item, tag, name, count} |
Özel item türüyle wand verir |
wand/give_lore |
macro:input {player, tag, name, lore, color} |
Lore ile birlikte mainhand'e wand yazar (item replace) |
wand/has |
{player, tag} |
Oyuncunun mainhand'inde belirli wand var mı → macro:output result |
wand/list |
— | Kayıtlı bind'ları macro.debug oyuncularına gösterir |
wand/cooldown_set |
{player, tag, duration} |
Wand'a cooldown uygular |
wand/cooldown_check |
{player, tag} |
Cooldown aktif mi → macro:output result |
İç Fonksiyonlar
| Fonksiyon | Açıklama |
|---|---|
wand/internal/tick_scan |
Her tick mainhand item'ı tarar, sağ-tık tespitinde dispatch çalıştırır |
wand/internal/dispatch |
Bind listesini iterate eder |
wand/internal/check_next |
Tek bind kaydını kontrol edip çalıştırır |
wand/internal/fire |
Bind func/cmd'yi çalıştırır |
wand/internal/check_item |
Mainhand'deki item'ın wand tag'ini doğrular |
wand/internal/unbind_check |
Unregister işlemi için eşleşen kaydı bulur |
wand/internal/unbind_filter |
Eşleşmeyen bind'ları yeni listeye kopyalar |
wand/internal/call_func |
Bind fonksiyonunu çalıştırır |
wand/internal/call_cmd |
Bind komutunu çalıştırır |
wand/internal/unregister_exec |
wand/unregister macro impl ($(tag)) |
wand/internal/give_lore_exec |
wand/give_lore macro impl |
Storage: macro:engine wand_binds [{tag:"...", func/cmd:"..."}]
Tick: macro:tick/player_systems → wand/internal/tick_scan
Scoreboard: macro.rightClick (minecraft.used:minecraft.carrot_on_a_stick)
⚠️ wand/unregister — Tab-Complete Notu
unregister macro variable içerdiğinden Minecraft'ın /function tab-complete'i bu fonksiyonu gizliyordu. Macro impl internal/unregister_exec'e taşındı; public wrapper $( içermiyor — listede görünür.
give / give_custom — Overlay Temizliği
1.21.5+ artık item_name için JSON object formatı kullandığından 1_21_5 ve 1_21_6 overlay'lerindeki give/give_custom dosyaları kaldırıldı. Base fonksiyonlar doğrudan 1.21.5+ formatına yükseltildi. compat_1_21_4 overlay'ine eski ' string syntax ile give/give_custom eklendi.
🐛 Bug Fixes
ame_load:load/internal/validate — storage'daki eski versiyon mismatch
İlk satır {version:"v2.1.2-pre1"} yazıyordu. Önceki dünyadan kalan storage değeri silinmediği için her /reload'da mismatch tetiklenip yükleme iptal ediliyordu. İki ayrı düzeltme yapıldı:
- İlk satır:
v2.1.2-pre1→v2.1.2düzeltildi data modify storage macro:engine global.version set value "v2.2.0-en"satırı eklendi — storage zaten varsa bile her load'da version üzerine yazılır
cmd/save-all, cmd/save-off, cmd/save-on, cmd/stop — tek oyunculu mod parse hatası
Bu komutlar tek oyunculu modda Minecraft'ın command dispatcher'ı tarafından tanınmıyor; load sırasında Bilinmeyen veya eksik komut hatası üretiyordu. cmd/other/run_self macro wrapper'ı üzerinden çalıştırılacak şekilde yeniden yazıldı — macro fonksiyonlar load sırasında parse edilmediği için hata kalktı.
wand/internal/unregister_exec — $ prefix $(var) içermeyen satırda
Satır 11'de $data modify storage macro:engine _wand_unbinds set from storage macro:engine wand_binds yazıyordu. $(var) olmayan satırda $ prefix Minecraft'ın No variables in macro hatasına yol açıyordu. $ kaldırıldı.
🗑️ Kaldırılan
wand/lore_add,wand/lore_removeve tüm ilgili internal dosyalar (lore_add_exec,lore_remove_exec,lore_rebuild_step,lore_rebuild_apply) —set_loreitem function'ının NBT source desteği olmadığı için çalışmıyordu. Yeriniwand/give_lorealdı.item_modifier/wand_lore_append.json,item_modifier/wand_lore_clear.json1_21_5/data/macro/function/wand/give.mcfunction,give_custom.mcfunction1_21_6/data/macro/function/wand/give.mcfunction,give_custom.mcfunction
🐛 Bug Fixes
ame_load:load/internal/version_set — çift boşluk parse hatası
scoreboard players set #ame.pre ame.pre_version satırındaki çift boşluk Minecraft komut ayrıştırıcısında Tam sayı bekleniyor hatasına yol açıyordu. Tek boşluğa indirildi.
cmd/data_remove_block, cmd/data_remove_entity, cmd/data_remove_storage — geçersiz macro satırı
Son $tellraw satırlarında $(...) değişkeni bulunmuyordu; Minecraft $ ile başlayan her satırın en az bir $(var) içermesini zorunlu kılıyor, No variables in macro hatası üretiyordu. $ kaldırıldı ve debug çıktısı ilgili argümanları ($(x) $(y) $(z) → $(path) vb.) gösterecek şekilde iyileştirildi.
✨ Yeni: engine/call/execute_validated
macro:tools/utils/input_check güvenlik doğrulamasından başarıyla geçen fonksiyonu yürüten iki dosyalı modül.
| Dosya | Görev |
|---|---|
engine/call/execute_validated.mcfunction |
macro:output.inputs storage'ından macro sub-function'ı çağırır |
engine/call/execute_validated/run.mcfunction |
$function $(func) with storage macro:input {} — macro wrapper |
input_check.mcfunction satır 140'daki yorum (#function macro:engine/call/execute_validated) kaldırılarak çağrı aktif edildi. Bu düzeltme GitHub CI'da raporlanan FAILED: One or more function references point to non-existent files hatasını çözer.
✨ Yeni: Zamanlayıcı Sistemi cmd Desteği
lib/schedule, lib/queue_add ve ilgili tüm iç fonksiyonlar daha önce yalnızca func (fonksiyon adı) kabul ediyordu. Bu güncelleyle aynı API üzerinden ham Minecraft komutu (cmd) da zamanlayıcıya verilebiliyor.
macroEngine v2.2.5
♻️ 1.20.x Overlay (1_20_3) Eklendi
| Özellik | Açıklama |
|---|---|
| Overlay sistemi | 1_20_3 eklendi |
| Component → NBT | 1.21+ item components kaldırıldı |
| Legacy uyum | Tüm item işlemleri NBT tabanına geri alındı |
| İzolasyon | Overlay artık root pack’ten bağımsız |
🧩 Compatibility Fixes
| Sorun | Düzeltme |
|---|---|
| Predicates "Not a json array" hatası | Array formatına çevrildi |
| Loot table parse hataları | 1.20.3 formatına uyarlandı |
| Advancement display hataları | icon → item düzeltildi |
| Version mismatch | v2.2.4 kalıntıları temizlendi |
📦 Data Pack Structure
| Sorun | Düzeltme |
|---|---|
| Yanlış klasör isimleri | 1.20.x çoğul yapı düzeltildi (functions, loot_tables, vb.) |
| Modern klasör kalıntıları | Overlay içinden kaldırıldı |
| pack.mcmeta uyumsuzluğu | 1.20.3 formatına uyarlandı |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
minecraft:test_block hatası |
Kaldırıldı |
| Bozuk JSON dosyaları | Düzeltildi |
| Predicate/loot parse crash'leri | Fixlendi |
⚙️ Internal
| Değişiklik | Açıklama |
|---|---|
| Version sistemi | v2.2.5 olarak güncellendi |
| Debug kalıntıları | Temizlendi |
| Overlay yükleme | Stabil hale getirildi |
v2.2.2
✨ Yeni cmd/ komutları
| Komut | Parametreler |
|---|---|
cmd/swing |
{player,hand} |
cmd/time_of |
{clock,action,value} |
cmd/set_clock_rate |
{rate} |
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
is_daytime.json 26.1'da hata veriyordu |
Düzeltildi |
v2.2.1 — 2026-03-23
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
| Gereksiz 'Bilinmeyen fonksiyon' hataları | Düzeltildi |
Gereksiz wand/register hataları |
Tüm satırlar yeniden yazıldı |
| Dialog yoksa sessiz fail hataları | Düzeltildi |
v2.2.0-en — 2026-03-22
Changes
- Translated all Turkish comments, docstrings, and in-game strings to English.
v2.2.0-en — 2026-03-22
✨ Yeni Modüller
| Modül | Açıklama |
|---|---|
lib/fiber/ |
Kooperatif eş zamanlılık — spawn, yield, resume, kill, is_alive |
math/vec/ |
3B vektör aritmetiği — add, sub, dot, cross, normalize, angle_between |
geo/region_watch/ |
Kalıcı bölge tetikleyicileri — register, unregister, list, on_enter, on_leave |
lib/batch/ |
Tick'e yayılmış toplu işlem — begin, add, flush, cancel |
✨ hook/ Genişletme
Yeni olay desteği: dimension_change, trade, advancement:<id> (özel advancement'lar için on_advancement_fire API'si).
🐛 Bug Fixes
| Bug | Düzeltme |
|---|---|
advancement/hook/trade.json — traded_with_villager 1.21.x'te kaldırılmış |
villager_trade yapıldı |
math/vec/internal/arccos_lookup — trailing space after .. |
Tüm satırlar yeniden yazıldı |
math/vec/internal/angle_exec — trailing space after 1001.. |
Kaldırıldı |
geo/region_watch/internal/check_region — space-separated NBT subpath |
Dot notation (_rw_cur.on_enter) yapıldı |
lib/batch/internal/flush_loop — space-separated NBT subpath |
Dot notation yapıldı |
lib/batch/internal/add_exec — space-separated NBT subpath |
Dot notation yapıldı |
v2.1.2 — 2026-03-19
✨ Yeni Modül: wand/
carrot_on_a_stick tabanlı sağ-tık wand sistemi. minecraft:custom_data ile tag'lenen item'lara fonksiyon veya komut bind edilebilir; birden fazla bind aynı tag'e eklenebilir.
Public Fonksiyonlar
| Fonksiyon | Girdi | Açıklama |
|---|---|---|
wand/register |
{tag, func} |
Tag'e fonksiyon bind eder |
wand/register_cmd |
{tag, cmd} |
Tag'e komut bind eder |
wand/unregister |
macro:input {tag} |
Tag'e ait tüm bind'ları kaldırır |
wand/unregister_all |
— | Tüm wand bind'larını temizler |
wand/give |
{player, tag, name} |
Oyuncunun mainhand'ine wand verir |
wand/give_custom |
{player, item, tag, name, count} |
Özel item türüyle wand verir |
wand/give_lore |
macro:input {player, tag, name, lore, color} |
Lore ile birlikte mainhand'e wand yazar (item replace) |
wand/has |
{player, tag} |
Oyuncunun mainhand'inde belirli wand var mı → macro:output result |
wand/list |
— | Kayıtlı bind'ları macro.debug oyuncularına gösterir |
wand/cooldown_set |
{player, tag, duration} |
Wand'a cooldown uygular |
wand/cooldown_check |
{player, tag} |
Cooldown aktif mi → macro:output result |
İç Fonksiyonlar
| Fonksiyon | Açıklama |
|---|---|
wand/internal/tick_scan |
Her tick mainhand item'ı tarar, sağ-tık tespitinde dispatch çalıştırır |
wand/internal/dispatch |
Bind listesini iterate eder |
wand/internal/check_next |
Tek bind kaydını kontrol edip çalıştırır |
wand/internal/fire |
Bind func/cmd'yi çalıştırır |
wand/internal/check_item |
Mainhand'deki item'ın wand tag'ini doğrular |
wand/internal/unbind_check |
Unregister işlemi için eşleşen kaydı bulur |
wand/internal/unbind_filter |
Eşleşmeyen bind'ları yeni listeye kopyalar |
wand/internal/call_func |
Bind fonksiyonunu çalıştırır |
wand/internal/call_cmd |
Bind komutunu çalıştırır |
wand/internal/unregister_exec |
wand/unregister macro impl ($(tag)) |
wand/internal/give_lore_exec |
wand/give_lore macro impl |
Storage: macro:engine wand_binds [{tag:"...", func/cmd:"..."}]
Tick: macro:tick/player_systems → wand/internal/tick_scan
Scoreboard: macro.rightClick (minecraft.used:minecraft.carrot_on_a_stick)
⚠️ wand/unregister — Tab-Complete Notu
unregister macro variable içerdiğinden Minecraft'ın /function tab-complete'i bu fonksiyonu gizliyordu. Macro impl internal/unregister_exec'e taşındı; public wrapper $( içermiyor — listede görünür.
give / give_custom — Overlay Temizliği
1.21.5+ artık item_name için JSON object formatı kullandığından 1_21_5 ve 1_21_6 overlay'lerindeki give/give_custom dosyaları kaldırıldı. Base fonksiyonlar doğrudan 1.21.5+ formatına yükseltildi. compat_1_21_4 overlay'ine eski ' string syntax ile give/give_custom eklendi.
🐛 Bug Fixes
ame_load:load/internal/validate — storage'daki eski versiyon mismatch
İlk satır {version:"v2.1.2-pre1"} yazıyordu. Önceki dünyadan kalan storage değeri silinmediği için her /reload'da mismatch tetiklenip yükleme iptal ediliyordu. İki ayrı düzeltme yapıldı:
- İlk satır:
v2.1.2-pre1→v2.1.2düzeltildi data modify storage macro:engine global.version set value "v2.2.0-en"satırı eklendi — storage zaten varsa bile her load'da version üzerine yazılır
cmd/save-all, cmd/save-off, cmd/save-on, cmd/stop — tek oyunculu mod parse hatası
Bu komutlar tek oyunculu modda Minecraft'ın command dispatcher'ı tarafından tanınmıyor; load sırasında Bilinmeyen veya eksik komut hatası üretiyordu. cmd/other/run_self macro wrapper'ı üzerinden çalıştırılacak şekilde yeniden yazıldı — macro fonksiyonlar load sırasında parse edilmediği için hata kalktı.
wand/internal/unregister_exec — $ prefix $(var) içermeyen satırda
Satır 11'de $data modify storage macro:engine _wand_unbinds set from storage macro:engine wand_binds yazıyordu. $(var) olmayan satırda $ prefix Minecraft'ın No variables in macro hatasına yol açıyordu. $ kaldırıldı.
🗑️ Kaldırılan
wand/lore_add,wand/lore_removeve tüm ilgili internal dosyalar (lore_add_exec,lore_remove_exec,lore_rebuild_step,lore_rebuild_apply) —set_loreitem function'ının NBT source desteği olmadığı için çalışmıyordu. Yeriniwand/give_lorealdı.item_modifier/wand_lore_append.json,item_modifier/wand_lore_clear.json1_21_5/data/macro/function/wand/give.mcfunction,give_custom.mcfunction1_21_6/data/macro/function/wand/give.mcfunction,give_custom.mcfunction
🐛 Bug Fixes
ame_load:load/internal/version_set — çift boşluk parse hatası
scoreboard players set #ame.pre ame.pre_version satırındaki çift boşluk Minecraft komut ayrıştırıcısında Tam sayı bekleniyor hatasına yol açıyordu. Tek boşluğa indirildi.
cmd/data_remove_block, cmd/data_remove_entity, cmd/data_remove_storage — geçersiz macro satırı
Son $tellraw satırlarında $(...) değişkeni bulunmuyordu; Minecraft $ ile başlayan her satırın en az bir $(var) içermesini zorunlu kılıyor, No variables in macro hatası üretiyordu. $ kaldırıldı ve debug çıktısı ilgili argümanları ($(x) $(y) $(z) → $(path) vb.) gösterecek şekilde iyileştirildi.
✨ Yeni: engine/call/execute_validated
macro:tools/utils/input_check güvenlik doğrulamasından başarıyla geçen fonksiyonu yürüten iki dosyalı modül.
| Dosya | Görev |
|---|---|
engine/call/execute_validated.mcfunction |
macro:output.inputs storage'ından macro sub-function'ı çağırır |
engine/call/execute_validated/run.mcfunction |
$function $(func) with storage macro:input {} — macro wrapper |
input_check.mcfunction satır 140'daki yorum (#function macro:engine/call/execute_validated) kaldırılarak çağrı aktif edildi. Bu düzeltme GitHub CI'da raporlanan FAILED: One or more function references point to non-existent files hatasını çözer.
✨ Yeni: Zamanlayıcı Sistemi cmd Desteği
lib/schedule, lib/queue_add ve ilgili tüm iç fonksiyonlar daha önce yalnızca func (fonksiyon adı) kabul ediyordu. Bu güncelleyle aynı API üzerinden ham Minecraft komutu (cmd) da zamanlayıcıya verilebiliyor.
macroEngine v2.2.4
Full Changelog: v2.2.3...v2.2.4