CommandExecutor nedir?

MrPoteyto

Is the excellence? Ok..
En iyi cevaplar
0
Merhaba. Bugün forumda dolaşırken CommandExecutor adlı bir şey gördüm ve bunun ne olduğunu merak ettim. Sadece forumda da değil, başka yerlerde de gördüm. Bu nedir ve ne işe yaramaktadır?
 

java10

kız çava bana kahve yap
En iyi cevaplar
0
commandex. aslında listener gibi bir imp. tir yani o classın komut classı komut ırkı olduğunu belli eder bi tane imp i vardır bildiğiniz gibi oncommand tır main class ın javapluginin içinde oncommand olduğundan imp edilmez ama başka bi class ta boş bi class ta ise imp edilmesi gerekir nasıl kullanılır;
yeni class ta;
Kod:
public class classismi imp. commandexe.

on command import et ve on enable gel;
Kod:
getCommand("command ismi").setexecutor(classismi(commandclassı));

ardından plugins.yml e gelip en alta

Kod:
commands:
  commandismi:
    description: bu güzel bi komuttur
    permissions: admin.komut
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
Komut olarak eklediğin şey aslında o*
public void onEnable() {
this.getCommand("patates").setExecutor(new PatatesCommand());
this.getCommand("patates").setTabCompleter(new PatatesCommand());
this.getCommand("patates2").setExecutor(new Patates2Command());
}
Örneğin 2 farklı komut ama ikisi de Main classında değil*
2sinin de kendi classı var, amaç düzen yani .-.
public class Patates2ommand implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command command, String label,
String[] args) {
olaylar olaylar
}
}
gibi bir class direk*
Tap completerlarını da kendilerine özel classta vs yapıyorsun yine
@Override
public List<String> onTabComplete(CommandSender sender, Command command,
String label, String[] args) {
olaylar olaylar
}
}
gibi*
 

MrPoteyto

Is the excellence? Ok..
En iyi cevaplar
0
Javada daha acemiyim ve merak ettiğim bir şey daha var. @Override neden yazıyorsunuz bazı metodların üstüne :)
 

java10

kız çava bana kahve yap
En iyi cevaplar
0
Javada daha acemiyim ve merak ettiğim bir şey daha var. @Override neden yazıyorsunuz bazı metodların üstüne :)
üzeri yaz anlamındadır o ovverride yaptığımız method daha önce ki class ta yani extends ettiğimiz class ta var içinde bişiler olabilir ve ya olmayabilir sen onun üzerine override ediyorsun yani üzerine yazıyorsu cop paste deki mantık
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Javada daha acemiyim ve merak ettiğim bir şey daha var. @Override neden yazıyorsunuz bazı metodların üstüne :)
O sadece kod düzeni için. Yani senin o method'u extends ettiğin veya implements ettiğin diğer sınıftan alıp yazdığını görmen için küçük bir Annotation o sadece. Mesela onCommand(...) method'u CommandExecutor içinden geliyor, o yüzden başına @Override yazarsan bu method'u senin tanımlamadığını, implement ettiğin CommandExecutor'dan geldiğini daha rahat anlayabilirsin. Tabi bu @Override sadece diğer sınıflardan alıp üstüne yazdığın metodların üzerine yazılabildiği için keyword'leri, ismi ve parametreleri doğru yazıp yazmadığını da görebilirsin. Koyup koymamanın bir etkisi yok kısaca.
 
Üst