blog-olusturma

Bu yazı Cem Geçgel tarafından sitemize gönderilmiştir.

Bu yazıda blok oluşturmayı göstereceğim (1.7.10 için). Zaten bir rehber vardı. Devamı gibi düşünebilirsiniz. Benim dediklerimi yaparken hata verebilir. Benim gösterdiklerimin hepsini yaptıktan sonra hatalara bakın. Eğer kalırsa kontrol edin. Olmazsa kodu yazın, ben bakarım.

Blok oluşturmak için ilk önce ana mod dosyamıza gelip,
”    public class DOSYAMIZINADI    ”
kodundan hemen sonraki parantezin içine şunu yazıyoruz (Yazacağım kodlarda en dış kısımdaki tırnakları almayın! Fakat kodun içinde bazen tırnak kullanılabiliyor. Zaten arada boşluk bırakacağım.) :

”    public final static Block X = new Y(Material.Z);    ”

X kısmına bloğun oyun tarafından algılanacağı ismi (oyuncular görmeyecek), Y kısmına bloğun kodlarının bulunacağı dosyanın adı (ilerleyen kısımda onu da göstereceğim), Z kısmına da bloğun materyalini (çeşidini) yazacağız (Bloğun çeşidi, bloğun hangi araç ile kırılabileceği, fırında yatık olup olamayacağı vb. şeyleri belirler.). Ayrıca “(Material.” kısmında siz “.”ya basınca biraz beklerseniz size hangi materyaller olduğunu söyler. Azıcık İngilizce’niz varsa anlarsınız materyallerin ne olduğunu ya da deneye deneye hangi materyal size uygunsa seçersiniz.

Böylece blok artık var. Fakat oyuna girilmiş değil (yani oyunda blok yok). Oyuna eklemek için

”    @EventHandler
      public void init(FMLInitializationEvent event)    ”

kodundan hemen sonraki ilk parantezin içine  şu kodları yazın :

”    GameRegistry.registerBlock(X, “X”);
        LanguageRegistry.addName(X, “T”);    ”

X kısmını zaten biliyorsunuz, T ise oyuncunun envanterinde göreceği ad. Bu ad Türkçe karakter içerebilir (ş, ğ, ü vb.). Bu dosyada (ana mod dosyamız) yapılacaklar şimdilik bu. Şimdi bloğun dosyasına geçelim.

Ana mod dosyamızın bulunduğu package’a adı Y olan bir class türü dosya açıyoruz. Dosyanın içi şöyle olmalı :
”    package S;

    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;

    public class Y extends Block
    {
        public Y(Material material)
        {
          super(material);

          setCreativeTab(CreativeTabs.tabBlock);
        }
    }    ”
Y kısmını zaten biliyorsunuz, S ise ana mod dosyamızın bulunduğu package’ın adı.

Şimdilik bu kadar gösterdim. Blok şuan oyunda ve Yaratıcı Mod’da “Bloklar” bölümünde (altlarda olacaktır büyük ihtimal ile farenin tekerleği ile kayarsınız aşağıya). Fakat dokusu (texture) olmadığı için mor ve siyah kareler halinde görünecektir. Herhangi bir özelliği yok. Belirli bir dayanıklılığı yok bu nedenle tnt veya creeper rahatlıkla patlatır. Belirli bir sertliği yok bu nedenle el ile bile tek vuruşta kırılır. Özel sesi yok ama materyalini gösterdiğimiz için ona göre bir ses verir. Eğer  kazmayla kırılmasını ama toprak sesi çıkarmasını istersek özel ses gireriz. Ya da bu blok kırıldığında ne düşürecek kendisini mi yoksa herhangi bir eşyayı mı (cevher mesela)?

Yukarıdakileri devamında yazarım. Devamını isterseniz belirtin. Ona göre istemiyorsanız boşuna uğraşmam. Bu kadar uzun bir yazıyı üç kez yazmak zorunda kaldım. Destek bekliyorum. İyi eğlenceler.

Bu arada şuan bir mod yazıyorum. Onu da eğer bitirirsem yüklerim. Ama biraz basit olacaktır. Daha sonra kendimi geliştiririm. Yani bir buildcraft beklemeyin. 😀

Etiketler:
, , , , , ,

Eklenme:
27 Ekim 2014

Bu yazı tarafından yazıldı.

Minecraft fanı, harika bir madenci ve farmer.

Twitter'dan Takip Et

  1. horus

    istiyom lan

  2. KadirBerk

    Çok karmaşık bir anlatım. Ayrıca bu kadar detaylı anlatmana gerek de yoktu.

    • Centeglassered

      Herkes iyice öğrensin diye anlattım sonuçta yarım yamalak öğrenmelerini istemiyorum. Bu Forge kalıplarını öğrenirlerse deneyerek devamını getirirler. Zaten bir bütün olarak gösterdim. Daha sonra her kelimenin ne anlama geldiğini ve neden kullanıldığını da yazacağım. Anlaşılabileceğini düşünüyorum.

      • KadirBerk

        Sıfırdan başlayacak biri bunu anlayamaz. Yaptığınız anlatımdan sadece java bilenler anlayabilir…

        • Centeglassered

          Zaten ben Forge ‘un sitesinde mod yazmayı öğrendim. Daha bilmediğim şeyler de var. Fakat açarsanız Forge’un sitesini orada “Biraz Java kodlamasını bilmeniz gerekiyor.” yazıyor. Ben bunu sade olarak anlatmaya çalıştım. Ve bana göre bu çok basit bir anlatım. Eğer Java bilen bir topluluğa yazsaydım inanın çok daha farklı bir yazı olurdu. Ben Java bildiğim için kendimden söylüyorum.

        • AhmetCan

          Derslerinin Devamını Beklerim

  3. AhmetCan

    admin onaylama

  4. nasıl yaaa oyunu actım yok

    olmuyor daha iyi bir sekilde anlat nasıl yani bir yeni metin belgesi açıp içine

    public class( public final static Block X =tıtle.bronz.cevherı new Y(Material.Z bronz
    @EventHandler
    public void init(FMLInitializationEvent event)
    GameRegistry.registerBlock(X, “X”);
    LanguageRegistry.addName(X tıtle.bronz.cevheri, “T bronz cehveri”);
    boylemi 1 tanesine digerine soyle yazdım

    package S;7

    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;

    public class Y extends Block
    {
    public Y version(Material material)
    {
    super(material);

    setCreativeTab(CreativeTabs.tabBlock);
    }
    }
    yaptım olmadı 2. bolumde daha ıyı acıkla lutfen

    • Centeglassered

      Sitede zaten bir seri vardı. Onları uyguladıktan sonra yapacaktınız. En iyisi ben sonraki yazıda başlangıcı göstereyim.

    • Centeglassered

      Yeni yazıyı oluşturdum. Başlangıcı detaylı istedin. 2 bölüm olacak. İlk bölüm hazır. Ama editör ol butonu değişmiş. Bu nedenle bekleyeceğiz. Bunları metin belgesine yapmayacaksın. Yazıyı beklersen mutlu olurum.

  5. ee diyorsun metin belgesine yazmıcaz nereye yazcaz

  6. ama benimki launcher

  7. abi bunları neye yazacaz mcreator a mı neye yani

  8. Serdar

    Hazır kodları versene

  9. ReizYilan

    Lütfen yardım edin yada özel ulaşarak sorunu çözmeme yardım edin mod yazıyorum ama burdaki konuyla alakası yok…
    Ben yarasadan bir eşya düşmesini istiyorum ama düşmüyor bu eşyayı kendim kodladım kodu nereye yazmam gerekli packet açmam lazımı hangi kodları kullanmalıyım gibi şeyleri sölermisiniz ama lütfen şunu yapma pls
    ItemStack stack = new ItemStack(Items.stick);
    direk modun içinden bir itemi yerine yaz şimdiden tşk

  10. Serkankisa

    Saol

Centeglassered için cevap yaz