Çözüldü Plugin yapma

  • Konuyu Başlatan Konuyu Başlatan ByNeels
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 1.017
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ByNeels

MC.KadimOyuncu.Network
Katılım
15 Haziran 2019
Mesajlar
220
Elmaslar
59
Puan
13.470
Minecraft
ByNeels

Discord:

ByNeels

Java:
World world = Bukkit.getWorld("world");
for(Chunk c : world.getLoadedChunks()){
     for(BlockState b : c.getTileEntities()){
          if(b instance of Spawner){
              Spawner spawner = (Spawner) b;
              b.remove();
}}}
Elimde böyle bir Java kodu var bunu nasıl bir plugine çevirebilirim, kullanabilirim?
 
Varmı yapabilecek?
 
Öncelikle kodunuzdaki kapanış } ların hizzaları tam doğru değil, aşağıdaki daha doğru olacaktır.


Java:
World world = Bukkit.getWorld("world");

for (Chunk c : world.getLoadedChunks()) {
     for (BlockState b : c.getTileEntities()) {
          if (b instanceof Spawner) {
              Spawner spawner = (Spawner) b;
              spawner.remove();
          }
     }
}

Bunu RemoveAllSpawners adında bir plugine çevirmek için tam bir class dosyasını ise aşağıya bırakıyorum, importları koymuyorum Eclipse'de CTRL+SHIFT+O, IntelliJ'de ise ALT+ENTER tuşları ile importları atabilirsiniz, eğer birden fazla seçenek çıkarsa org.bukkit ile başlayan importları seçin.


Java:
public class RemoveAllSpawners extends JavaPlugin {
    @Override
    public void onEnable() {
        World world = Bukkit.getWorld("world");

        for (Chunk c : world.getLoadedChunks()) {
             for (BlockState b : c.getTileEntities()) {
                  if (b instanceof Spawner) {
                      Spawner spawner = (Spawner) b;
                      spawner.remove();
                  }
             }
        }
    }
}

Package adınızı örnek olarak com.lifemcserver.removeallspawners yapabilirsiniz. Class isminizi attığım kodda örnek olması açısından RemoveAllSpawners yaptım, plugin adınızda bu olabilir.

Ek: Bu kod sadece şu anda yüklü olan chunklarda ki aktif tile entityleri alıp spawnerları silecektir, yani tüm spawnerları silmez. Tam olarak istediğiniz şeyin bu olduğunu düşünmüyorum.
 
Öncelikle kodunuzdaki kapanış } ların hizzaları tam doğru değil, aşağıdaki daha doğru olacaktır.


Java:
World world = Bukkit.getWorld("world");

for (Chunk c : world.getLoadedChunks()) {
     for (BlockState b : c.getTileEntities()) {
          if (b instanceof Spawner) {
              Spawner spawner = (Spawner) b;
              spawner.remove();
          }
     }
}

Bunu RemoveAllSpawners adında bir plugine çevirmek için tam bir class dosyasını ise aşağıya bırakıyorum, importları koymuyorum Eclipse'de CTRL+SHIFT+O, IntelliJ'de ise ALT+ENTER tuşları ile importları atabilirsiniz, eğer birden fazla seçenek çıkarsa org.bukkit ile başlayan importları seçin.


Java:
public class RemoveAllSpawners extends JavaPlugin {
    @Override
    public void onEnable() {
        World world = Bukkit.getWorld("world");

        for (Chunk c : world.getLoadedChunks()) {
             for (BlockState b : c.getTileEntities()) {
                  if (b instanceof Spawner) {
                      Spawner spawner = (Spawner) b;
                      spawner.remove();
                  }
             }
        }
    }
}

Package adınızı örnek olarak com.lifemcserver.removeallspawners yapabilirsiniz. Class isminizi attığım kodda örnek olması açısından RemoveAllSpawners yaptım, plugin adınızda bu olabilir.

Ek: Bu kod sadece şu anda yüklü olan chunklarda ki aktif tile entityleri alıp spawnerları silecektir, yani tüm spawnerları silmez. Tam olarak istediğiniz şeyin bu olduğunu düşünmüyorum.
Tüm Spawnerları silecek şekilde bir Plugin yapabilir misiniz? Benim için çok önemli.
 
Tüm Spawnerları silecek şekilde bir Plugin yapabilir misiniz? Benim için çok önemli.

Tüm spawnerları dünyalardan direkt kaldırmak için MCEdit gibi programlar kullanmanız gerek, Bukkit API ile sadece yüklü olan chunklardaki spawnerlar silinebilir.
 
Tüm spawnerları dünyalardan direkt kaldırmak için MCEdit gibi programlar kullanmanız gerek, Bukkit API ile sadece yüklü olan chunklardaki spawnerlar silinebilir.
Biraz cahil kaldım. Rica etsem yapabilir misiniz. Çok makbule geçer.
 
Tüm spawnerları dünyalardan direkt kaldırmak için MCEdit gibi programlar kullanmanız gerek, Bukkit API ile sadece yüklü olan chunklardaki spawnerlar silinebilir.
MCEdit kuruyorum ama hata veriyor size dosyayı atsam yapabilir misiniz acaba. Şimdiden teşekkürler.
 
inCollage_20191114_073744300.jpg

Böyle bir hata alıyorum.
 
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