VyolmZ

Öncelikle; Bir Java anlatımı hazırladım ona buradan erişebilirsiniz. (İndirip okumanızı öneririm öbür türlü Türkçe karakterler sorun çıkarıyor)

Eşya Oluşturma

Mod için gerekli ana bileşenleri bitirdiğimize göre artık eşya yapmaya başlayabiliriz değil mi?

İki yeni sınıf ve bir yeni paket oluşturacağız. Paketimizin ismi x.y.z.esyalar olsun. Önceki yazılardaki gibi x, y ve z yerine gerekli şeyleri yazın. İlk sınıfımızın adı Esya olacak. Eşyalarla bizim yerimize o uğraşacak. İçine şunları yazın;

package x.y.z.esyalar;

import cpw.mods.fml.common.registry.GameRegistry;
import x.y.z.kutuphane.MetinKaynagi;
import net.minecraft.item.Item;

public class Esya extends Item {

 public Esya(String no) {
 
 setUnlocalizedName(no);
 setTextureName(MetinKaynagi.MODID + ":" + no);
 }
 
 public void ekle() {
 
 GameRegistry.registerItem(this, getUnlocalizedName().substring(5));
 }
}

Burada biz oluşturmak istediğimiz eşyaya bir no (id) veriyor, dokusunu vs. ayarlıyor. Sonra bunu oyuna eklemek için yalnızca ekle metodunu çağıracağız ve bitti. Eşyamız hazır. Ana mod dosyamıza girersek oradaki // ITEMS ibaresini göreceksiniz. Aslında bu koda etki etmez. Çünkü bir yorumdur. Başında // olan satır yorum olur. Bu eşyaları nereye yazmamız gerektiğini gösteriyor sadece. Onun altına;

Esya deneme = new Esya("deneme");
deneme.ekle();

yazarsanız oyuna eklenir. Bu eşyayı almak için;

/give @p z:deneme

yazmanız gerekir. Tabii z yerine modid gelecek.

 

Düzenleme

Ama fark ettiğiniz gibi biz bu eşyaya hiç bir özellik doku vermedik. Dokuyu daha oluşturmadık bu nedenle mor-siyah görünüyor. Adı bile yok. item.deneme.name olarak görünüyor. Adları aynı kaynak paketlerinde olduğu gibi lang dosyalarıyla halledeceğiz. Eşyaya özellik de verdiğimizi düşünürsek… Ana sınıfımız +1000 satır olur falan. Çünkü bloklar, canavarlar vs. doldurur. Bu nedenle x.y.z.esyalar paketinin içine 2. sınıfımızı oluşturuyoruz. Adı EsyaYoneticisi olacak. İçinde şunlar yazmalı;

package x.y.z.esyalar;

public class EsyaYoneticisi {
 
 public static void kur() {
 
 tanimla();
 ekle();
 }

 private static void tanimla() {

 }

 private static void ekle() {

 }
}

Fark ettiğiniz gibi biz ana mod dosyamızda direkt kur() metodunu çağıracağız. O da kalan tanımla() ve ekle() metotlarını çağıracak. Bu metotları çağırmak için nesneye ihtiyacımız yok çünkü başlarında static var. Ayrıca zaten tanimla() ve ekle() metodunu biz dışarıdan çağıramayız çünkü private lar. Yani yalnızca kendi dosyalarında kullanılabilirler.

Ana mod dosyamızda // ITEMS bölümünün altına EsyaYoneticisi.kur(); yazıyoruz. Daha sonra eşyalarımızı burada oluşturacağız.

Eşya oluşturmak için şunu örnek alın;

package x.y.z.esyalar;

public class EsyaYoneticisi {

 public static Esya deneme; 

 public static void kur() {
 
  tanimla();
  ekle();
 }

 private static void tanimla() {

  deneme = new Esya("deneme");
 }

 private static void ekle() {

  deneme.ekle();
 }
}

 

Doku Oluşturma

Şimdi dokuları nasıl oluşturacağımıza geçelim. Forge kurduğumuz klasörün içinde src\main\resources klasörüne gelelim. Daha sonra şu klasörleri oluşturalım;
resources —> assets

assets —> z (modid)

z (modid) —> textures

textures —> items

items —> no.png

Eşya dokuları src\main\resources\assets\z\textures\items klasörüne girecek.

no.png bizim dokumuz olacak. Yani kodda nosunu “deneme” olarak verdiğimiz eşyanın dokusu deneme.png olmalı. Dokuları oluştururken  paint.net‘i kullanmanızı öneririm. (Açılan sayfada sağda indirme bağlantısı var.)

 

İsim Verme

Şimdi geldik isim vermeye.

lang dosyamızı oluşturmak için;

src\main\resources\assets\z\lang klasörü oluşturup içine tr_TR.txt koyun.

İçine item.deneme.name=Deneme Eşyası vs. bir ad yazın ama başındaki item.deneme.name önemli. Eşittir ile ad birleşik olacak.

Daha sonra farklı kaydetten bunu tr_TR.lang olarak kaydedin.

Eğer Türkçe karakter kullanmayacaksanız bunun en_US.lang halini yapıp bitirebilirsiniz.

Eğer Türkçe karakter kullanmak istiyorsanız, dosyayı Notpad++ ile açıp yukarıdaki Kodlama sekmesinden UTF-8’e Dönüştür tuşuna basın.

Bunun en_US.lang halini yapın.

en_US.lang neden önemli, çünkü eğer oyuncunun seçtiği dilin lang dosyası yoksa en_US.lang kullanılır.

Eğer bunların dışında bir dil eklemek istiyorsanız bu sayfadaki listeye bakın. O listedeki Locale Code dosya adı olmalı.

Etiketler:
, , , , , , ,

Eklenme:
08 Haziran 2015

Bu yazı tarafından yazıldı.

Üç yıldır Minecraft oynuyor ve bir yıldır mod yazıyorum. Kızıl taş ve komut blokları hakkında da çok şey bilirim.

Twitter'dan Takip Et

  1. Berkay

    güzel bir konu, her zamanki gibi yine karışık geliyor ama mod yazmaya girdiğimde bu dersleri kullana bilirim 😀

  2. Uraz

    Teşekkürler iyi fikir

  3. ahmet selim

    helal be ben hayatta yapamam

  4. minecraft prosu

    ben tam 10 yıldır minecraft oynuyom ve tam 4 yıldır mod yazıyom en kötüzü bence flans moıd

    • Amaçsız Gezen

      Kardeşim minecraft 10 yıldır yok lütfen yalan söyleme 2009da çıktı ilk olarak piyasaya 2011de girdi

    • Baran Köker

      Yalan atma 10 yıldır minecraft yok zaman makinesimi yaptın la 😀

    • 4lphax

      1. si 10 yıldır minecraft yok 2. si Flan’s Mod kötü demişsin bakmadıysan 1.8 indir sonra bazı ek paketler var onlara bak nekadar gerçekçi anlarsın..

      • ali

        sana katılıyom ve ek pack indirmeyi bilmedenbnde diyodum öyle
        ama malesef bn 1.7 severim ama en güzel packlar malesef 1.6 1.5 gibi sürümlerde

  5. OtakuOyunda

    devamı gelecekmi

  6. YORUMCU

    BUNDA NE ANLATMAYA ÇALIŞIYOR DOWLOAD YOK

  7. Berkay

    abi çok güzel anlatmışsın yine sağol 😀

  8. ben normal herobrine modundan daha güzel bi herobrine mod yapcam görceksiniz
    oyunu herobrine olmadan oynayamayacaksınız ve yavru herobrine bile olcak herobrine totemi oluşunca gözü mavi olcak ve sizi rahat bırakmayacak ve herobrine size saldırınca 4 canınız gidecek ve herobrine vs hacker diye bi video var o videodaki evi herobrine evi yapacam ve mod hazır olacak. bide bu siteye mod nasıl gönderiliyor ??

  9. samed

    bu nasıl yapılır arkadaşlar

  10. murat

    Abi nasıl indirildi

  11. murat

    Beyden indirildi

  12. murat

    Kim benle ortak olacak

  13. Musa Kuzgun

    Minecraft, küplerle çeşitli tasarımlar yapmanızı sağlayan 3 boyutlu oyundur. Programın ilk sürümleri Markus “Notch” Persson tarafından yazılmıştır ve Notch’un kurduğu Mojang şirketi çatısı altında geliştirilmektedir. Oyun; Dwarf Fortress, RollerCoaster Tycoon, Dungeon Keeper ve Infiniminer oyunlarından ilham alınarak geliştirilmiştir. Minecraft, 16 Mayıs 2009’da halka açık sürümden önce toplam 1 haftada yazılmış ve TIGSource forumlarında yayınlanmıştır ve oyun popülerliğini, dikkate değer ölçüde bu forumdan kazanmıştır. Oyun ilk sürümden beri güncellenmeye devam etmektedir. Oyun ile birlikte Mojang, daha sonra 2,5 milyar $’a Microsoft’a satılmıştır. Minecraft’ın 3 platformu vardır: Pocket Edition (mobil sürümü), Computer Edition (bilgisayar sürümü) ve Console Edition (konsol sürümü). Son olarak oyunun 1.9 sürümü çıkmıştır.

    Kaynak: Wikipedia

  14. byzspk

    Doku olusturmada daha fazla secenek vardir ama soylemem gerek en son aklima gelen paintti

murat için cevap yaz