Better Beds Mod: Minecraft'ta İşleme Optimizasyonu ve 3D Yatak Modeli Desteği
FPS'yi artırmak için Minecraft'a yönelik Better Beds istemci optimizasyon modunun ayrıntılı teknik incelemesi.
FPS'yi artırmak için Minecraft'a yönelik Better Beds istemci optimizasyon modunun ayrıntılı teknik incelemesi.
Bağımlılıklar:
Yükleyici: Fabric / NeoForge / Quilt
Minecraft Sürümü: 1.16 – 1.21.x
Better Beds modu, Minecraft'taki yatak işleme mekanizmasını yeniden yazar ve ağır vanilya blok varlığı işleyicisini (Block Entity Renderer) standart statik model motoruyla değiştirir. Vanilya oyununda yataklar, Block Entity Renderer (BER) olarak işlenir ve bu da işlemciyi (CPU) her karede geometrilerini yeniden hesaplamaya zorlar. Better Beds, yatakları JSON modelleri olan klasik bloklara dönüştürerek işleme görevini tamamen ekran kartına (GPU) devreder. Bu, köylerin veya çok oyunculu oyun lobilerinin yakınında kare hızında (FPS) önemli bir artış sağlar ve yatakların standart kaynak paketleri aracılığıyla özelleştirilmesine olanak tanır.
Vanilya yatak işlemenin teknik sorunları
Vanilya Minecraft'ta yataklar, sandıklar, tabelalar ve flamalar özel nesneler — Blok Varlıkları (Block Entities) olarak ele alınır. Yükleme sırasında statik yığın (chunk) ağına işlenen normal taş veya ahşabın aksine, blok varlıkları özel bir işleyiciye (Block Entity Renderer) ihtiyaç duyar.
Bu yaklaşımın vanilya oyununda neden olduğu sorunlar:
CPU Aşırı Yüklenmesi. İşlemci her milisaniyede yakındaki her yatağın koordinatlarını sorgulamaya ve ekran kartına ayrı çizim talimatları göndermeye zorlanır.
Occlusion Culling optimizasyonunun olmaması. Vanilya varlık işleyicisi, bilgisayarınızın kaynaklarını boşa harcayarak yatakları duvarların arkasında veya zeminin altındayken bile çizer.
Performans Düşüşleri (FPS gecikmesi). Düzinelerce köylünün bulunduğu büyük bir köye girerseniz veya üslerde çok sayıda yatağın yerleştirildiği BedWars gibi modlarda sunucularda oynarsanız, işleme iş parçacıklarının CPU'ya aşırı yüklenmesi nedeniyle kare hızı aniden birkaç kat düşebilir.
Better Beds'in optimizasyonu ve mekaniği
Better Beds modu, yataklar için Block Entity Renderer'ı tamamen kaldırarak onları standart 3D bloklara dönüştürür.
Optimizasyonun çalışma prensibi:
Yığın (chunk) yüklemesi sırasında oyun, yatak modelini merdivenlere veya çitlere benzer şekilde statik bir nesne olarak okur.
Yatak geometrisi genel 3D yığın ağında (Chunk Mesh) birleştirilir (pişirilir).
Ekran kartı, kare bazında hesaplamalar için merkezi işlemciyi hiç dahil etmeden tüm yığını yatakla birlikte tek bir geçişte (bir Draw Call) çizer.
Yatak diğer opak blokların arkasına gizlenirse, oklüzyon ayıklama (Occlusion Culling) algoritmaları GPU belleğinden tasarruf sağlayarak yatağın işlenmesini otomatik olarak durdurur.
Modifikasyon sadece istemci (client) tarafında çalıştığından oyun mantığını değiştirmez. Yataklar tüm işlevlerini korur: üzerlerinde uyuyabilir, doğma noktanızı üzerine yazabilirsiniz ve köylüler bunları çalışma veya uyku yerleri olarak sorunsuz bir şekilde tanır. Modun sunucuya yüklenmesi gerekmez, bu nedenle çok oyunculu oynarken özgürce kullanabilirsiniz.

Tarihsel bağlam: yataklar neden varlık oldu?
Mojang'ın yatakları blok varlıkları yapma kararı geçmişte atılmış zorunlu bir adımdı. 1.12 sürümüne kadar Minecraft, her bloğun meta verileri için sadece 4 bit (en fazla 16 farklı durum) tahsis eden eski bir blok ID sistemi kullanıyordu.
Bir yatak için şunların kodlanması gerekiyordu:
16 farklı yün rengi.
2 yatak parçası (baş ve ayak ucu).
4 yerleşim yönü (kuzey, güney, doğu, batı).
Bu, eski sistemin sınırlarına fiziksel olarak uymayan 128 durum kombinasyonu verdi. Düzinelerce değerli boş blok ID'sini boşa harcamamak için geliştiriciler, renklerin ve yönün kaydedilmesini ayrı meta verilere, çizimi ise CPU tabanlı işleyiciye taşıyarak yatağı bir Tile Entity'ye (Block Entity'nin atası) dönüştürdüler.
1.13 sürümünde ("The Flattening"), geliştiriciler ID sistemini tamamen yeniden yazarak sınırsız sayıda duruma sahip blokların oluşturulmasına izin verdiler. Ancak yatak kodu değişmeden kaldı. Better Beds, yatakları standart blok formatına döndürerek bu modası geçmiş teknik sorunu fiilen çözer.
Özelleştirme ve kaynak paketi desteği
Vanilya yatakları, düz bir varlık modeli üzerine gerilmiş tek bir büyük doku kullanır. Vanilya oyununda yatak geometrisini değiştirmek (örneğin bacakları yuvarlak yapmak veya hacimli bir battaniye eklemek), Özel Varlık Modelleri (CEM) özelliğine sahip OptiFine gibi ağır optimizatörleri kurmadan normal kaynak paketleri kullanılarak imkansızdır.
Better Beds yatakları herhangi bir grafik özelleştirmesine açık hale getirir. Yatak artık normal bir blok olduğundan, models/block/ klasöründe bir bed.json dosyası olan bir kaynak paketi oluşturabilir veya indirebilirsiniz.
Bu şunları yapmanızı sağlar:
Ayrıntılı yastıklar, battaniyeler ve ayaklar içeren tam 3D yatak modelleri oluşturun.
Animasyonlu dokular kullanın veya (PBR gölgelendiricileri aracılığıyla) karanlıkta parlayan öğeler ekleyin.
Standart dikdörtgen çerçevenin ötesine geçen hacimsel detaylar ekleyin.
Varsayılan olarak modifikasyon, yatakların vanilya görünümünü tam olarak kopyalayan yerleşik JSON modelleri içerir, bu nedenle üçüncü taraf kaynak paketlerini yüklemeden görselde bir fark fark etmezsiniz, ancak bir performans artışı elde edersiniz.
Uyumluluk ve sınırlamalar
Modifikasyon, yığın oluşturma optimizasyonu için aynı kancaları (hook) kullandığından diğer grafik optimizatörleri (Sodium, Embeddium, Iris, Lithium) ile yüksek düzeyde uyumluluğa sahiptir.
Sınırlamalar ve çakışmalar:
Bedspreads. Yataklara flama desenleri uygulamanıza olanak tanıyan bu popüler mod Better Beds ile uyumsuzdur. Bunun nedeni, Bedspreads'in flamayı yatağın üzerine çizmek için vanilya Block Entity Renderer'a sıkı sıkıya bağlı olmasıdır.
Özel yatak modları. Başka bir mod yeni yatak türleri ekler ve bunun için standart model işleyiciyi kullanırsa, bu yeni yataklar için JSON modellerine sahip ayrı bir kaynak paketine ihtiyacınız olacaktır. Yatakları kendi özel BER işleyicileri aracılığıyla kaydeden modlar istikrarlı bir şekilde çalışacak, ancak Better Beds'den FPS artışı alamayacaktır.
Yazarın fikri
Better Beds, Minecraft'ın istemci (client) tarafını optimize etmek için etkili bir teknik çözümdür. Eski yatak işleme yönteminin statik JSON modelleriyle değiştirilmesi, kare başına CPU yükünü tamamen ortadan kaldırarak ekran kartının yatakları manzaranın bir parçası olarak çizmesine olanak tanır.
Ağır varlık modelini değiştiren modlarla karşılaştırıldığında Better Beds, yalnızca yatakları optimize etmeye ve kaynak paketi oluşturucuları için olasılıkları genişletmeye odaklanan hafif bir alternatif sunar. Ana dezavantajı, vanilya varlık işleyicisini değiştiren modlarla (örneğin Bedspreads) uyumsuzluğu ve bazı üçüncü taraf modlarındaki mobilyalar için modelleri manuel olarak ekleme gerekliliğidir. Zayıf bir bilgisayarda oynuyorsanız, birçok yatağın bulunduğu büyük üsleri veya köyleri sık sık ziyaret ediyorsanız veya performans kaybetmeden güzel 3D mobilya dokuları kurmak istiyorsanız, bu modifikasyon sizin için mükemmel olacaktır.
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.











