
Paginated Advancements & Custom Frames — Minecraft Java Edition 1.18.1 - 26.1+
Bağımlılıklar · Yükleyici: Fabric, NeoForge, Quilt · Minecraft sürümü: 1.18.1 - 26.1+ · Mod sürümü: 2.8.2 · Zorunlu bağımlılıklar: Fabric…
Bağımlılıklar · Yükleyici: Fabric, NeoForge, Quilt · Minecraft sürümü: 1.18.1 - 26.1+ · Mod sürümü: 2.8.2 · Zorunlu bağımlılıklar: Fabric API, Cloth Config API (2.8.0'dan önceki Fabric/Quilt ve NeoForge sürümleri için)
Bağımlılıklar
· Yükleyici: Fabric, NeoForge, Quilt
· Minecraft sürümü: 1.18.1 - 26.1+
· Mod sürümü: 2.8.2
· Zorunlu bağımlılıklar: Fabric API, Cloth Config API (2.8.0'dan önceki Fabric/Quilt ve NeoForge sürümleri için)
Vanilya ilerlemeler arayüzü, sekmelerin gösterimini sınırlar. Standart pencere, yalnızca altı sekme için hesaplanmış sabit bir genişliğe ve yüksekliğe sahiptir. Her büyük modun kendi ilerleme dalını eklediği büyük bir modifikasyon paketi kurulursa, yeni sekmeler ekran sınırlarının dışına taşmaya, birbirinin üzerine binmeye veya arayüzden tamamen kaybolmaya başlar. Paginated Advancements & Custom Frames modifikasyonu, sayfalı gezinme, öncelikli dalları sabitleme sistemi, yerleşik bir hata ayıklama aracı ve kaynak paketleri veya veri paketleri yardımıyla simgeler için tamamen yeni çerçeveler desteği ekleyerek ilerlemeler menüsünün standart penceresini genişletir.
Teknik çalışma prensibi ve vanilya arayüzünün sınırlamalarının çözümü
Vanilya AdvancementsScreen sınıfı, ilerlemeler penceresini işlemek için sabit kodlanmış koordinatlar kullanır (boyut 252'ye 140 pikseldir). Sekme ızgarası ve arka plan işleme gibi kontrol öğeleri statik pencere boyutlarına bağlıdır; bu da yüksek monitör çözünürlüğü için ölçeklendirmeyi imkânsız kılar. AdvancementTab sınıfı da ana çerçevenin çevresi boyunca sekme simgelerini çizmek için katı sınırlara sahiptir.
Paginated Advancements & Custom Frames, MixinAdvancementsScreen ve MixinAdvancementTab sınıflarına yapılan Mixin enjeksiyonları yardımıyla doğrudan istemcinin grafik arayüzünün işleme mantığına değişiklikler getirir. Modifikasyon, sabit kodlanmış sabitler kullanmak yerine arayüz başlatmasını yakalar ve oyun penceresinin geçerli boyutlarını okur. Bu verilere dayanarak, ekranın büyük bir bölümünü kaplayacak şekilde uyarlanabilir biçimde genişleyen ilerleme çerçevesinin en uygun boyutu hesaplanır.
Sistem, kayıtlı tüm sekmeleri otomatik olarak ayrı sayfalara gruplandırır (sayfalama). Algoritma, pencere genişliğini ve belirlenen kenar boşluklarını dikkate alan bir formüle göre, pencerenin üst ve alt panellerinin sınırları içine sığabilecek azami sekme sayısını hesaplar. İlerleme dallarının sayısı sayfa sınırını aşarsa, modifikasyon ek sanal sayfalar oluşturur ve arayüzün alt kısmına etkileşimli ok düğmeleri ekler. Sayfalar değiştirilirken işleyici, etkin olmayan sayfalardaki sekmeleri gizler; böylece çalışma belleğinin grafik nesnelerle aşırı yüklenmesini önler ve öğelerin üst üste binme çakışmalarını ortadan kaldırır.
Temel olanaklar ve işlevsellik
Paginated Advancements & Custom Frames'in temel işlevi, grafik ilerlemeler menüsünün yeniden düzenlenmesidir. Modifikasyon, gezinme için birkaç pratik araç sunar:
· Dinamik sayfalama: İlerlemeler penceresinin alt köşesine sayfa değiştirme okları ekler. Pakette kendi görev zincirlerine sahip elliden fazla modifikasyon etkinleştirilmiş olsa bile, oyuncular herhangi bir sayıda sekmeyi görüntüleyebilir.
· Sekmeleri sabitleme: Kullanıcı herhangi bir sekmeyi favoriler listesine ekleyebilir. Bunun için her sekmede yıldız biçiminde özel bir düğme bulunur. Sabitlenmiş bir sekme, alfabetik veya oyun içi sıralama düzeninden bağımsız olarak otomatik olarak ilk sayfaya taşınır ve listenin başında görüntülenir.
· Oturum durumunun korunması: Mod, en son açılan ilerleme sekmesini hatırlar. Menü kapatılıp L tuşuyla yeniden açıldığında, arayüz ilk standart sekmeye sıfırlanmak yerine oyuncunun kaldığı sekmeyi gösterir.
· İlerleme hata ayıklayıcısı (Advancement Debugger): Paket geliştiricileri ve görev yazarları için özel bir mod. Yapılandırmada veya gelişmiş ipuçları etkinleştirildiğinde (F3 + H tuşları) etkinleşir. İmleç bir ilerleme simgesinin üzerine getirildiğinde, teknik bilgilerin yer aldığı ek bir ipucu penceresi görüntülenir: dahili tanımlayıcı (örneğin minecraft:adventure/arbalistic) ve tamamlamak için gereken tetikleyicilerin (koşulların) listesi. Ctrl + C tuş bileşimi, seçilen ilerlemenin tanımlayıcısını panoya kopyalar.
Yapılandırma, uyumluluk ve ekosistem
Kullanıcı, ilerlemeler menüsünün görüntüleme parametrelerini yapılandırma dosyası aracılığıyla değiştirebilir. Dosyanın konumu ve biçimi, modifikasyon yükleyicisine bağlıdır:
· Fabric ve Quilt: Ayarların çalışması için Cloth Config API kütüphanesinin kurulması gerekir. Parametreler, config klasöründeki paginatedadvancements.json (veya paginatedadvancements.json5) dosyasına yazılır.
· NeoForge: 2.8.0'dan itibaren mod sürümleri, NeoForge'un yerleşik yapılandırma sistemini kullanır; bu da ek kütüphane ihtiyacını ortadan kaldırır. Dosya, config klasöründe paginatedadvancements-client.toml adıyla oluşturulur.
Yapılandırma dosyasında aşağıdaki temel parametreler kullanılabilir:
· showDebugTooltips – ilerlemelerin hata ayıklaması için teknik bilgilerin gösterimini denetleyen bir mantıksal değer (true veya false).
· maxDebugLines – ipucu penceresindeki azami tetikleyici satır sayısını sınırlayan ve çok sayıda gereksinim olması durumunda metnin ekran sınırlarının dışına taşmasını önleyen bir tam sayı.
· disableBackgroundFade – ilerlemeler menüsü görüntülenirken oyun arka planının kararmasını devre dışı bırakan bir parametre.
· spacing – paneldeki komşu sekmeler arasındaki mesafeyi ayarlamak için piksel cinsinden adım.
· enablePinning – oyuncuların seçtikleri sekmeleri sabitlemesine izin verir veya yasaklar.
Modifikasyon, Custom Frames (özel çerçeveler) mekanizması aracılığıyla simge özelleştirme sistemini destekler. Minecraft varsayılan olarak üç çerçeve türü sunar: task (sıradan görev), goal (hedef) ve challenge (meydan okuma). Mod, veri paketleri yardımıyla yeni türler oluşturmaya olanak tanır.
Yeni bir çerçeve eklemek için veri paketinde şu yolda bir JSON dosyası oluşturmak gerekir:
assets/<mod_tanımlayıcısı>/advancement_frame_types/<çerçeve_adı>.json
Dosya içeriği örneği:
{ |
Çerçeveye ait dokular şu yollara yerleştirilir:
· assets/<mod_tanımlayıcısı>/textures/gui/sprites/advancements/<çerçeve_adı>_unobtained.png – ilerleme tamamlanmadan önce çerçevenin görünümü.
· assets/<mod_tanımlayıcısı>/textures/gui/sprites/advancements/<çerçeve_adı>_obtained.png – tamamlandıktan sonra çerçevenin görünümü.
Oluşturulan çerçeveyi belirli bir ilerlemeye bağlamak için veri paketinde assets/<mod_tanımlayıcısı>/advancement_frames/<dosya_adı>.json yolundaki bir eşleme dosyası kullanılır:
[ |
Mod, tamamen istemci tarafı bir yardımcı program olarak geliştirildiğinden sunucuya kurulmasına gerek yoktur. Karmaşık görev sistemleri ve çok sayıda ilerleme sekmesi ekleyen büyük endüstriyel ve büyü modlarıyla (Create, Ender IO, Botania gibi) tamamen uyumludur. Eski yükleyici Forge kullanıcıları için modun ForgedPaginatedAdvancements adıyla resmi olmayan bir uyarlaması mevcuttur. Modun en son sürümlerini NeoForge 26.1+ platformunda çalıştırmak için Java 25 çalışma zamanı ortamının kullanılması zorunludur.
Sonuç
Paginated Advancements & Custom Frames, büyük modifikasyon paketlerinde kritik hâle gelen vanilya ilerlemeler arayüzünün sınırlı alan sorununu etkili bir şekilde çözer. Pencereyi çoğunlukla sayfa eklemeden ölçeklendiren benzeri Better Advancements'in aksine, bu mod sayfalara net bir bölünme ve sekmelerin kolayca sabitlenmesini sunar. Modifikasyon, yerleşik hata ayıklayıcısı ve veri paketlerinin JSON yapıları aracılığıyla yeni çerçeve türlerini kaydetmeye yönelik esnek sistemi sayesinde modifiye paket geliştiricilerinin işini kolaylaştırır. Tek dikkate değer kısıtlama, özel grafik çerçevelerin doğru görüntülenmesi için ek istemci kaynak paketleri oluşturma gerekliliğidir.
Kurulum
Tipik bir kurulum yaklaşık 5 dakika sürer. Akış aynıdır; yalnızca loader ve uygun build değişir.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











