Advertisement
Guest User

Untitled

a guest
Nov 12th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. package me.BanHammer.Louie;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.block.Action;
  14. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  15. import org.bukkit.event.player.AsyncPlayerChatEvent;
  16. import org.bukkit.event.player.PlayerInteractEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.inventory.ItemStack;
  19. import org.bukkit.inventory.meta.ItemMeta;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21.  
  22. public class BanHammer extends JavaPlugin implements Listener {
  23. @SuppressWarnings("unchecked")
  24. public void onEnable() {
  25. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  26. muted = (ArrayList<String>) getConfig().getList("restart");
  27. saveConfig();
  28. }
  29.  
  30. public void onDisable() {
  31. this.getConfig().set("restart", muted);
  32. saveConfig();
  33. }
  34.  
  35. List<String> mutedplayer = getConfig().getStringList("mutedplayers");
  36. ArrayList<String> muted = new ArrayList<String>();
  37. ArrayList<String> ban = new ArrayList<String>();
  38. ArrayList<String> mute = new ArrayList<String>();
  39. ArrayList<String> kick = new ArrayList<String>();
  40.  
  41. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  42. if (label.equalsIgnoreCase("banhammer")
  43. || label.equalsIgnoreCase("bh") && sender.hasPermission("BanHammer.BanHammer")) {
  44. if (args.length == 0) {
  45. if (sender instanceof Player) {
  46. ArrayList<String> lore = new ArrayList<String>();
  47. ItemStack hammer = new ItemStack(Material.BLAZE_ROD, 1);
  48. ItemMeta newhammer = hammer.getItemMeta();
  49. newhammer.setDisplayName("§cBan Hammer");
  50. lore.add("§4Right click a player to ban them!");
  51. newhammer.setLore(lore);
  52. hammer.setItemMeta(newhammer);
  53. ((Player) sender).getInventory().addItem(hammer);
  54. lore.removeAll(lore);
  55. } else {
  56. sender.sendMessage("Must be a player");
  57. }
  58. }
  59.  
  60. if (args.length == 2) {
  61. Player target = Bukkit.getPlayer(args[1]);
  62. if (args[0].equalsIgnoreCase("unmute")) {
  63. if (this.getConfig().contains(args[1])) {
  64. muted.remove(target.getName());
  65. mutedplayer.remove(args[1]);
  66. this.getConfig().set("mutedplayers", mutedplayer);
  67. saveConfig();
  68. Bukkit.getServer()
  69. .broadcastMessage("§c" + sender.getName() + " §aunmuted §c" + target.getName() + "§a.");
  70. } else {
  71. sender.sendMessage("§cThat player is not muted");
  72. }
  73. }
  74. }
  75.  
  76. if (args.length == 1 || args.length > 2) {
  77. sender.sendMessage("§cUsage: /bh unmute [player]");
  78. }
  79. }
  80. return false;
  81. }
  82.  
  83. @EventHandler
  84. public void onHit(EntityDamageByEntityEvent e) {
  85. Player damager = (Player) e.getDamager();
  86. Player target = (Player) e.getEntity();
  87.  
  88. if (damager.getItemInHand().getType() == Material.BLAZE_ROD && damager.hasPermission("BanHammer.Execute")) {
  89. if (target instanceof Player) {
  90. if (ban.contains(damager.getName())) {
  91. target.kickPlayer("§cYou have been banned!");
  92. target.setBanned(true);
  93. Bukkit.getServer().broadcastMessage(
  94. "§c" + damager.getName() + " §6banned §c" + target.getName() + " §6from the server!");
  95. return;
  96. }
  97. if (kick.contains(damager.getName())) {
  98. target.kickPlayer("§cYou have been kicked!");
  99. Bukkit.getServer().broadcastMessage(
  100. "§c" + damager.getName() + " §6kicked §c" + target.getName() + " §6from the server");
  101. return;
  102. }
  103. if (mute.contains(damager.getName())) {
  104. muted.add(target.getName());
  105. Bukkit.getServer().broadcastMessage("§c" + damager.getName() + " §6muted §c" + target.getName() + "§6.");
  106. this.getConfig().set("mutedplayers", muted);
  107. saveConfig();
  108. return;
  109. }
  110. }
  111. }
  112. }
  113.  
  114. @EventHandler
  115. public void onRightClick(PlayerInteractEvent e) {
  116. if (e.getPlayer().getItemInHand().getType() == Material.BLAZE_ROD
  117. && e.getPlayer().hasPermission("BanHammer.Mode")) {
  118. if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  119. String name = e.getPlayer().getName();
  120. if (ban.contains(name)) {
  121. ban.remove(name);
  122. kick.add(name);
  123. e.getPlayer().sendMessage("§eKick mode enabled!");
  124. return;
  125. }
  126. if (kick.contains(e.getPlayer().getName())) {
  127. kick.remove(name);
  128. mute.add(name);
  129. e.getPlayer().sendMessage("§eMute mode enabled!");
  130. return;
  131. }
  132. if (mute.contains(name)) {
  133. mute.remove(name);
  134. ban.add(name);
  135. e.getPlayer().sendMessage("§eBan mode enabled!");
  136. return;
  137. }
  138. }
  139. }
  140. }
  141.  
  142. @EventHandler
  143. public void onPlayerChat(AsyncPlayerChatEvent e) {
  144. if (this.getConfig().getList("mutedplayers").contains(e.getPlayer().getName())) {
  145. e.setCancelled(true);
  146. e.getPlayer().sendMessage("§cYou have been muted. You cannot speak.");
  147. }
  148. }
  149.  
  150. @EventHandler
  151. public void onJoin(PlayerJoinEvent e) {
  152. ban.add(e.getPlayer().getName());
  153. }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement