Advertisement
Guest User

Untitled

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