Lisenochek

Untitled

Nov 3rd, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.18 KB | None | 0 0
  1. package ru.jampire.bukkit.uralclans2;
  2.  
  3. import java.util.Iterator;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.OfflinePlayer;
  8. import org.bukkit.entity.Arrow;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.entity.ThrownPotion;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.EventPriority;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  15. import org.bukkit.event.player.AsyncPlayerChatEvent;
  16. import org.bukkit.event.player.PlayerChatEvent;
  17. import org.bukkit.event.player.PlayerKickEvent;
  18. import org.bukkit.event.player.PlayerMoveEvent;
  19.  
  20. import com.sk89q.worldguard.protection.ApplicableRegionSet;
  21. import com.sk89q.worldguard.protection.flags.DefaultFlag;
  22. import com.sk89q.worldguard.protection.flags.StateFlag.State;
  23.  
  24. public class EventListener implements Listener {
  25.  
  26. @EventHandler
  27. public void PlayerKickEvent(PlayerKickEvent event) {
  28. if (Request.get(event.getPlayer()) != null) {
  29. Request.deny(Request.get(event.getPlayer()));
  30. }
  31. }
  32.  
  33. @EventHandler(priority = EventPriority.HIGHEST)
  34. public void PlayerMoveEvent(PlayerMoveEvent event) {
  35. if (event.getFrom().distance(event.getTo()) > 0.0D) {
  36. Warm.cancelWarming(event.getPlayer());
  37. }
  38.  
  39. }
  40.  
  41. @EventHandler
  42. public void EntityDamageByEntityEvent(EntityDamageByEntityEvent event) {
  43. if (event.getEntity() instanceof Player) {
  44. Object d = event.getDamager();
  45.  
  46. if (d instanceof Arrow) {
  47. d = ((Arrow) d).getShooter();
  48. } else if (d instanceof ThrownPotion) {
  49. d = ((ThrownPotion) d).getShooter();
  50. }
  51.  
  52. if (d instanceof Player) {
  53. Player damager = (Player) d;
  54. Player attacker = (Player) event.getEntity();
  55. Clan userClan = Clan.getClanByName(damager.getName());
  56.  
  57. ApplicableRegionSet set = Main.getWG().getRegionManager(attacker.getWorld())
  58. .getApplicableRegions(attacker.getLocation());
  59. if (set.getFlag(DefaultFlag.PVP) == State.ALLOW && Main.config.getInt("settings.pvp") == 1) {
  60. return;
  61. }
  62.  
  63. if (Clan.hasMember(damager.getName()) && Clan.hasMember(attacker.getName())
  64. && userClan.hasClanMember(attacker.getName()) && attacker.getName() != damager.getName()) {
  65. if (!userClan.isPvP()) {
  66. return;
  67. }
  68. damager.sendMessage(C.getPrefix() + C.c("&cPvP в клане отключено."));
  69. event.setCancelled(true);
  70. }
  71. }
  72. }
  73. }
  74.  
  75. @EventHandler(priority = EventPriority.HIGHEST)
  76.  
  77. public void AsyncPlayerChatEvent(AsyncPlayerChatEvent event) {
  78.  
  79. if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
  80. event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
  81. } else {
  82. event.setFormat(event.getFormat().replace("!clantag!", ""));
  83. }
  84. if (Main.config.getBoolean("settings.clan_chat")) {
  85. if (event.getMessage().startsWith("%") && event.getMessage().length() > 1) {
  86. Clan userClan = Clan.getClanByName(event.getPlayer().getName());
  87.  
  88. if (userClan == null) {
  89. event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
  90. event.setCancelled(true);
  91. return;
  92. }
  93.  
  94. event.getRecipients().clear();
  95. Iterator var4 = userClan.getMembers().iterator();
  96.  
  97. while (var4.hasNext()) {
  98. Member c = (Member) var4.next();
  99. OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
  100.  
  101. if (pl.isOnline()) {
  102. event.getRecipients().add(pl.getPlayer());
  103. }
  104. }
  105.  
  106. ChatColor c1 = ChatColor.YELLOW;
  107.  
  108. if (userClan.isModer(event.getPlayer().getName())) {
  109. c1 = ChatColor.GREEN;
  110. }
  111.  
  112. if (userClan.hasLeader(event.getPlayer().getName())) {
  113. c1 = ChatColor.DARK_RED;
  114. }
  115. }
  116. }
  117. if (Main.config.getBoolean("settings.leader_chat")) {
  118. if (event.getMessage().startsWith("*") && event.getMessage().length() > 1) {
  119. Clan userClan = Clan.getClanByName(event.getPlayer().getName());
  120.  
  121. if (userClan == null) {
  122. event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
  123. event.setCancelled(true);
  124. return;
  125. } else if (!userClan.isModer(event.getPlayer().getName())
  126. && !userClan.hasLeader(event.getPlayer().getName())) {
  127. event.getPlayer().sendMessage(C.getPrefix() + C.c("Вы не имеете доступ к чату лидеров клана."));
  128. event.setCancelled(true);
  129. return;
  130. }
  131.  
  132. event.getRecipients().clear();
  133. Iterator var4 = userClan.getMembers().iterator();
  134.  
  135. while (var4.hasNext()) {
  136. Member c = (Member) var4.next();
  137. OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
  138.  
  139. if (pl.isOnline()) {
  140. if (userClan.isModer(pl.getPlayer().getName())
  141. || userClan.hasLeader(pl.getPlayer().getName())) {
  142. event.getRecipients().add(pl.getPlayer());
  143. }
  144. }
  145. }
  146.  
  147. ChatColor c1 = ChatColor.GREEN;
  148.  
  149. if (userClan.hasLeader(event.getPlayer().getName())) {
  150. c1 = ChatColor.DARK_RED;
  151. }
  152. }
  153. }
  154. }
  155.  
  156. public void PlayerChatEvent(PlayerChatEvent event) {
  157.  
  158. if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
  159. event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
  160. } else {
  161. event.setFormat(event.getFormat().replace("!clantag!", ""));
  162. }
  163.  
  164. if (Main.config.getBoolean("settings.clan_chat")) {
  165. if (event.getMessage().startsWith("%") && event.getMessage().length() > 1) {
  166. Clan userClan = Clan.getClanByName(event.getPlayer().getName());
  167.  
  168. if (userClan == null) {
  169. event.getPlayer().sendMessage(C.getPrefix() + C.c("Вы не состоите в клане."));
  170. event.setCancelled(true);
  171. return;
  172. }
  173.  
  174. event.getRecipients().clear();
  175. Iterator var4 = userClan.getMembers().iterator();
  176.  
  177. while (var4.hasNext()) {
  178. Member c = (Member) var4.next();
  179. OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
  180.  
  181. if (pl.isOnline()) {
  182. event.getRecipients().add(pl.getPlayer());
  183. }
  184. }
  185.  
  186. ChatColor c1 = ChatColor.YELLOW;
  187.  
  188. if (userClan.isModer(event.getPlayer().getName())) {
  189. c1 = ChatColor.GREEN;
  190. }
  191.  
  192. if (userClan.hasLeader(event.getPlayer().getName())) {
  193. c1 = ChatColor.DARK_RED;
  194. }
  195. }
  196. }
  197. if (Main.config.getBoolean("settings.leader_chat")) {
  198. if (event.getMessage().startsWith("*") && event.getMessage().length() > 1) {
  199. Clan userClan = Clan.getClanByName(event.getPlayer().getName());
  200.  
  201. if (userClan == null) {
  202. event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
  203. event.setCancelled(true);
  204. return;
  205. } else if (!userClan.isModer(event.getPlayer().getName())
  206. && !userClan.hasLeader(event.getPlayer().getName())) {
  207. event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не имеете доступ к чате лидеров клана."));
  208. event.setCancelled(true);
  209. return;
  210. }
  211.  
  212. event.getRecipients().clear();
  213. Iterator var4 = userClan.getMembers().iterator();
  214.  
  215. while (var4.hasNext()) {
  216. Member c = (Member) var4.next();
  217. OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
  218.  
  219. if (pl.isOnline()) {
  220. if (userClan.isModer(pl.getPlayer().getName())
  221. || userClan.hasLeader(pl.getPlayer().getName())) {
  222. event.getRecipients().add(pl.getPlayer());
  223. }
  224. }
  225. }
  226.  
  227. ChatColor c1 = ChatColor.GREEN;
  228.  
  229. if (userClan.hasLeader(event.getPlayer().getName())) {
  230. c1 = ChatColor.DARK_RED;
  231. }
  232.  
  233. event.setFormat(
  234. event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + " &9&l| ")));
  235. event.setMessage(event.getMessage().substring(1, event.getMessage().length()).replace("§", "&"));
  236. }
  237. }
  238. }
  239.  
  240. @EventHandler(priority = EventPriority.LOW)
  241.  
  242. public void AsyncPlayerChatTagEvent(AsyncPlayerChatEvent event) {
  243.  
  244. if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
  245. event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
  246. } else {
  247. event.setFormat(event.getFormat().replace("!clantag!", ""));
  248. }
  249. }
  250. }
Advertisement
Add Comment
Please, Sign In to add comment