Advertisement
Guest User

Untitled

a guest
Feb 1st, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.24 KB | None | 0 0
  1. package me.douglasamv.pvp;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6.  
  7. import me.douglasamv.pvp.coisas.Admin;
  8. import me.douglasamv.pvp.coisas.Jogador;
  9. import me.douglasamv.pvp.coisas.StaffChat;
  10. import me.douglasamv.pvp.coisas.Traducao;
  11. import me.douglasamv.pvp.coisas.sopa;
  12. import me.douglasamv.pvp.kits.Archer;
  13. import me.douglasamv.pvp.kits.Kangaroo;
  14. import me.douglasamv.pvp.kits.PvP;
  15. import me.douglasamv.pvp.kits.Urgal;
  16. import me.douglasamv.pvp.menu.KitMenu;
  17. import me.douglasamv.pvp.menu.WarpMenu;
  18.  
  19. import org.bukkit.Bukkit;
  20. import org.bukkit.event.entity.PlayerDeathEvent;
  21. import org.bukkit.ChatColor;
  22. import org.bukkit.Difficulty;
  23. import org.bukkit.configuration.file.FileConfiguration;
  24. import org.bukkit.configuration.file.YamlConfiguration;
  25. import org.bukkit.entity.Player;
  26. import org.bukkit.event.EventHandler;
  27. import org.bukkit.event.EventPriority;
  28. import org.bukkit.event.Listener;
  29. import org.bukkit.event.player.PlayerJoinEvent;
  30. import org.bukkit.event.player.PlayerMoveEvent;
  31. import org.bukkit.plugin.java.JavaPlugin;
  32. import org.bukkit.scoreboard.DisplaySlot;
  33. import org.bukkit.scoreboard.Objective;
  34. import org.bukkit.scoreboard.Score;
  35. import org.bukkit.scoreboard.Scoreboard;
  36. import org.bukkit.scoreboard.ScoreboardManager;
  37.  
  38. public class Main extends JavaPlugin implements Listener {
  39.  
  40. public FileConfiguration status;
  41. protected File file;
  42. private FileConfiguration conf;
  43.  
  44. public static Scoreboard board = getScoreBoard();
  45. public static Objective objective = board.registerNewObjective("timer", "dummy");
  46.  
  47. public static ArrayList<String> usado = new ArrayList<>();
  48. public static ArrayList<String> pvp = new ArrayList<>();
  49. public static ArrayList<String> kangaroo = new ArrayList<>();
  50. public static ArrayList<String> archer = new ArrayList<>();
  51. public static ArrayList<String> urgal = new ArrayList<>();
  52. public static ArrayList<String> staff = new ArrayList<>();
  53.  
  54. @Override
  55. public void onLoad() {
  56. KitMenu.kitMenu();
  57. WarpMenu.warpMenu();
  58. }
  59. @Override
  60. public void onEnable() {
  61. saveDefaultConfig();
  62. saveResource("stats.yml", false);
  63. this.status = getConfig();
  64. this.file = new File(getDataFolder(), "stats.yml");
  65. this.conf = YamlConfiguration.loadConfiguration(this.file);
  66.  
  67. registerEvents();
  68. registerCommands();
  69. tags();
  70. Bukkit.getServer().getWorld("world").setDifficulty(Difficulty.PEACEFUL);
  71. runSaveTimer();
  72. }
  73. @Override
  74. public void onDisable() {
  75.  
  76. }
  77.  
  78. public void registerEvents() {
  79. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  80. Bukkit.getServer().getPluginManager().registerEvents(new sopa(), this);
  81. Bukkit.getServer().getPluginManager().registerEvents(new StaffChat(), this);
  82. Bukkit.getServer().getPluginManager().registerEvents(new Jogador(this), this);
  83. Bukkit.getServer().getPluginManager().registerEvents(new KitMenu(), this);
  84. Bukkit.getServer().getPluginManager().registerEvents(new WarpMenu(), this);
  85. Bukkit.getServer().getPluginManager().registerEvents(new Kangaroo(this), this);
  86. Bukkit.getServer().getPluginManager().registerEvents(new Admin(this), this);
  87. }
  88. public void registerCommands() {
  89. getCommand("pvp").setExecutor(new PvP());
  90. getCommand("archer").setExecutor(new Archer());
  91. getCommand("kangaroo").setExecutor(new Kangaroo(this));
  92. getCommand("urgal").setExecutor(new Urgal());
  93. getCommand("staff").setExecutor(new StaffChat());
  94. getCommand("admin").setExecutor(new Admin(this));
  95. }
  96.  
  97. public void tags() {
  98. board.registerNewTeam("Normal").setPrefix(ChatColor.RESET + "");
  99. board.registerNewTeam("Vip").setPrefix(ChatColor.BLUE + ChatColor.BOLD.toString() + "VIP " + ChatColor.RESET);
  100. board.registerNewTeam("Pro").setPrefix(ChatColor.GOLD + ChatColor.BOLD.toString() + "Pro " + ChatColor.RESET);
  101. board.registerNewTeam("Mod").setPrefix(ChatColor.DARK_PURPLE + ChatColor.BOLD.toString() + "Mod " + ChatColor.RESET);
  102. board.registerNewTeam("Admin").setPrefix(ChatColor.RED + ChatColor.BOLD.toString() + "Admin " + ChatColor.RESET);
  103. }
  104.  
  105. @EventHandler
  106. public void Void(PlayerMoveEvent e) {
  107. Player p = e.getPlayer();
  108. if(p.getLocation().getY() <= -20.0D){
  109. p.teleport(p.getWorld().getSpawnLocation());
  110. }
  111. }
  112.  
  113. public static Scoreboard getScoreBoard() {
  114. ScoreboardManager manager = Bukkit.getScoreboardManager();
  115. Scoreboard board = manager.getNewScoreboard();
  116. return board;
  117. }
  118.  
  119.  
  120. public void setScoreBoard(Player p) {
  121. objective.setDisplayName(ChatColor.GREEN + ChatColor.BOLD.toString() + Traducao.Server);
  122. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
  123. Score linha1 = objective.getScore(ChatColor.GRAY + "Morreu");
  124. Score linha2 = objective.getScore(ChatColor.GRAY + "Matou");
  125. Score linha3 = objective.getScore(ChatColor.GRAY + "KD");
  126.  
  127. linha1.setScore(getDeaths(p));
  128. linha2.setScore(getKills(p));
  129. linha3.setScore((int) getKDR(p));
  130.  
  131. p.setScoreboard(board);
  132.  
  133. if (p.hasPermission("tag.normal")) {
  134. board.getTeam("Normal").addPlayer(p);
  135. }
  136.  
  137. if (p.hasPermission("tag.vip")) {
  138. board.getTeam("Vip").addPlayer(p);
  139. }
  140.  
  141. if (p.hasPermission("tag.pro")) {
  142. board.getTeam("Pro").addPlayer(p);
  143. }
  144.  
  145.  
  146. if (p.hasPermission("tag.mod")) {
  147. board.getTeam("Mod").addPlayer(p);
  148. }
  149.  
  150. if (p.hasPermission("tag.admin")) {
  151. board.getTeam("Admin").addPlayer(p);
  152. }
  153. p.setScoreboard(board);
  154.  
  155. }
  156.  
  157. public int getKills(Player p) {
  158. return this.conf.get(p.getName() + ".kills") != null ? this.conf.getInt(p.getName() + ".kills") : 0;
  159. }
  160. public int getDeaths(Player p) {
  161. return this.conf.get(p.getName() + ".deaths") != null ? this.conf.getInt(p.getName() + ".deaths") : 0;
  162. }
  163. public void setKills(Player p, int kills) {
  164. this.conf.set(p.getName() + ".kills", Integer.valueOf(kills));
  165. saveFile();
  166. }
  167.  
  168. public void setDeaths(Player p, int deaths) {
  169. this.conf.set(p.getName() + ".deaths", Integer.valueOf(deaths));
  170. saveFile();
  171. }
  172. public double getKDR(Player p) {
  173. int kills = getKills(p);
  174. int deaths = getDeaths(p);
  175. int kdr = something(kills, deaths);
  176. if (kdr != 0) {
  177. kills /= kdr;
  178. deaths /= kdr;
  179. }
  180. double ratio = Math.round(kills / deaths * 100.0D) / 100.0D;
  181. if (kills == 0) {
  182. ratio = 0.0D;
  183. }
  184. else if (deaths == 0) {
  185. ratio = kills;
  186. }
  187. return ratio;
  188. }
  189. public int something(int a, int b) {
  190. if (b == 0)
  191. return a;
  192. return something(b, a % b);
  193. }
  194.  
  195. @EventHandler(priority = EventPriority.HIGHEST)
  196. public void PlayerJoinEvent(PlayerJoinEvent e) {
  197. Player p = e.getPlayer();
  198. if (this.conf.get(p.getName() + ".kills") == null) {
  199. this.conf.set(p.getName() + ".kills", Integer.valueOf(0));
  200. this.conf.set(p.getName() + ".deaths", Integer.valueOf(0));
  201. try {
  202. this.conf.save(this.file);
  203. }
  204. catch (IOException ex) {
  205. ex.printStackTrace();
  206. }
  207. }
  208. setScoreBoard(p);
  209. }
  210. @EventHandler(priority = EventPriority.HIGHEST)
  211. public void PlayerDeathEvent(PlayerDeathEvent e) {
  212. Player p = e.getEntity().getPlayer();
  213. if ((p.getKiller() != null) && ((p.getKiller() instanceof Player))) {
  214. Player k = p.getKiller();
  215. setKills(k, getKills(k) + 1);;
  216. setDeaths(p, getDeaths(p) + 1);
  217. setScoreBoard(k);
  218. }
  219. else {
  220. setDeaths(p, getDeaths(p) + 1);
  221. }
  222. setScoreBoard(p);
  223. }
  224.  
  225.  
  226. protected void saveFile() {
  227. try {
  228. this.conf.save(this.file);
  229. }
  230. catch (IOException e) {
  231. e.printStackTrace();
  232. }
  233. }
  234. private void runSaveTimer() {
  235. getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  236. public void run() {
  237. for (Player p : Bukkit.getOnlinePlayers()) {
  238. Main.this.conf.set(p.getName() + ".kills", Integer.valueOf(Main.this.getKills(p)));
  239. Main.this.conf.set(p.getName() + ".deaths", Integer.valueOf(Main.this.getDeaths(p)));
  240. Main.this.saveFile();
  241. Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "Status Salvo!");
  242. }
  243. }
  244. }
  245. , 0, 1000L);
  246. }
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement