Vip-Girdi Plugin Kaynak Kodları

ByUmut_

YASAKLANDI
En iyi cevaplar
0
Merhaba Bugun Sizlere Vip-Girdi Kaynak Kodlarını Sizlere Verecegim:
Versiyon 1.0
PHP:
package me.umut.vipgirdi;

import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin
  implements Listener
{
  public FileConfiguration config;
  public File dosya;
  public PluginManager tldspp = Bukkit.getServer().getPluginManager();
  public static final Logger log = Logger.getLogger("Minecraft");

  public void onEnable() { this.config = getConfig();
    this.config.options().copyDefaults(true);
    this.dosya = new File(getDataFolder(), "config.yml");
    saveConfig();
    log.log(Level.INFO, "[Vip_Girdi] Aktif!");
    this.tldspp.registerEvents(this, this); } 
  @EventHandler(priority=EventPriority.HIGHEST)
  public void onJoin(PlayerLoginEvent e) {
    if (e.getResult() == PlayerLoginEvent.Result.KICK_FULL) {
      Player oyuncu = e.getPlayer();
      e.setKickMessage(getConfig().getString("Sunucu-Dolu").replaceAll("&", "§"));
      if ((oyuncu.isOp()) || (oyuncu.hasPermission("vipgirdi.gir"))) {
        e.allow();
      }
      if (this.config.getBoolean("Dolu-Sunucuya-Giriste-Oyuncu-Kick")) {
        if (!oyuncu.hasPermission("vipgirdi.gir")) return;
        Player royuncu = Bukkit.getOnlinePlayers()[new java.util.Random().nextInt(Bukkit.getOnlinePlayers().length)];
        Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "kick " + royuncu.getName() + " §4Oyuna VIP Girdigi İçin Atıldınız!");
      }
    }
  }

  public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
    if (komut.getName().equalsIgnoreCase("vipgirdi")) {
      if (!gonderen.hasPermission("vipgirdi.komut")) {
        gonderen.sendMessage ("§cYetkiniz Yok!!");
        return true;
      }
      if (args.length != 1) {
        gonderen.sendMessage("§b/vipgirdi §fyenile");
        return true;
      }
      if ((args.length == 1) && (args[0].equalsIgnoreCase("yenile"))) {
        reloadConfig();
        saveConfig();
        gonderen.sendMessage("§b[Vip-Girdi] §fAyarlar Yenilendi!");
        return true;
      }
    }
    return false;
  }[/COLOR]



plugin.yml
[PHP]name: Vip-Girdi
version: 1.6.9
main: me.umut.vipgirdi.Ana
author: ByUmut_
commands:
    vipgirdi:
        description: ana komut.
permissions:
    vipgirdi.gir:
        description: dolu sunucuyagirme.
        default: op
    vipgirdi.komut:
        description: ana komuta erisim.
        default: op
config.yml

Kod:
Sunucuya-Giriste-Oyuncu-Kick: true
Sunucu-Dolu: '&4Sunucu Ağzına Kadar DOLU!'
[/SIZE]
 
Son düzenleme:

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Pluginin kaynak kodunu paylaşman güzel de neden şu satırı;
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "kick " + royuncu.getName() + " §4Oyuna VIP Girdigi İçin Atıldınız!");
neden böyle yaptın ? şöyle yapabilirdin;
royuncu.kickPlayer("§4Oyuna VIP Girdigi İçin Atıldınız!");
 

ByUmut_

YASAKLANDI
En iyi cevaplar
0
Pluginin kaynak kodunu paylaşman güzel de neden şu satırı;
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "kick " + royuncu.getName() + " §4Oyuna VIP Girdigi İçin Atıldınız!");
neden böyle yaptın ? şöyle yapabilirdin;
royuncu.kickPlayer("§4Oyuna VIP Girdigi İçin Atıldınız!");
Haklısın Neden Öyle Yaptım Bilemiyorum :D
 

SecretWither

Marangoz
En iyi cevaplar
0
Java Ögrenmeye Başlamışın Hayırlı Olsun :)
Sağol'da bende böyle eklentiler yazmak istiyorum. O iş nasıl olacak?
Anca elimde kim korkar javadan adlı kitap nqpcamı şaşırdık. Önce kitabımı öğrenmem gerikekiyor? Yoksa iksiini aynı anda yapmammı? Birde şu rush şeysi noldu?
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
Güzel olmuş, kodlama basit, öğretici, ama bence bazı eksiklerin var. Kendimce bazı yerlerini değiştirdim, sildim ve ekleme yaptım.
Öncelikle özel bir onEnable, onDisable logu bana çok gereksiz geliyor. Bunu zaten Bukkit yapıyor, ikinci bir log sadece konsol loglarını şişirir. Bu nedenle kaldırdım.
Config sisteminde gereksiz bazı şeyler kullanmışsın, değiştirdim, bir göz atarsın.
VIP oyuna girdikten sonra ayarlı ise VIP olmayan bir oyuncunun oyundan atılmasını yapmışsın, ancak random seçilecek bu oyuncunun VIP olup olmadığını kontrol etmemişsin. Bir VIP girdi diye oyundan atılacak olan diğer VIP bu duruma kızabilir. Bununla birlikte random oyuncunun null olup olmadığını da her zaman kontrol etmekte yarar vardır.
Eğer istediğimiz koşullar sağlanıyorsa random oyuncuyu kickleyebiliriz, fakat sağlanmıyorsa, yeni bir random oyuncu seçmemiz gerekir.
Bu işi en iyi fonksiyon ile çözebilirsin. Belirlediğin koşullar sağlandığında random oyuncuyu kickleyecek, seçilmiyor ise fonksiyonu yeniden çağırarak yeni bir random oyuncu seçecek bir fonksiyon.
Değiştirdiğim başka yerler de olabilir, tam olarak hatırlayamıyorum.
Kodlarda gözümden kaçmış olan bazı kısımlar, hatalar olabilir belki, Eclipse yoktu elimde uyarı verecek, iş yerinde olduğum için notepad++'a kaldık.
Eğitici kodların yeni arkadaşlara faydalı olacaktır, onlar adına teşekkür ederim.

Bu da benim düzenlediğim versiyonu. config.yml ve plugin.yml orijinali ile aynıdır.
PHP:
package me.umut.vipgirdi;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin  implements Listener
{
  public void onEnable()
  {
    this.saveDefaultConfig();
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
  }

  @EventHandler(priority=EventPriority.HIGHEST)
  public void onJoin(PlayerLoginEvent e) {
    if (e.getResult() == PlayerLoginEvent.Result.KICK_FULL) {
      Player oyuncu = e.getPlayer();
      e.setKickMessage(getConfig().getString("Sunucu-Dolu").replaceAll("&", "§"));
      if ((oyuncu.isOp()) || (oyuncu.hasPermission("vipgirdi.gir"))) {
        e.allow();
        getConfig().getBoolean("Dolu-Sunucuya-Giriste-Oyuncu-Kick") ? kickRandomPlayer() : return;
        }
      }
    }
  }

  public void kickRandomPlayer(){
    Player royuncu = Bukkit.getOnlinePlayers()[new java.util.Random().nextInt(Bukkit.getOnlinePlayers().length)];
    if (!royuncu.hasPermission("vipgirdi.gir") && royuncu != null){
      royuncu.kickPlayer("§4Oyuna VIP Girdigi İçin Atıldınız!");
    } else { kickRandomPlayer(); }
  }

  public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
    if (komut.getName().equalsIgnoreCase("vipgirdi")) {
      if (!gonderen.hasPermission("vipgirdi.komut")) {
        gonderen.sendMessage ("§cYetkiniz Yok!!"); return true;
      }
      if (args.length != 1) {
        gonderen.sendMessage("§b/vipgirdi §fyenile"); return true;
      }
      if ((args.length == 1) && (args[0].equalsIgnoreCase("yenile"))) {
        reloadConfig();
        gonderen.sendMessage("§b[Vip-Girdi] §fAyarlar Yenilendi!");
        return true;
      }
    }
 

ByUmut_

YASAKLANDI
En iyi cevaplar
0
Güzel olmuş, kodlama basit, öğretici, ama bence bazı eksiklerin var. Kendimce bazı yerlerini değiştirdim, sildim ve ekleme yaptım.
Öncelikle özel bir onEnable, onDisable logu bana çok gereksiz geliyor. Bunu zaten Bukkit yapıyor, ikinci bir log sadece konsol loglarını şişirir. Bu nedenle kaldırdım.
Config sisteminde gereksiz bazı şeyler kullanmışsın, değiştirdim, bir göz atarsın.
VIP oyuna girdikten sonra ayarlı ise VIP olmayan bir oyuncunun oyundan atılmasını yapmışsın, ancak random seçilecek bu oyuncunun VIP olup olmadığını kontrol etmemişsin. Bir VIP girdi diye oyundan atılacak olan diğer VIP bu duruma kızabilir. Bununla birlikte random oyuncunun null olup olmadığını da her zaman kontrol etmekte yarar vardır.
Eğer istediğimiz koşullar sağlanıyorsa random oyuncuyu kickleyebiliriz, fakat sağlanmıyorsa, yeni bir random oyuncu seçmemiz gerekir.
Bu işi en iyi fonksiyon ile çözebilirsin. Belirlediğin koşullar sağlandığında random oyuncuyu kickleyecek, seçilmiyor ise fonksiyonu yeniden çağırarak yeni bir random oyuncu seçecek bir fonksiyon.
Değiştirdiğim başka yerler de olabilir, tam olarak hatırlayamıyorum.
Kodlarda gözümden kaçmış olan bazı kısımlar, hatalar olabilir belki, Eclipse yoktu elimde uyarı verecek, iş yerinde olduğum için notepad++'a kaldık.
Eğitici kodların yeni arkadaşlara faydalı olacaktır, onlar adına teşekkür ederim.

Bu da benim düzenlediğim versiyonu. config.yml ve plugin.yml orijinali ile aynıdır.
PHP:
package me.umut.vipgirdi;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin  implements Listener
{
  public void onEnable()
  {
    this.saveDefaultConfig();
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
  }

  @EventHandler(priority=EventPriority.HIGHEST)
  public void onJoin(PlayerLoginEvent e) {
    if (e.getResult() == PlayerLoginEvent.Result.KICK_FULL) {
      Player oyuncu = e.getPlayer();
      e.setKickMessage(getConfig().getString("Sunucu-Dolu").replaceAll("&", "§"));
      if ((oyuncu.isOp()) || (oyuncu.hasPermission("vipgirdi.gir"))) {
        e.allow();
        getConfig().getBoolean("Dolu-Sunucuya-Giriste-Oyuncu-Kick") ? kickRandomPlayer() : return;
        }
      }
    }
  }

  public void kickRandomPlayer(){
    Player royuncu = Bukkit.getOnlinePlayers()[new java.util.Random().nextInt(Bukkit.getOnlinePlayers().length)];
    if (!royuncu.hasPermission("vipgirdi.gir") && royuncu != null){
      royuncu.kickPlayer("§4Oyuna VIP Girdigi İçin Atıldınız!");
    } else { kickRandomPlayer(); }
  }

  public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
    if (komut.getName().equalsIgnoreCase("vipgirdi")) {
      if (!gonderen.hasPermission("vipgirdi.komut")) {
        gonderen.sendMessage ("§cYetkiniz Yok!!"); return true;
      }
      if (args.length != 1) {
        gonderen.sendMessage("§b/vipgirdi §fyenile"); return true;
      }
      if ((args.length == 1) && (args[0].equalsIgnoreCase("yenile"))) {
        reloadConfig();
        gonderen.sendMessage("§b[Vip-Girdi] §fAyarlar Yenilendi!");
        return true;
      }
    }
İlgilendiginiz İçin Teşekkür Ederim Biraz Aceleye Gelmişti Diger VIP'i falan Atmamasını Ayarlamamıştım Teşekkürler..
 
Üst