Minecraft Plugin Yazma

Thraenkost

Lapis Toplayıcısı
Mesajlar
936
En iyi cevaplar
1
Beğeniler
400
Puanları
990
Ruh hali
minecraft-türk-oyun-forumu.png


FPEYDXXHFD1EVUD.LARGE.jpg


Minecraft Plugin Yazma

Merhaba arkadaşlar ben SsFightsS. Bugün sizlere Minecraft'ta plugin nasıl yazılır onu anlatacağım.

Plugin Nasıl Yazılır ?

Gerekli Programlar

Plugin yazmak için öncelikle Java bilginizin olması gerekir. Java öğrenmeden Minecraft Plugin yazma işlerine girişmenizi önermem.
Java yazmak için birçok yazılım bulunmakta. Ancak biz bu konumuzda "Eclipse" adlı programı kullanacağız.

Fakat sadece "Eclipse" yüklemek yeterli değildir. Bilgisayarınızda "Java" ve "Java JDK" bulunması gerekir. JDK'nin kurulumunu aşağıda vereceğim.


"eclipse.org/downloads/" Adresine gidin.
Sonra altta bulunan "Eclipse Photon"'u indirin ve indirdikten sonra çalıştırın.
Programın kurulmasını bekleyin.


OomphSimpleInstaller2.png


Bu ekran gelince en üstteki "Eclipse IDE for Java Developers" seçeneğine tıklıyoruz.
Ve programın kurulmasını bekleyin.

"oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html" Adresine gidin.
Orada bulunan bağlantılardan işletim sisteminize uyan sürümü indirin ve çalıştırın. (İşletim sisteminiz Windows ise Windows'u indirin.)

Eclipse ile Plugin Yazma

Öncelikle bize Minecraft Server JAR dosyası gerekli. (Spigot veya Bukkit)
Aşağıda vereceğim bağlantıdan JAR dosyasını indirip veya sunucunuzda bulunan JAR dosyasını kullanabilirsiniz


getbukkit.org/download/craftbukkit [Bukkit]

getbukkit.org/download/spigot [Spigot]

Eclipse ve JDK (Java Development Kit)'i yükledikten sonra Eclipse'yi çalıştırın.
Daha sonra sol üst köşede bulunan "File" kısmına tıklayın. Sonra "New" => "Java Project" yolunu izleyin.


1- Projeyi Oluşturma

Şimdi projemize bir isim verelim.

konu1.png


Daha sonra "Next >" butonuna tıklayın.

"Libraries" kısmına gelin ve "Add External JARs"'a tıklayın.

konu2.png


Burada indirdiğiniz veya sunucunuzda bulunan JAR dosyasını ekliyoruz

Benim bilgisayarımda Spigot 1.8.8 sürümü olduğu için onu ekliyorum.

.
konuasd.png


Ardından "Finish"'e tıklayıp projemizi oluşturuyoruz.

2- Package (Paket) Oluşturma

Plugin yazmak için gerekli şeylerden biridir. Package nasıl oluşturulduğunu bilmiyorsanız bu bölümü inceleyiniz.

İlk olarak sol kısımda oluşturduğumuz projeye sağ tıklıyoruz.
Sonra "New" kısmına gelip "Package"'yi seçiyoruz.


konu3.png


Sonra oluşturacağımız paketin adını yazalım.
Ben genelde paketin ismini şu şekilde yapıyorum: me.<yapan kişi>.main



konu4.png


Sonra "Finish" butonuna basıyoruz.
Ve paketimiz oluştu.


3- Class (Sınıf) Oluşturma

Class (Sınıf) oluşturacağımız nesneler için bir tür şablon görevi görmektedir.
Eğer sınıf oluşturmayı bilmiyor iseniz bu bölüme bakınız.


Sol kısımda bulunan "src" klasörüne sağ tıklayın. Daha sonra "New" kısmına gelerek "Class" kısmına tıklayın.

konu5.png


Şimdi oluşturacağımız sınıfa bir isim verelim.
"Name:" kısmına istediğiniz ismi verebilirsiniz.


konu6.png


Daha sonra "Finish" butonuna basıyoruz ve sınıfımız oluşmuş oluyor.


konu7.png


4- Örnek Bir Plugin

Paket ve sınıfımızı oluşturduktan sonra yavaştan kodlara girelim. Şimdi örnek bir plugin yazalım. Oyuncu "/selam" yazınca "Sana da selam <oyuncunun ismi>" şeklinde bir komut yazalım.

Öncelikle oluşturduğumuz sınıfı şu şekilde değiştirelim:
Kod:
public class <Oluşturduğunuz Sınıfın İsmi> extends JavaPlugin implements Listener {

}

Büyük ihtimal "JavaPlugin" ve "Listener" kısmı hata verecektir. (Hata verdiğini kodun altı kırmızı çizgili olduğundan anlayabilirsiniz.)
Bu hataları düzeltmek için "Ctrl" + "Shift" + "O" tuş kombinasyonunu yapabilirsiniz.


Artık hatalarımız düzeldi. Şimdi sunucu açıldığında eklenti konsola "Aktifim" diye bir mesaj göndersin.
Kod:
public class PluginKodluyoruz extends JavaPlugin implements Listener{
    
    public void onEnable() {
        
        Bukkit.getPluginManager().registerEvents(this,this);
        System.out.println("Aktifim.");
        
    }
}

Şimdi de sunucu kapandığında konsola "Devre dışıyım" diye bir mesaj göndersin.
Java:
public class PluginKodluyoruz extends JavaPlugin implements Listener{
    
    public void onEnable() {
        
        Bukkit.getPluginManager().registerEvents(this,this);
        System.out.println("Aktifim.");
        
    }
    
    public void onDisable() {
    
        System.out.println("Devre dışıyım.");
    
    }
}

Yazacağımız eklentinin giriş çıkış mesajları hazır. Şimdi "/selam" komutunu yapmaya başlayalım.

Öncelikle komut için bir boolean oluşturalım.


Java:
public boolean onCommand(CommandSender gonderici, Command komut; String Label, String args[]) {

    if(komut.equalsIgnoreCase("Selam"))  { //Bu kısımda komutumuzu oluşturduk.


    }

    return false; //Boolean kullandığımız için false veya true diye bir değer döndürmemiz gerekir. Aksi takdirde kod hata verir.


}


Komutumuzu oluşturduktan sonra oyuncuya "Sana da selam <oyuncu ismi>" diye bir yazı göndersin.
Java:
public boolean onCommand(CommandSender gonderici, Command komut; String Label, String args[]) {

    if(komut.equalsIgnoreCase("Selam"))  {

        Player oyuncu = (Player) gonderici; //Komutu yazan oyuncuyu "oyuncu" değişkenine kaydettik.
        oyuncu.sendMessage("§aSana da selam" + " §e" + oyuncu.getName()); //Bu kısımda oyuncuya mesaj gönderiyoruz.

    }

    return false;.

}

Java:
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class PluginKodluyoruz extends JavaPlugin implements Listener{

    public void onEnable() {

        Bukkit.getPluginManager().registerEvents(this,this);
        System.out.println("Aktifim.");

    }

    public void onDisable() {

        System.out.println("Devre dışıyım.");

    }

    public boolean onCommand(CommandSender gonderici, Command komut, String Label, String args[]) {

        if(komut..equalsIgnoreCase("Selam")) {
  
            Player oyuncu = (Player) gonderici;
  
            oyuncu.sendMessage("§aSana da selam." + " §e" + oyuncu.getName());
  
            return true;
  
        }

        return false;

    }

}

Ve artık kodumuz hazır. Şimdi yapmamız gereken şey ise "plugin.yml" oluşturmak.

5- plugin.yml Oluşturma

"plugin.yml", Pluginin özelliklerini barındıran bir dosyadır.

Oluşturduğumuz Java Project'e sağ tıklayın. "New" kısmına gelin ve "File"'i seçin.

konu8.png


Şimdi "File Name:" kısmına "plugin.yml" yazıyoruz ve "Finish"'e tıklıyoruz.

konu9.png


Dosyayı oluşturduktan sonra onu açın ve şunları yazın:
Kod:
name: (Pluginin adıdır. /pl yazdığınızda bu kısma yazdığınız yazı gözükür.)
main: (Paketin ismini ve kodları yazdığımız sınıfı yazıyoruz.) <paketin adı>.<oluşturduğumuz sınıfın adı>
version: (Eklentini sürümü)
author: (Eklentinin kimin kodladığı)
commands: (Eklentide yazdığımız komutları bu kısma kaydetmemiz gerekir. Yoksa sunucu bu komutları görmez.)
    komut1: (Rastgele bir komut)
        description: (Bu komutun açıklaması)

konu10.png

6- Yazdığımız eklentiyi JAR haline getirme

Önceden oluşturduğumuz Java Project'e sağ tıklayın. "Export" kısmına tıklayın.

Sonra "Java" klasörüne tıklayın ve "JAR File"'yi seçin. Sonra "Next >"'e tıklayın.

konu11.png


Aşağıda bulunan "Browse..." butonuna tıklayın. Daha sonra istediğiniz bir yer seçin. Ardından "Finish"'e tıklayın.

konu12.png


Artık eklentimizi JAR haline getirdik. Bunu sunucumuza yükleyip deneyebiliriz.

NOT: Eğer yazdığınız eklenti "/pl" kısmında gözükmüyor ise bir şeyleri yanlış yapmışsınızdır. Geri dönüp kontrol edin.

Konuma zaman ayırıp okuduğunuz için teşekkür ederim.
 


Son düzenleme:

MegaCrafter

Obsidyen Madencisi
Mesajlar
1,419
En iyi cevaplar
0
Beğeniler
1,542
Puanları
3,070
"Java bilginiz olmalıdır." dedikten sonra Java'yı bilen herkesin bilebileceği şeyleri söylemen bence biraz garip kaçmış. Ama onun dışında forumda hala yazılıma değer veren bir-iki kişinin olması mutluluk verici. (Yüksek ihtimalle değer görmeyeceği konusunda da hazırlıklı olmanı önerebilirim.)
 

Üst