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

Releases: ToolkitMC/macroEngine-dp

macroEngine v3.0.1-pre2-fix1

08 Apr 18:59
d71287f

Choose a tag to compare

macroEngine v3.0.1-pre2

07 Apr 16:17

Choose a tag to compare

macroEngine v3.0.1-pre1

06 Apr 12:29

Choose a tag to compare

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

04 Apr 10:49
f3f3c00

Choose a tag to compare

macroEngine v2.2.9

04 Apr 10:39

Choose a tag to compare

✨ 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ı iconitem 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.jsontraded_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

03 Apr 09:18
9d1653e

Choose a tag to compare

✨ 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ı iconitem 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.jsontraded_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

02 Apr 18:52

Choose a tag to compare

✨ 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ı iconitem 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.jsontraded_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_systemswand/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

01 Apr 12:59
4483dfe

Choose a tag to compare

♻️ 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ı iconitem 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.jsontraded_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_systemswand/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-pre1v2.1.2 dü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_remove ve tüm ilgili internal dosyalar (lore_add_exec, lore_remove_exec, lore_rebuild_step, lore_rebuild_apply) — set_lore item function'ının NBT source desteği olmadığı için çalışmıyordu. Yerini wand/give_lore aldı.
  • item_modifier/wand_lore_append.json, item_modifier/wand_lore_clear.json
  • 1_21_5/data/macro/function/wand/give.mcfunction, give_custom.mcfunction
  • 1_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

30 Mar 14:18
625afd3

Choose a tag to compare

♻️ 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ı iconitem 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.jsontraded_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_systemswand/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-pre1v2.1.2 dü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_remove ve tüm ilgili internal dosyalar (lore_add_exec, lore_remove_exec, lore_rebuild_step, lore_rebuild_apply) — set_lore item function'ının NBT source desteği olmadığı için çalışmıyordu. Yerini wand/give_lore aldı.
  • item_modifier/wand_lore_append.json, item_modifier/wand_lore_clear.json
  • 1_21_5/data/macro/function/wand/give.mcfunction, give_custom.mcfunction
  • 1_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

28 Mar 12:55
a88a9c9

Choose a tag to compare