Rehber Minecraft eklenti dersleri event(olay)ler #1 PlayerInteractEvent

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ordu34

Somon Balığı Selam Vermeye Geldi
Katılım
14 Kasım 2021
Mesajlar
18
Elmaslar
10
Puan
370
Yaş
18
Minecraft
ordu34

Discord:

ordu34#1869

Bugün PlayerInteractEventi göstereceğim.

İlk önce listener @eventhandler ve event kaydetmeyi halledelim.

Ekran Görüntüsü (22).png


registerevents olay kaydedici demektir eğer javaplugini "extends"lemezseniz olmaz. "extends" ve "implements"in ne olduğunu açıklmayacağım çünkü yarım yamalak aklınızda kalabilir merak edenler java oop videolarını izleyebilir.

niçin PlayerInteractEvent e yazdık? Çünkü: PlayerInteractEvent tipinde bir e parametresi oluşturmak için yani şöyle tanımlayabiliriz:
Türkçe açıklayacağım.
(Değişken tipi) (Değişken) şeklinde düşünülebilir.

.getPlayer() : Bunu eylemi yapan oyuncuyu bize getirir (javada get getirmek anlamında kullanıldığı için bunlar hep veri almak için kullanılır)

örn;

Player oyuncu = e.getPlayer();

Burada ise şöyle oluyor:

(Değişken tipi) (Değişken) = (Değişkenin ne olduğu)
şeklinde tanımlayabiliriz

peki neden e ye nokta koyup böyle yazdık?

getPlayer() PlayerInteractEvent in alt metodudur işte bu yüzden yani bizim dokunmaeventi gibi bizim metodumuza private eklemezseniz oyuncutiklamaeventi.dokunmaeventi(); yazabilirler

sonuç olarak getPlayer() bir alt metotdur.

Eğer hata verirse importlamayı unutmuş olabilirsiniz :) kelimenin üstüne gelip beklemeniz yeterli

Ekran Görüntüsü (23).png

Burada oyuncu değişkenini kullanmadığımız için fazla yer kaplamasın diye eclipse bize hata veriyor ama sorun değil yine de program sorunsuz çalışır.

.getAction();

action eylem demektir yani action u eylem gibi düşünebiliriz yani şöyle

Yapılan bu eylemi ifade etmek için:

Action eylem = e.getAction();

Ekran Görüntüsü (24).png


getClickedBlock() ve Blok tipi tanımlamak kaldı yani Block Blok = e.getClickedBlock();
yani PlayerInteractEvent işleminin tıklanan bloğunu getirmiş olduk
Ekran Görüntüsü (26).png


Eylemi neyle yapmamız gerektiğini eylem.equals(); kullanıyoruz equals bir java metodudur ne olduğuna araştırıp bakabilirsiniz eşitleme yapmak için kullanılıyor (Boolean) türündedir.

Ekran Görüntüsü (27).png

Action eylem demektir yani eventin actionu değil eylem olan actionu alıp ne ile (sol ile bloğa tıklama yada havaya, sağ ile bloğa tıklama ya da havaya)
kullanmamız gerektiğini söyledik ve ona göre işlemler yapacağız yani if'in içindeki parantez doğruysa süslü parantez içindeki kodları yapacak yani şöyle diyoruz eğer(eylem.eylem.bloğasoltika eşitse){} gibi bişi oluyor çok saçma oldu işte öyle

getType() bir şeyin tipini döndürür örn;

blok.getType(); diyelim zümrüt bloğuna tıkladık Material.EMERALD_BLOCK diye döndürür if ile boolean şeklinde kullanılabilir

Ekran Görüntüsü (28).png


equals(); eşitleme için kullanılır. java metodudur.

hasBlock() Bu olayın bir blok içerip içermediğini kontrol etmek için kullanılıyor çok saçma açıklaması var ama öyle .d

hasItem() Bu olayın bir öğe içerip içermediğini kontrol etmek için kullanılır.

isBlockInHand() blok koyma olayı olduğunu öğrenmek için kullanılır.

getItem() Bu olay tarafından temsil edilen eldeki öğeyi döndürür

useItemInHand() Bu metot oyuncunun elinde tuttuğu öğeyle yapılacak eylemi kontrol ediyor yani şöyle açıklayayım bu öğeyle bu işlem olcak gibi birşey

Devamı gelecek bu dersi kısa tutmak istedim!!
 
Son düzenleme:
Bilgilendirici bir konu olmuş. Ellerine sağlık.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst