Learn · concepts

Ara Katman Nedir? Minecraft Haritaları Açıklandı

Fabric, Minecraft kodunun karmaşıklaştırılmış katmanıdır ve ara katman aracılığıyla çalışır. Alan adları yeniden adlandırıldığında bile modlar, sürümler arasında sorunsuz bir şekilde çalışmaya devam eder.

TRtrolPublished 3 min read

Ara Katman Nedir?

Ara katman, Fabric'in Minecraft'ın karartılmış kodunun üzerine yerleştirdiği kalıcı adlandırma katmanıdır. Mojang, oyunla birlikte karıştırılmış sınıf, alan ve yöntem adlarıyla birlikte gönderir; bu adlar her sürümde değişir. Ara katman, bunlardan her birine, oyunun güncellenmesi sonrasında bile derlenmiş bir modun yamadığı kodu bulmaya devam etmesini sağlayacak sabit bir ad verir.

Bunu bir sözleşme gibi düşünün: Fabric, oyun içinde bir şey varsa, o şeyin tüm sürümlerde aynı Ara Katman adına sahip olacağı sözünü verir. Bu sözleşme, bir modun derlenmiş bir jar dosyası olarak gönderilmesiyle birlikte yeni sürümlerde yeniden derlenmeden çalışmaya devam etmesini sağlar.

Ara Katman Aslında Nedir

Ara katman, bir dizi eşlemedir: her karartılmış Minecraft sembolünü sabit, makine tarafından oluşturulmuş bir adla eşleştiren bir arama tablosudur. Oyunun a olarak çağırdığı bir sınıf, Ara Katman'da class_1234 olabilir. Ad kötü olsa da, o sembol için tüm sürümlerde kalıcıdır.

Mojang, her derlemede oyunu karartır. Aksi takdirde adlar sürümden sürüme kayacaktır; bu nedenle ham karartılmış adlara karşı derlenmiş bir mod, oyun güncellendiği anda bozulur. Ara katman bu adları dondurur, böylece eşleme, mod değil, değişimi absorbe eder.

Neden Fabric modlarına buna ihtiyaç var

Modlar, geliştiricilerin yazdığı okunabilir isimler yerine, Ara Katman (Intermediary) isimlerine göre derlenerek dağıtılır. Tam da bu karar, birçok durumda bir Fabric modunun yeniden derleme olmadan yeni bir oyun sürümünde çalışmaya devam etmesini sağlar.

Oyun başladığında, Fabric o sürüm için Ara Katman eşlemesini yükler ve oyunun bulanıklaştırılmış sınıflarını, modun beklediği kararlı isimlere yeniden eşler. Mod ve oyun, her ikisi de ham olarak göndermediği bir isim kümesi üzerinde buluşur.

Ara Katman ve geliştirici eşlemeleri

Geliştiriciler class_1234 gibi isimleri okumaz veya yazmaz. Yarn veya Mojmap gibi, sembollere açıklayıcı isimler veren insan tarafından okunabilir eşlemelere göre çalışırlar. Derleme zamanında, bu okunabilir isimler dağıtım için Ara Katman'a dönüştürülür.

KatmanÖrnek isimKim kullanırSürümlere göre kararlı
Bulanıklaştırılmışa, field_5678Elle kimseHayır
Ara Katmanclass_1234, method_5678Dağıtılan mod ikili dosyalarıEvet
Yarn / MojmapMinecraftClient, isPlayerSpawned()Geliştiriciler derleme zamanındaOkunabilir, sürüm takibi yapılan

Bu ayrım, geliştiricilerin kullanıcı dostu isimlere göre kodlamasına olanak tanırken, aslında gönderilen şeyin sürüm kararlılığını korumasını sağlar. Okunabilir eşlemeler değiştirilebilir; Ara Katman ise herkesin üzerinde anlaştığı ortak bir zemindir.

Bir modun yaşam döngüsüne nasıl uyum sağlar

  1. Bir geliştirici, Yarn veya Mojmap gibi okunabilir bir eşlemeye göre kod yazar.
  2. Derleme, bu isimleri ara isimlere dönüştürür.
  3. Mod, ara sembollere referans veren bir jar dosyası olarak dağıtılır.
  4. Başlangıçta, Fabric çalışan oyunu karartılmış isimlerden ara isimlere yeniden eşler, böylece mod ve oyun her güncellemeden sonra doğru koda yöneliktir.

İşte eşlemelerin neden Fabric modlamanın sessiz ama taşıyıcı bir parçası olmasının nedeni: Her güncellemeden sonra modların doğru koda işaret etmesini sağlayan sözleşmedirler.

Sıkça Sorulan Sorular