Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.jampire.bukkit.uralclans2;
- import java.util.Iterator;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.entity.Arrow;
- import org.bukkit.entity.Player;
- import org.bukkit.entity.ThrownPotion;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerChatEvent;
- import org.bukkit.event.player.PlayerKickEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import com.sk89q.worldguard.protection.ApplicableRegionSet;
- import com.sk89q.worldguard.protection.flags.DefaultFlag;
- import com.sk89q.worldguard.protection.flags.StateFlag.State;
- public class EventListener implements Listener {
- @EventHandler
- public void PlayerKickEvent(PlayerKickEvent event) {
- if (Request.get(event.getPlayer()) != null) {
- Request.deny(Request.get(event.getPlayer()));
- }
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void PlayerMoveEvent(PlayerMoveEvent event) {
- if (event.getFrom().distance(event.getTo()) > 0.0D) {
- Warm.cancelWarming(event.getPlayer());
- }
- }
- @EventHandler
- public void EntityDamageByEntityEvent(EntityDamageByEntityEvent event) {
- if (event.getEntity() instanceof Player) {
- Object d = event.getDamager();
- if (d instanceof Arrow) {
- d = ((Arrow) d).getShooter();
- } else if (d instanceof ThrownPotion) {
- d = ((ThrownPotion) d).getShooter();
- }
- if (d instanceof Player) {
- Player damager = (Player) d;
- Player attacker = (Player) event.getEntity();
- Clan userClan = Clan.getClanByName(damager.getName());
- ApplicableRegionSet set = Main.getWG().getRegionManager(attacker.getWorld())
- .getApplicableRegions(attacker.getLocation());
- if (set.getFlag(DefaultFlag.PVP) == State.ALLOW && Main.config.getInt("settings.pvp") == 1) {
- return;
- }
- if (Clan.hasMember(damager.getName()) && Clan.hasMember(attacker.getName())
- && userClan.hasClanMember(attacker.getName()) && attacker.getName() != damager.getName()) {
- if (!userClan.isPvP()) {
- return;
- }
- damager.sendMessage(C.getPrefix() + C.c("&cPvP в клане отключено."));
- event.setCancelled(true);
- }
- }
- }
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void AsyncPlayerChatEvent(AsyncPlayerChatEvent event) {
- if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
- event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
- } else {
- event.setFormat(event.getFormat().replace("!clantag!", ""));
- }
- if (Main.config.getBoolean("settings.clan_chat")) {
- if (event.getMessage().startsWith("%") && event.getMessage().length() > 1) {
- Clan userClan = Clan.getClanByName(event.getPlayer().getName());
- if (userClan == null) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- event.setCancelled(true);
- return;
- }
- event.getRecipients().clear();
- Iterator var4 = userClan.getMembers().iterator();
- while (var4.hasNext()) {
- Member c = (Member) var4.next();
- OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
- if (pl.isOnline()) {
- event.getRecipients().add(pl.getPlayer());
- }
- }
- ChatColor c1 = ChatColor.YELLOW;
- if (userClan.isModer(event.getPlayer().getName())) {
- c1 = ChatColor.GREEN;
- }
- if (userClan.hasLeader(event.getPlayer().getName())) {
- c1 = ChatColor.DARK_RED;
- }
- }
- }
- if (Main.config.getBoolean("settings.leader_chat")) {
- if (event.getMessage().startsWith("*") && event.getMessage().length() > 1) {
- Clan userClan = Clan.getClanByName(event.getPlayer().getName());
- if (userClan == null) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- event.setCancelled(true);
- return;
- } else if (!userClan.isModer(event.getPlayer().getName())
- && !userClan.hasLeader(event.getPlayer().getName())) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("Вы не имеете доступ к чату лидеров клана."));
- event.setCancelled(true);
- return;
- }
- event.getRecipients().clear();
- Iterator var4 = userClan.getMembers().iterator();
- while (var4.hasNext()) {
- Member c = (Member) var4.next();
- OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
- if (pl.isOnline()) {
- if (userClan.isModer(pl.getPlayer().getName())
- || userClan.hasLeader(pl.getPlayer().getName())) {
- event.getRecipients().add(pl.getPlayer());
- }
- }
- }
- ChatColor c1 = ChatColor.GREEN;
- if (userClan.hasLeader(event.getPlayer().getName())) {
- c1 = ChatColor.DARK_RED;
- }
- }
- }
- }
- public void PlayerChatEvent(PlayerChatEvent event) {
- if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
- event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
- } else {
- event.setFormat(event.getFormat().replace("!clantag!", ""));
- }
- if (Main.config.getBoolean("settings.clan_chat")) {
- if (event.getMessage().startsWith("%") && event.getMessage().length() > 1) {
- Clan userClan = Clan.getClanByName(event.getPlayer().getName());
- if (userClan == null) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("Вы не состоите в клане."));
- event.setCancelled(true);
- return;
- }
- event.getRecipients().clear();
- Iterator var4 = userClan.getMembers().iterator();
- while (var4.hasNext()) {
- Member c = (Member) var4.next();
- OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
- if (pl.isOnline()) {
- event.getRecipients().add(pl.getPlayer());
- }
- }
- ChatColor c1 = ChatColor.YELLOW;
- if (userClan.isModer(event.getPlayer().getName())) {
- c1 = ChatColor.GREEN;
- }
- if (userClan.hasLeader(event.getPlayer().getName())) {
- c1 = ChatColor.DARK_RED;
- }
- }
- }
- if (Main.config.getBoolean("settings.leader_chat")) {
- if (event.getMessage().startsWith("*") && event.getMessage().length() > 1) {
- Clan userClan = Clan.getClanByName(event.getPlayer().getName());
- if (userClan == null) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- event.setCancelled(true);
- return;
- } else if (!userClan.isModer(event.getPlayer().getName())
- && !userClan.hasLeader(event.getPlayer().getName())) {
- event.getPlayer().sendMessage(C.getPrefix() + C.c("&cВы не имеете доступ к чате лидеров клана."));
- event.setCancelled(true);
- return;
- }
- event.getRecipients().clear();
- Iterator var4 = userClan.getMembers().iterator();
- while (var4.hasNext()) {
- Member c = (Member) var4.next();
- OfflinePlayer pl = Bukkit.getOfflinePlayer(c.getName());
- if (pl.isOnline()) {
- if (userClan.isModer(pl.getPlayer().getName())
- || userClan.hasLeader(pl.getPlayer().getName())) {
- event.getRecipients().add(pl.getPlayer());
- }
- }
- }
- ChatColor c1 = ChatColor.GREEN;
- if (userClan.hasLeader(event.getPlayer().getName())) {
- c1 = ChatColor.DARK_RED;
- }
- event.setFormat(
- event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + " &9&l| ")));
- event.setMessage(event.getMessage().substring(1, event.getMessage().length()).replace("§", "&"));
- }
- }
- }
- @EventHandler(priority = EventPriority.LOW)
- public void AsyncPlayerChatTagEvent(AsyncPlayerChatEvent event) {
- if (Clan.hasMember(event.getPlayer().getName()) && event.getFormat().contains("!clantag!")) {
- event.setFormat(event.getFormat().replace("!clantag!", C.c(C.getClanPrefix(event.getPlayer()) + "&9&l| ")));
- } else {
- event.setFormat(event.getFormat().replace("!clantag!", ""));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment