Minecraft Java vs Bedrock
Önsöz
Bu yazı benim Bedrock ve Java sürümleri ile ilgili mevcut bilgimin bir derlemesidir. Hatalar ve eksikler olabilir.
Hangisi daha iyi?
Java. Java sürümü. Tartışmaya kapalı. Tercih meselesi veya önce onu oynayıp Bedrock sürümünü beğenmememden değil.
Java ne ki? Bedrock ne? Nasıl buraya geldik?
Çayınızı kahvenizi hazırlayın, uzun bir metin sizi bekliyor.
Öncelikle iki sürüm arasındaki yapı farklarına bakalım, Java sürümü adını yazıldığı programlama dili, Java’dan alıyor.
Java bir “yorumlamalı” dil, yani kod İngilizce gibi yazılır, daha sonradan Java programı bu kodu okuyup işlemciye gönderir. Bunun Bedrock ile farkı ileride anlatılacaktır. Bu durumun en büyük avantajı yazdığınız kodun Java yüklü her yerde çalışması, dezavantajı ise işlemcinin kodu doğrudan çalıştırmak yerine araya Java “yorumlayıcısı”nın girmesidir.
Bedrock sürümü Java’nın aksine C++ ile yazılmıştır. C++ kodu yine İngilizce gibi yazılır, ancak çalıştırmak için “derleme” işleminden geçmesi gerekmektedir. Bu işlemde “derleyici (compiler)”, İngilizce ile yazılan kodu alıp o sistemin işlemcisi ve işletim sistemine uygun (burada detaylar atlanıyor, detaylar için birkaç link aşağıya bırakacağım) bir “çalıştırılabilir” dosya çıkarır. Bu Windows’da .exe olarak bildiğiniz dosyalardır. Bu “çalıştırılabilir” dosyalar doğrudan işlemciye gider, araya hiçbir “yorumlayıcı” ayrı bir program girmez. İçerisinde işlemcinin ve o işletim sisteminin dilinde talimatlar yazar, işletim sistemi ve işlemci o talimatları gerçekleştirir. Dezavantajı ise Java gibi her platformda çalıştırılabiliyor olmaması.
Yani birisi size minecraft.jar dosyası verdiğinde bunu Java yükleyebildiğiniz her yerde çalıştırabilirken, Bedrock sürümünde bu geçerli değildir. Bedrock sürümünün farklı platformlarda çalışması için Microsoft’un Bedrock sürümünü o işlemci ve işletim sistemine uygun şekilde derlemesi gerekmektedir.
Tabi bunlar yazılımsal farklar, ürün farkları?
Yazılımda nihai amaç bir ürün ortaya çıkarmak, peki Minecraft Java ve Bedrock ürün olarak kıyaslanabilir mi? Evet. Ama nereden başlasak…
Bedrock sürümü neden var?
Bu sorunun cevabı bende değil, ancak tahminim Microsoft Java sürümüne güncelleyebilecekleri ve kullanıcıların ücretsiz yapamayacakları bir “dükkan” özelliği ekleyememesi. Yani Java sürümüne mod yapanlar bilir, 1.20.5’in modları 1.20.6’da veya 1.21.0’da çalışmayabiliyor. Microsoft nihayetinde olabildiğince para kazanmak isteyen bir şirket olduğu için böyle bir çözüme gittiğini düşünüyorum.
Bedrock sürümünde olup Java sürümünde olmayan hatalar
Yani… Hangi birini sayalım? Topluluk kendi wiki sayfasında (https://minecraft.wiki/w/Parity_issue_list) bütün hataların ve eksiklerin bir listesini tutuyor.
İnternette gezinirken gözüme takılanlar…
Random ölümler
Render hataları
Kaynak: https://www.reddit.com/r/BugrockMoment/comments/1qtf6nt/how_does_this_even_happen/Metin hataları
Kaynak: https://www.reddit.com/r/BugrockMoment/comments/1qjepff/even_their_cash_cow_is_broken/
Sunucu-oyuncu senkronizasyon hataları
Kaynak: https://www.reddit.com/r/Minecraft/comments/1jjva0j/so_my_brother_was_playing_minecraft_and_this/İyi tamam hatalar var, başka?
Eveeeet sıradaki konumuz… Mod desteği!
Aslında Minecraft Java sürümünün resmi olarak mod desteklemediğini biliyor muydunuz? Minecraft Java sürümünde modlar bir “mod yükleyici” yardımcısı ile oyuna yükleniyor. Daha önceden modlu oynayanlara Forge, NeoForge, Fabric gibi isimler tanıdık gelicektir. Mod yazarlar, doğrudan Minecraft sürümüne göre uygulanması gereken özel işlemlerle uğraşmak yerine tek bir mod yükleyiciden faydalanabiliyor. Bunu şöyle düşünün, siz yapmak istediğiniz modu Forge’a uygun yazıyorsunuz, ve Forge yükleyen herkes sizin modunuzu mods klasörüne atıp kullanabiliyor. Eğer Forge gibi bir sistem olmasaydı Forge’un kurulurken yaptığı gibi her bir modun oyunu düzenlemesi gerekirdi.
Forge (ve benzeri) mod yükleyiciler mod yapanlara pek çok özellik sağlıyor. Bunlardan en önemlisi doğrudan ekrana erişim, yani bir bloğa sağ tıkladığınızda ne göreceğinizi modu yazan kişi belirleyebiliyor. Akış aşağı yukarı şu şekilde (basitleştirilmiş, kesin bilgi olarak almayın):
- Oyuncu eşyaya sağ tıklar
- Sunucu eşya kullanıldı sinyali gönderir
- Eşyanın özel “eşya kullanıldı sinyali alındı” komutu çalışır
- Komut ekrana çizilmesini istediği arayüzü sunar
- Herkes mutlu
Peki Bedrock?
Bedrock mod yapımı için resmi destek sunuyor! O zaman daha mı iyi? Hayır. Hatırlarsanız az önce doğrudan ekrana erişimden bahsetmiştim, Bedrock’un mod yazma arayüzünde bu özellik yok.
Yani?
Yanisi şu: Bedrock sürümüne Shader yapamıyoruz çünkü ekrana erişimimiz yok.
Microsoft buna izin vermiyor, (Java sürümü de resmi izin vermese de Java kodu bilgisayarda “byte-code” olarak tutulduğu için Forge gibi mod yükleyiciler bundan faydalanabiliyor, bunun yine aşırı basitleştirilmiş versiyonu olduğunu belirtirim) ve dolayısıyla o gördüğünüz harika modları Bedrock sürümünde yapamıyoruz, mesela:
Shaderlar, ve Iris, shader yükleme modu 
Minimap modu 
Vivecraft, VR modu 
Portalların içini görme modu 
Bunlar gibi pek çok harika mod bulunmakta… Mod paketlerini saymıyorum bile. Ve bunlar Bedrock sürümünde mümkün değil çünkü Microsoft bize (geliştiricilere) bir arayüz sunmuyor. Yani kim napsın portalın içini görmeyi, ben kostüm almak istiyorum!

Bitti mi? Hayır! Arayüz vakti
Bu arada smilers çok korkunçmuş be. Bide bunları çocuklara gösteriyorlar? Neyse o başka bir konu…
“bir resim bin sözcüğe bedeldir” mi ne öyle bir laf vardı. Bu resim bence kendini açıklıyor? Arayüzün bence berbat olmasının ötesinde, o kadar nefretlik bir arayüz yapmışsınız ki “bedrock settings ui” diye arattığımda İLK SIRADA çıkan şey fix modu.
Mojang please fix.
Eeee… Başka var mı?
Dürüst olmam gerekirse, evet. Ama şuan yazdıklarım bile 900 kelimeyi geçmiş durumda ve bu yazıyı daha da uzatmak istemiyorum. Bedrock’un Java sürümüne kıyasla kötü olması için sayısız sebep var, ve say say bitiremiyoruz.
Benim bu yazıda paylaşmak istediklerim mod desteğinin durumu ve olan hatalar hakkında bilgilendirme yapmaktı, umarım yeni bir şeyler öğrenmişsinizdir, kendinize iyi bakın~~