Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.oliver.Karma;
- import java.util.HashMap;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- 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, CommandExecutor {
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Score mojo = TK.getScore(sender.getName());
- Player player = (Player) sender;
- if(cmd.getName().equalsIgnoreCase("karma")) {
- if(args.length == 0) {
- sender.sendMessage(ChatColor.AQUA + "Karma help page");
- sender.sendMessage(ChatColor.RED + "/karma set <playername> <number> - Sets a players Karma to <number>");
- sender.sendMessage(ChatColor.RED + "/karma add <playername> <number> - Adds <number> Karma to a player");
- sender.sendMessage(ChatColor.RED + "/karma remove <playername> <number> - Removes <number> amount of Karma from a player");
- sender.sendMessage(ChatColor.RED + "/karma reset <playername> - Sets a players karma back to 2500");
- }else{
- if(args[0].equalsIgnoreCase("set")) {
- int newScore = Integer.parseInt(args[2]);
- mojo.setScore(newScore);
- player.setScoreboard(KarmaScore);
- 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] + "!");
- }else if(args[0].equalsIgnoreCase("add")) {
- int arg2 = Integer.parseInt(args[2]);
- int newScore = TK.getScore(args[1]).getScore() + arg2;
- mojo.setScore(newScore);
- player.setScoreboard(KarmaScore);
- 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!");
- }else if(args[0].equalsIgnoreCase("remove")) {
- int arg2 = Integer.parseInt(args[2]);
- int newScore = TK.getScore(args[1]).getScore() - arg2;
- mojo.setScore(newScore);
- player.setScoreboard(KarmaScore);
- 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!");
- }else if(args[0].equalsIgnoreCase("reset")) {
- mojo.setScore(2500);
- player.setScoreboard(KarmaScore);
- 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");
- }else if(args[0].equalsIgnoreCase("get")) {
- sender.sendMessage(ChatColor.RED + "" + mojo.getScore());
- player.setScoreboard(KarmaScore);
- }
- }
- }
- return true;
- }
- @EventHandler
- public void OnPlayerDeath(PlayerDeathEvent ed) {
- Player v = ed.getEntity().getKiller();
- if(v instanceof Player) {
- if(TK.getScore(v.getName()).getScore() >= 1) {
- int newScore = TK.getScore(v.getName()).getScore() - 20;
- TK.getScore(v.getName()).setScore(newScore);
- v.sendMessage(ChatColor.DARK_RED + "You just lost 20 Karma!");
- }
- }
- }
- @SuppressWarnings("deprecation")
- @EventHandler
- public void OnPlayerJoin(PlayerJoinEvent e) {
- Player player = e.getPlayer();
- setupScoreboard(player);
- if(!player.hasPlayedBefore()) {
- scores.put(player, TK.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + "Karma:")));
- TK.setDisplaySlot(DisplaySlot.SIDEBAR);
- TK.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + player.getName() + "'s Karma");
- Score Karma = TK.getScore(player.getName());
- Karma.setScore(2500);
- player.setScoreboard(KarmaScore);
- }else{
- TK.setDisplaySlot(DisplaySlot.SIDEBAR);
- TK.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + player.getName() + "'s Karma");
- player.setScoreboard(KarmaScore);
- //If you want a welcome back message uncomment the next line
- Bukkit.broadcastMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Welcome back " + e.getPlayer().getName() + " to the server!");
- }
- }
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- }
- public void setupScoreboard(Player player) {
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard KarmaScore = manager.getNewScoreboard();
- Objective TK = KarmaScore.registerNewObjective(ChatColor.AQUA + "" + ChatColor.BOLD + "Karma", "dummy");
- TK.setDisplaySlot(DisplaySlot.SIDEBAR);
- TK.setDisplayName(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + player.getName() + "'s Karma");
- Score spacer = null;
- Score nameTitle = null;
- Score name= null;
- Score spacer2 = null;
- try {
- spacer = TK.getScore(ChatColor.GREEN + "");
- spacer.setScore(4);
- nameTitle = TK.getScore(ChatColor.AQUA + "" + ChatColor.BOLD + "Karma:");
- nameTitle.setScore(3);
- name = TK.getScore(player.getName());
- name.setScore(2);
- spacer2 = TK.getScore(ChatColor.BLUE + "");
- spacer2.setScore(1);
- player.setScoreboard(KarmaScore);
- }catch (Exception ex) {
- System.out.println(ex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement