Advertisement
big02001

Untitled

Aug 21st, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.39 KB | None | 0 0
  1. package me.oliver.Karma;
  2.  
  3.  
  4. import java.util.HashMap;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.OfflinePlayer;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.entity.PlayerDeathEvent;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18. import org.bukkit.scoreboard.DisplaySlot;
  19. import org.bukkit.scoreboard.Objective;
  20. import org.bukkit.scoreboard.Score;
  21. import org.bukkit.scoreboard.Scoreboard;
  22. import org.bukkit.scoreboard.ScoreboardManager;
  23.  
  24. public class Main extends JavaPlugin implements Listener, CommandExecutor {
  25. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  26. Score mojo = TK.getScore(sender.getName());
  27. Player player = (Player) sender;
  28. if(cmd.getName().equalsIgnoreCase("karma")) {
  29. if(args.length == 0) {
  30. sender.sendMessage(ChatColor.AQUA + "Karma help page");
  31. sender.sendMessage(ChatColor.RED + "/karma set <playername> <number> - Sets a players Karma to <number>");
  32. sender.sendMessage(ChatColor.RED + "/karma add <playername> <number> - Adds <number> Karma to a player");
  33. sender.sendMessage(ChatColor.RED + "/karma remove <playername> <number> - Removes <number> amount of Karma from a player");
  34. sender.sendMessage(ChatColor.RED + "/karma reset <playername> - Sets a players karma back to 2500");
  35. }else{
  36. if(args[0].equalsIgnoreCase("set")) {
  37. int newScore = Integer.parseInt(args[2]);
  38. mojo.setScore(newScore);
  39. player.setScoreboard(KarmaScore);
  40. sender.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "[" + ChatColor.AQUA + "" + ChatColor.BOLD + "Karma" + ChatColor.DARK_RED + "" + ChatColor.BOLD + "] " + ChatColor.DARK_AQUA + "Set " + args[1] + "'s Karma to " + args[2] + "!");
  41. }else if(args[0].equalsIgnoreCase("add")) {
  42. int arg2 = Integer.parseInt(args[2]);
  43. int newScore = TK.getScore(args[1]).getScore() + arg2;
  44. mojo.setScore(newScore);
  45. player.setScoreboard(KarmaScore);
  46. sender.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "[" + ChatColor.AQUA + "" + ChatColor.BOLD + "Karma" + ChatColor.DARK_RED + "" + ChatColor.BOLD + "] " + ChatColor.DARK_AQUA + "Added " + args[2] + "Karma to " + args[1] + "'s Karma!");
  47. }else if(args[0].equalsIgnoreCase("remove")) {
  48. int arg2 = Integer.parseInt(args[2]);
  49. int newScore = TK.getScore(args[1]).getScore() - arg2;
  50. mojo.setScore(newScore);
  51. player.setScoreboard(KarmaScore);
  52. sender.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "[" + ChatColor.AQUA + "" + ChatColor.BOLD + "Karma" + ChatColor.DARK_RED + "" + ChatColor.BOLD + "] " + ChatColor.DARK_AQUA + "Removed " + args[2] + "Karma from " + args[1] + "'s Karma!");
  53. }else if(args[0].equalsIgnoreCase("reset")) {
  54. mojo.setScore(2500);
  55. player.setScoreboard(KarmaScore);
  56. sender.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "[" + ChatColor.AQUA + "" + ChatColor.BOLD + "Karma" + ChatColor.DARK_RED + "" + ChatColor.BOLD + "] " + ChatColor.DARK_AQUA + "Reset " + args[1] + "'s back to 2500");
  57. }else if(args[0].equalsIgnoreCase("get")) {
  58. sender.sendMessage(ChatColor.RED + "" + mojo.getScore());
  59. player.setScoreboard(KarmaScore);
  60. }
  61. }
  62. }
  63. return true;
  64. }
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71. @EventHandler
  72. public void OnPlayerDeath(PlayerDeathEvent ed) {
  73. Player v = ed.getEntity().getKiller();
  74. if(v instanceof Player) {
  75. if(TK.getScore(v.getName()).getScore() >= 1) {
  76. int newScore = TK.getScore(v.getName()).getScore() - 20;
  77. TK.getScore(v.getName()).setScore(newScore);
  78. v.sendMessage(ChatColor.DARK_RED + "You just lost 20 Karma!");
  79. }
  80. }
  81. }
  82.  
  83.  
  84.  
  85. @SuppressWarnings("deprecation")
  86. @EventHandler
  87. public void OnPlayerJoin(PlayerJoinEvent e) {
  88. Player player = e.getPlayer();
  89. setupScoreboard(player);
  90. if(!player.hasPlayedBefore()) {
  91. scores.put(player, TK.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + "Karma:")));
  92. TK.setDisplaySlot(DisplaySlot.SIDEBAR);
  93. TK.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + player.getName() + "'s Karma");
  94. Score Karma = TK.getScore(player.getName());
  95. Karma.setScore(2500);
  96. player.setScoreboard(KarmaScore);
  97. }else{
  98. TK.setDisplaySlot(DisplaySlot.SIDEBAR);
  99. TK.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + player.getName() + "'s Karma");
  100. player.setScoreboard(KarmaScore);
  101. //If you want a welcome back message uncomment the next line
  102. Bukkit.broadcastMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Welcome back " + e.getPlayer().getName() + " to the server!");
  103. }
  104.  
  105. }
  106.  
  107.  
  108. public void onEnable() {
  109. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  110. }
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. public void setupScoreboard(Player player) {
  118.  
  119. ScoreboardManager manager = Bukkit.getScoreboardManager();
  120. Scoreboard KarmaScore = manager.getNewScoreboard();
  121. Objective TK = KarmaScore.registerNewObjective(ChatColor.AQUA + "" + ChatColor.BOLD + "Karma", "dummy");
  122.  
  123. TK.setDisplaySlot(DisplaySlot.SIDEBAR);
  124. TK.setDisplayName(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + player.getName() + "'s Karma");
  125.  
  126.  
  127. Score spacer = null;
  128.  
  129. Score nameTitle = null;
  130. Score name= null;
  131.  
  132. Score spacer2 = null;
  133.  
  134. try {
  135.  
  136. spacer = TK.getScore(ChatColor.GREEN + "");
  137. spacer.setScore(4);
  138.  
  139. nameTitle = TK.getScore(ChatColor.AQUA + "" + ChatColor.BOLD + "Karma:");
  140. nameTitle.setScore(3);
  141.  
  142. name = TK.getScore(player.getName());
  143. name.setScore(2);
  144.  
  145. spacer2 = TK.getScore(ChatColor.BLUE + "");
  146. spacer2.setScore(1);
  147.  
  148. player.setScoreboard(KarmaScore);
  149. }catch (Exception ex) {
  150. System.out.println(ex);
  151. }
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement