Hosgeldin-1.1.0 - Kaynak Kodları

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
Hosgeldin.java:
Kod:
package me.thelegend.hosgeldin;

import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;

public class Hosgeldin extends JavaPlugin implements Listener {
    PluginDescriptionFile pluginyml = getDescription();
    FileConfiguration config;
    Plugin ana;
    File dosya;
    public static final Logger logcuamca = Logger.getLogger("Minecraft");
    @EventHandler
    public void oyuncuOyunaGirerkene(final PlayerLoginEvent event) {
        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
        public void run() {
            ayarlarYukle();
            Player oyuncu = event.getPlayer();
            Bukkit.broadcastMessage(config.getString("Hosgeldin.Duyuru").replaceAll("&", "§").replace("%oyuncu%", oyuncu.getName()));
            if (event.getPlayer().hasPlayedBefore()) return;
            Firework havaifisek = (Firework) event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Firework.class);
            FireworkMeta hfmeta = havaifisek.getFireworkMeta();
            hfmeta.addEffect(FireworkEffect.builder().flicker(false).trail(true).with(Type.BALL_LARGE).withColor(Color.GREEN).withFade(Color.AQUA).withColor(Color.RED).withFade(Color.YELLOW).build());
            hfmeta.setPower(config.getInt("Havaifisek.Guc"));
            havaifisek.setFireworkMeta(hfmeta);
        }
      }, 20);
    }
    public void ayarlarYukle() {
        config = getConfig();
        config.options().copyDefaults(true);
        dosya = new File(getDataFolder(), "config.yml");
        ayarlarKayded();
    }
    public void ayarlarKayded() {
        try {
            config.save(dosya);
        } catch (IOException e) {
            logcuamca.log(Level.SEVERE, config.getString("Hata.Ayarlar-Kaydedilemedi"));
        }
    }
    public void ayarlarYenile() {
        reloadConfig();
        ayarlarYukle();
    }
    public void acilisLoglari() {
        logcuamca.log(Level.INFO, "=====[ " + pluginyml.getName() + " " + getDescription().getVersion() + " ]=====");
        logcuamca.log(Level.INFO, "Bukkit Surumu: " + Bukkit.getBukkitVersion());
        logcuamca.log(Level.INFO, config.getString("Loglar.Baslat.Yukleniyor-Ayarlar"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Baslat.Yukleniyor-Komutlar"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Baslat.Yukleniyor-Mesajlar"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Baslat.Plugin-Aktif"));
        logcuamca.log(Level.INFO, "=====[ " + pluginyml.getName() + " " + getDescription().getVersion() + " ]=====");
    }
    public void kapanisLoglari() {
        logcuamca.log(Level.INFO, "=====[ " + pluginyml.getName() + " " + getDescription().getVersion() + " ]=====");
        logcuamca.log(Level.INFO, config.getString("Loglar.Durdur.Etkisiz-Ayarlar"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Durdur.Etkisiz-Komut-Ana"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Durdur.Etkisiz-Komut-Yenile"));
        logcuamca.log(Level.INFO, config.getString("Loglar.Durdur.Plugin-Devre-Disi"));
        logcuamca.log(Level.INFO, "=====[ " + pluginyml.getName() + " " + getDescription().getVersion() + " ]=====");
    }
    public void onEnable() {
        ayarlarYukle();
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        acilisLoglari();
    }
    public void onDisable() {
        kapanisLoglari();
    }
    public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
        if (komut.getName().equalsIgnoreCase("hosgeldin")) {
            if (gonderen.hasPermission("hosgeldin.anakomut")) {
                if ((args.length == 1) && (args[0].equalsIgnoreCase("devredisi"))) {
                    gonderen.sendMessage(config.getString("Hata.Plugin-Devre-Disi").replaceAll("&", "§").replace("%oyuncu%", gonderen.getName()));
                    Bukkit.getPluginManager().disablePlugin(this);
                    return true;
                }
                if ((args.length == 1) && (args[0].equalsIgnoreCase("yenile"))) {
                    reloadConfig();
                    ayarlarYukle();
                    gonderen.sendMessage(config.getString("Hata.Ayarlar-Yenilendi").replaceAll("&", "§").replace("%oyuncu%", gonderen.getName()));
                    return true;
                }
                if (args.length == 0) {
                gonderen.sendMessage(ChatColor.GOLD + "==========[ " + pluginyml.getName() + " ]==========");
                gonderen.sendMessage(ChatColor.RED + "Isim: " + ChatColor.RED + pluginyml.getName());
                gonderen.sendMessage(ChatColor.GREEN + "Yazar: " + ChatColor.RED + "TheLegend");
                gonderen.sendMessage(ChatColor.GREEN + "Versiyon: " + ChatColor.RED + pluginyml.getVersion());
                gonderen.sendMessage(ChatColor.GREEN + "Komutlar:");
                gonderen.sendMessage(ChatColor.RED + "/hosgeldin yenile");
                gonderen.sendMessage(ChatColor.RED + "/hosgeldin devredisi");
                gonderen.sendMessage(ChatColor.GREEN + "Yetkiler:");
                gonderen.sendMessage(ChatColor.GREEN + "hosgeldin.anakomut");
            }
        }
            else {
                gonderen.sendMessage(config.getString("Hata.Izin-Yok").replaceAll("&", "§").replace("%oyuncu%", gonderen.getName()));
            }
        }
        return false;
    }
}
config.yml:
Kod:
Hosgeldin:
  Duyuru: '&c%oyuncu% &eOyuna Katildi!'
Havaifisek:
  Guc: 1
Hata:
  Plugin-Devre-Disi: '&cHosgeldin &aDevre Disi!'
  Ayarlar-Kaydedilemedi: Ayarlar Kaydedilemedi!
  Ayarlar-Yenilendi: '&aHosgeldin &cAyarlari Basari Ile Yenilendi!'
Loglar:
  Baslat:
    Yukleniyor-Ayarlar: Ayarlar Yukleniyor
    Yukleniyor-Komutlar: Komutlar Yukleniyor
    Yukleniyor-Mesajlar: Mesajlar Yukleniyor
    Plugin-Aktif: Plugin Aktif!
  Durdur:
    Etkisiz-Ayarlar: Ayarlar Kaydediliyor
    Etkisiz-Komut-Ana: Ana Komut Devre Disi Birakiliyor
    Etkisiz-Komut-Yenile: Yenile Komutu Devre Disi Birakiliyor
    Plugin-Devre-Disi: Plugin Devre Disi!
plugin.yml:
Kod:
name: Hosgeldin
version: 1.1.0
author: TheLegend
main: me.thelegend.hosgeldin.Hosgeldin
description: Havai Fisekler Ile Ayarlanabilir Duyuru Ve Kisisel Hos Geldin Mesajlari!
commands:
    hosgeldin:
        description: Ana komut.
        usage: /hosgeldin [yenile-devredisi]
        aliases: [welcome, hg, wlcm]
permissions:
    hosgeldin.anakomut:
        description: Ana komuta erisim izini.
        default: op
 



Üst