Merhaba değerli McForum üyeleri.
Minecraft sunucu geliştirmesiyle ilgilenen pek çok kişi ModelEngine eklentisini duymuş, hatta sunucusuna kurup Blockbench üzerinden hazırladığı modelleri oyuna aktarmıştır. Ancak çoğu kaynak sadece "Nasıl kurulur?" sorusuna yanıt verir. Türkçe forumlarda neredeyse hiç konuşulmayan, yabancı geliştirici notlarında (changelog ve wiki) gizli kalmış asıl mesele ise şudur: ModelEngine arka planda nasıl çalışır ve v1'den v4'e kadar hangi devasa mühendislik engellerini aşmıştır?
Bu rehberde, Minecraft'ın sınırlı oyun motorunu adeta bir AAA oyun motoruna dönüştüren bu eklentinin teknik evrimini, NMS (Nether Minecraft Server) altyapısını ve paket (packet) yönetimini derinlemesine inceleyeceğiz.

ModelEngine Sürümlerinin Teknik Anatomisi
Minecraft'ın varsayılan oyun motoru, dışarıdan özel 3D modeller eklenmesi için tasarlanmamıştır. ModelEngine geliştiricileri (Ticxo ve ekibi), bu engeli aşmak için oyunun var olan mekaniklerini manipüle etmek zorundaydı. İşte yıllar içindeki o inanılmaz evrim:
1. ModelEngine v1: "Kaba Kuvvet" ve Zırh Askısı Dönemi
İlk sürüm, harika bir fikrin oldukça ilkel bir teknolojiyle hayata geçirilmiş haliydi.
Mekanizma: Modeli oluşturan her bir parça (kol, bacak, kafa), kafasına o parçanın 3D eşya modeli giydirilmiş görünmez bir Zırh Askısından (Armor Stand) oluşuyordu.
Ağ (Network) ve TPS Yükü: 20 kemikli bir ejderha modeli yarattığınızda, sunucu aslında 20 farklı zırh askısı oluşturuyordu. Bu varlıkların her saniye (saniyede 20 tick) yerçekimi, yapay zeka ve çarpışma testleri sunucu işlemcisine biniyordu.
Animasyon Sorunu: Animasyonlar sunucu tarafında hesaplanıp oyuncuya paketler halinde gönderiliyordu. En ufak bir ping dalgalanmasında modeller titriyor, parçalar birbirinden kopuk hareket ediyordu.
2. ModelEngine v2: State-Machine (Durum Makinesi)
Geliştiriciler, v1'deki hantallığı çözmek için animasyon yönetimini baştan yazdı.
Active State Machine (ASM): v2 ile birlikte animasyonlar arası geçişleri (örneğin; yürürken aniden saldırı animasyonuna geçme) hesaplayan matematiksel bir durum makinesi eklendi. Bu sayede animasyonlar birbirine harmanlanarak (blending) daha doğal bir görünüm kazandı.
Hitbox Sorunsalı: Model ne kadar büyük olursa olsun, vurulma alanı (hitbox) hala merkezdeki tek bir varlığa aitti. Oyuncular, dev bir devin bacağına vurduğunda hasar veremiyor, mecburen merkeze nişan almak zorunda kalıyordu.
3. ModelEngine v3: Matematiksel Devrim (Lerping)
Eklentinin tamamen sıfırdan yazıldığı ve profesyonel bir endüstri standardı haline geldiği sürümdür.
Quaternion Rotasyonları: Euler açılarının yarattığı "Gimbal Lock" (eksen kilitlenmesi) sorunu çözüldü. Artık modeller her eksende kusursuz dönebiliyordu.
İstemci Taraflı Yumuşatma (Lerping): Animasyon hesaplamalarının ağır yükü sunucudan alınıp, oyuncunun bilgisayarına kaydırıldı. Minecraft saniyede 20 kare (TPS) ile çalışsa bile, animasyonlar ara değer hesaplamaları sayesinde oyuncuya 60+ FPS akıcılığında sunulmaya başlandı.
Çoklu-Hitbox (Multi-Hitbox): Artık modellerin belirli kemiklerine görünmez varlıklar bağlanarak milimetrik hitboxlar oluşturulabiliyordu.
4. ModelEngine v4: "Display Entity" Çağı (Günümüz)
Minecraft 1.19.4 güncellemesiyle oyuna eklenen Görüntü Varlıkları (Display Entities), ModelEngine v4'ün kaderini değiştirdi. Zırh askıları tamamen çöpe atıldı.
Sıfır Sunucu Yükü: Yeni varlıklar sadece "görüntü" renderlamak için tasarlandığı için oyunda fizik motoruna (yerçekimi, collision) dahil edilmezler. Sunucu üzerindeki yük kelimenin tam anlamıyla sıfıra indi.
Dinamik Ölçeklendirme (Scaling): v4'te oyun içi bir komutla (
/meg scale) modeli anında büyütebilirsiniz. Dönüşüm (Transformation) matrisleri doğrudan oyun motoruna işlenir.Kusursuz Işıklandırma: Karanlıkta siyah kalma veya mağarada parlayan texture hataları tarihe karıştı. Blockbench'te hazırladığınız parlayan (emissive) dokular artık kusursuz çalışıyor.

Sonuç
Eğer sunucunuz 1.19.4 ve üzeri bir sürümdeyse, ModelEngine v4 kullanmak bir tercih değil, teknik bir zorunluluktur. Display Entity teknolojisi sadece FPS ve TPS artışı sağlamakla kalmaz, aynı zamanda ağ trafiğini (packet size) ciddi oranda düşürerek yüksek pingli oyuncuların yaşadığı görsel hataları tamamen ortadan kaldırır. Klasik moblardan sıkılan ve profesyonel bir boss deneyimi sunmak isteyen her sunucu sahibinin bu teknik altyapıyı bilmesi kendi yararına olacaktır.



