Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.douglasamv.pvp;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import me.douglasamv.pvp.coisas.Admin;
- import me.douglasamv.pvp.coisas.Jogador;
- import me.douglasamv.pvp.coisas.StaffChat;
- import me.douglasamv.pvp.coisas.Traducao;
- import me.douglasamv.pvp.coisas.sopa;
- import me.douglasamv.pvp.kits.Archer;
- import me.douglasamv.pvp.kits.Kangaroo;
- import me.douglasamv.pvp.kits.PvP;
- import me.douglasamv.pvp.kits.Urgal;
- import me.douglasamv.pvp.menu.KitMenu;
- import me.douglasamv.pvp.menu.WarpMenu;
- import org.bukkit.Bukkit;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.ChatColor;
- import org.bukkit.Difficulty;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- 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.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Score;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- public class Main extends JavaPlugin implements Listener {
- public FileConfiguration status;
- protected File file;
- private FileConfiguration conf;
- public static Scoreboard board = getScoreBoard();
- public static Objective objective = board.registerNewObjective("timer", "dummy");
- public static ArrayList<String> usado = new ArrayList<>();
- public static ArrayList<String> pvp = new ArrayList<>();
- public static ArrayList<String> kangaroo = new ArrayList<>();
- public static ArrayList<String> archer = new ArrayList<>();
- public static ArrayList<String> urgal = new ArrayList<>();
- public static ArrayList<String> staff = new ArrayList<>();
- @Override
- public void onLoad() {
- KitMenu.kitMenu();
- WarpMenu.warpMenu();
- }
- @Override
- public void onEnable() {
- saveDefaultConfig();
- saveResource("stats.yml", false);
- this.status = getConfig();
- this.file = new File(getDataFolder(), "stats.yml");
- this.conf = YamlConfiguration.loadConfiguration(this.file);
- registerEvents();
- registerCommands();
- tags();
- Bukkit.getServer().getWorld("world").setDifficulty(Difficulty.PEACEFUL);
- runSaveTimer();
- }
- @Override
- public void onDisable() {
- }
- public void registerEvents() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- Bukkit.getServer().getPluginManager().registerEvents(new sopa(), this);
- Bukkit.getServer().getPluginManager().registerEvents(new StaffChat(), this);
- Bukkit.getServer().getPluginManager().registerEvents(new Jogador(this), this);
- Bukkit.getServer().getPluginManager().registerEvents(new KitMenu(), this);
- Bukkit.getServer().getPluginManager().registerEvents(new WarpMenu(), this);
- Bukkit.getServer().getPluginManager().registerEvents(new Kangaroo(this), this);
- Bukkit.getServer().getPluginManager().registerEvents(new Admin(this), this);
- }
- public void registerCommands() {
- getCommand("pvp").setExecutor(new PvP());
- getCommand("archer").setExecutor(new Archer());
- getCommand("kangaroo").setExecutor(new Kangaroo(this));
- getCommand("urgal").setExecutor(new Urgal());
- getCommand("staff").setExecutor(new StaffChat());
- getCommand("admin").setExecutor(new Admin(this));
- }
- public void tags() {
- board.registerNewTeam("Normal").setPrefix(ChatColor.RESET + "");
- board.registerNewTeam("Vip").setPrefix(ChatColor.BLUE + ChatColor.BOLD.toString() + "VIP " + ChatColor.RESET);
- board.registerNewTeam("Pro").setPrefix(ChatColor.GOLD + ChatColor.BOLD.toString() + "Pro " + ChatColor.RESET);
- board.registerNewTeam("Mod").setPrefix(ChatColor.DARK_PURPLE + ChatColor.BOLD.toString() + "Mod " + ChatColor.RESET);
- board.registerNewTeam("Admin").setPrefix(ChatColor.RED + ChatColor.BOLD.toString() + "Admin " + ChatColor.RESET);
- }
- @EventHandler
- public void Void(PlayerMoveEvent e) {
- Player p = e.getPlayer();
- if(p.getLocation().getY() <= -20.0D){
- p.teleport(p.getWorld().getSpawnLocation());
- }
- }
- public static Scoreboard getScoreBoard() {
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard board = manager.getNewScoreboard();
- return board;
- }
- public void setScoreBoard(Player p) {
- objective.setDisplayName(ChatColor.GREEN + ChatColor.BOLD.toString() + Traducao.Server);
- objective.setDisplaySlot(DisplaySlot.SIDEBAR);
- Score linha1 = objective.getScore(ChatColor.GRAY + "Morreu");
- Score linha2 = objective.getScore(ChatColor.GRAY + "Matou");
- Score linha3 = objective.getScore(ChatColor.GRAY + "KD");
- linha1.setScore(getDeaths(p));
- linha2.setScore(getKills(p));
- linha3.setScore((int) getKDR(p));
- p.setScoreboard(board);
- if (p.hasPermission("tag.normal")) {
- board.getTeam("Normal").addPlayer(p);
- }
- if (p.hasPermission("tag.vip")) {
- board.getTeam("Vip").addPlayer(p);
- }
- if (p.hasPermission("tag.pro")) {
- board.getTeam("Pro").addPlayer(p);
- }
- if (p.hasPermission("tag.mod")) {
- board.getTeam("Mod").addPlayer(p);
- }
- if (p.hasPermission("tag.admin")) {
- board.getTeam("Admin").addPlayer(p);
- }
- p.setScoreboard(board);
- }
- public int getKills(Player p) {
- return this.conf.get(p.getName() + ".kills") != null ? this.conf.getInt(p.getName() + ".kills") : 0;
- }
- public int getDeaths(Player p) {
- return this.conf.get(p.getName() + ".deaths") != null ? this.conf.getInt(p.getName() + ".deaths") : 0;
- }
- public void setKills(Player p, int kills) {
- this.conf.set(p.getName() + ".kills", Integer.valueOf(kills));
- saveFile();
- }
- public void setDeaths(Player p, int deaths) {
- this.conf.set(p.getName() + ".deaths", Integer.valueOf(deaths));
- saveFile();
- }
- public double getKDR(Player p) {
- int kills = getKills(p);
- int deaths = getDeaths(p);
- int kdr = something(kills, deaths);
- if (kdr != 0) {
- kills /= kdr;
- deaths /= kdr;
- }
- double ratio = Math.round(kills / deaths * 100.0D) / 100.0D;
- if (kills == 0) {
- ratio = 0.0D;
- }
- else if (deaths == 0) {
- ratio = kills;
- }
- return ratio;
- }
- public int something(int a, int b) {
- if (b == 0)
- return a;
- return something(b, a % b);
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void PlayerJoinEvent(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- if (this.conf.get(p.getName() + ".kills") == null) {
- this.conf.set(p.getName() + ".kills", Integer.valueOf(0));
- this.conf.set(p.getName() + ".deaths", Integer.valueOf(0));
- try {
- this.conf.save(this.file);
- }
- catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- setScoreBoard(p);
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void PlayerDeathEvent(PlayerDeathEvent e) {
- Player p = e.getEntity().getPlayer();
- if ((p.getKiller() != null) && ((p.getKiller() instanceof Player))) {
- Player k = p.getKiller();
- setKills(k, getKills(k) + 1);;
- setDeaths(p, getDeaths(p) + 1);
- setScoreBoard(k);
- }
- else {
- setDeaths(p, getDeaths(p) + 1);
- }
- setScoreBoard(p);
- }
- protected void saveFile() {
- try {
- this.conf.save(this.file);
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- private void runSaveTimer() {
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- Main.this.conf.set(p.getName() + ".kills", Integer.valueOf(Main.this.getKills(p)));
- Main.this.conf.set(p.getName() + ".deaths", Integer.valueOf(Main.this.getDeaths(p)));
- Main.this.saveFile();
- Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "Status Salvo!");
- }
- }
- }
- , 0, 1000L);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement