From 48c5131ea4a4bc83e8e5bf6e077768b135c400a7 Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Sun, 26 Aug 2012 00:54:15 +0200 Subject: [PATCH 1/2] New beta herochat integration and fixing the slow load time. This may require Java7. --- lib/Herochat.jar | Bin 108398 -> 125509 bytes src/com/massivecraft/factions/Conf.java | 25 +- src/com/massivecraft/factions/P.java | 2 +- .../integration/HerochatFeatures.java | 71 ---- .../integration/herochat/AlliesChannel.java | 37 ++ .../integration/herochat/FactionChannel.java | 38 ++ .../herochat/FactionsChannelAbstract.java | 390 ++++++++++++++++++ .../herochat/HerochatFeatures.java | 110 +++++ .../listeners/FactionsChatListener.java | 4 +- .../factions/zcore/util/DiscUtil.java | 104 ++++- 10 files changed, 687 insertions(+), 94 deletions(-) delete mode 100644 src/com/massivecraft/factions/integration/HerochatFeatures.java create mode 100644 src/com/massivecraft/factions/integration/herochat/AlliesChannel.java create mode 100644 src/com/massivecraft/factions/integration/herochat/FactionChannel.java create mode 100644 src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java create mode 100644 src/com/massivecraft/factions/integration/herochat/HerochatFeatures.java diff --git a/lib/Herochat.jar b/lib/Herochat.jar index c1f5773911fae12e5788fbd98a9fa670d4bb28aa..b48270645bf1de3c8977e7dd8fcfe6c77bd02741 100644 GIT binary patch delta 98139 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 TL&u)bKNC^_V0;w%%LMp;#VA{v delta 81627 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 diff --git a/src/com/massivecraft/factions/Conf.java b/src/com/massivecraft/factions/Conf.java index 261d2a3d..93a3b50b 100644 --- a/src/com/massivecraft/factions/Conf.java +++ b/src/com/massivecraft/factions/Conf.java @@ -68,14 +68,33 @@ public class Conf public static boolean chatSetFormat = false; public static String chatSetFormatTo = "<{faction_relcolor}§l{faction_roleprefix}§r{faction_relcolor}{faction_tag_pr}"+ChatColor.WHITE.toString()+"%s> %s"; public static boolean chatParseTags = true; - public static boolean chatParseTagsColored = true; + public static boolean chatParseTagsColored = false; public static Map chatSingleFormats = new HashMap(); public static transient boolean chatTagHandledByAnotherPlugin = false; // Why do we need this? (Olof asks) public static String chatTagFormat = "%s"+ChatColor.WHITE; // This one is almost deprecated now right? or is it? // Herochat - public static String herochatFactionChannelName = "Faction"; - public static String herochatAllyChannelName = "Allies"; + public static String herochatFactionName = "Faction"; + public static String herochatFactionNick = "F"; + public static String herochatFactionFormat = "{color}[&l{nick}&r{color} &l{faction_roleprefix}&r{color}{faction_title_pr}{sender}{color}] &f{msg}"; + public static ChatColor herochatFactionColor = ChatColor.GREEN; + public static int herochatFactionDistance = 0; + public static boolean herochatFactionIsShortcutAllowed = false; + public static boolean herochatFactionCrossWorld = true; + public static boolean herochatFactionMuted = false; + public static Set herochatFactionWorlds = new HashSet(); + + public static String herochatAlliesName = "Allies"; + public static String herochatAlliesNick = "A"; + public static String herochatAlliesFormat = "{color}[&l{nick}&r&f {faction_relcolor}&l{faction_roleprefix}&r{faction_relcolor}{faction_tag_pr}{sender}{color}] &f{msg}"; + public static ChatColor herochatAlliesColor = ChatColor.DARK_PURPLE; + public static int herochatAlliesDistance = 0; + public static boolean herochatAlliesIsShortcutAllowed = false; + public static boolean herochatAlliesCrossWorld = true; + public static boolean herochatAlliesMuted = false; + public static Set herochatAlliesWorlds = new HashSet(); + + public static String herochatAllyName = "Allies"; public static double autoLeaveAfterDaysOfInactivity = 10.0; public static double autoLeaveRoutineRunsEveryXMinutes = 5.0; diff --git a/src/com/massivecraft/factions/P.java b/src/com/massivecraft/factions/P.java index 9813f9b0..0828b53c 100644 --- a/src/com/massivecraft/factions/P.java +++ b/src/com/massivecraft/factions/P.java @@ -19,9 +19,9 @@ import com.massivecraft.factions.adapters.LocationTypeAdapter; import com.massivecraft.factions.adapters.RelTypeAdapter; import com.massivecraft.factions.cmd.*; import com.massivecraft.factions.integration.capi.CapiFeatures; +import com.massivecraft.factions.integration.herochat.HerochatFeatures; import com.massivecraft.factions.integration.Econ; import com.massivecraft.factions.integration.EssentialsFeatures; -import com.massivecraft.factions.integration.HerochatFeatures; import com.massivecraft.factions.integration.LWCFeatures; import com.massivecraft.factions.integration.SpoutFeatures; import com.massivecraft.factions.integration.Worldguard; diff --git a/src/com/massivecraft/factions/integration/HerochatFeatures.java b/src/com/massivecraft/factions/integration/HerochatFeatures.java deleted file mode 100644 index 6ed01a5a..00000000 --- a/src/com/massivecraft/factions/integration/HerochatFeatures.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.massivecraft.factions.integration; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.plugin.Plugin; - -import com.dthielke.herochat.Channel; -import com.dthielke.herochat.ChannelChatEvent; -import com.massivecraft.factions.Conf; -import com.massivecraft.factions.FPlayer; -import com.massivecraft.factions.FPlayers; -import com.massivecraft.factions.Faction; -import com.massivecraft.factions.P; -import com.massivecraft.factions.struct.Rel; - -public class HerochatFeatures implements Listener -{ - P p; - public HerochatFeatures(P p) - { - this.p = p; - } - - public static void setup() - { - Plugin plug = Bukkit.getServer().getPluginManager().getPlugin("Herochat"); - if (plug != null && plug.getClass().getName().equals("com.dthielke.herochat.Herochat")) - { - P.p.log("Integration with Herochat successful"); - Bukkit.getPluginManager().registerEvents(new HerochatFeatures(P.p), P.p); - } - } - - @EventHandler(priority = EventPriority.LOW) - public void onChannelChatEvent(ChannelChatEvent event) - { - Channel ch = event.getChannel(); - boolean isFactionChat = ch.getName().equals(Conf.herochatFactionChannelName); - boolean isAllyChat = ch.getName().equals(Conf.herochatAllyChannelName); - if ( ! isFactionChat && ! isAllyChat) return; - - // Do common setup - Player sender = event.getSender().getPlayer(); - FPlayer fpsender = FPlayers.i.get(sender); - event.getBukkitEvent().getRecipients().clear(); - if ( ! fpsender.hasFaction()) - { - sender.sendMessage(ChatColor.YELLOW.toString()+"You must join a faction to use the "+ch.getColor().toString()+ch.getName()+ChatColor.YELLOW.toString()+"-channel."); - event.getBukkitEvent().setCancelled(true); - return; - } - - Faction faction = fpsender.getFaction(); - event.getBukkitEvent().getRecipients().addAll(faction.getOnlinePlayers()); - - if (isAllyChat) - { - for (FPlayer fplayer : FPlayers.i.getOnline()) - { - if(faction.getRelationTo(fplayer) == Rel.ALLY) - { - event.getBukkitEvent().getRecipients().add(fplayer.getPlayer()); - } - } - } - } -} diff --git a/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java b/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java new file mode 100644 index 00000000..222af2db --- /dev/null +++ b/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java @@ -0,0 +1,37 @@ +package com.massivecraft.factions.integration.herochat; + +import java.util.Set; + +import org.bukkit.ChatColor; + +import com.massivecraft.factions.Conf; + +public class AlliesChannel extends FactionsChannelAbstract +{ + @Override public String getName() { return Conf.herochatAlliesName; } + + @Override public String getNick() { return Conf.herochatAlliesNick; } + @Override public void setNick(String nick) { Conf.herochatAlliesNick = nick; } + + @Override public String getFormat() { return Conf.herochatAlliesFormat; } + @Override public void setFormat(String format) { Conf.herochatAlliesFormat = format; } + + @Override public ChatColor getColor() { return Conf.herochatAlliesColor; } + @Override public void setColor(ChatColor color) { Conf.herochatAlliesColor = color; } + + @Override public int getDistance() { return Conf.herochatAlliesDistance; } + @Override public void setDistance(int distance) { Conf.herochatAlliesDistance = distance; } + + @Override public void addWorld(String world) { Conf.herochatAlliesWorlds.add(world); } + @Override public Set getWorlds() { return Conf.herochatAlliesWorlds; } + @Override public void setWorlds(Set worlds) { Conf.herochatAlliesWorlds = worlds; } + + @Override public boolean isShortcutAllowed() { return Conf.herochatAlliesIsShortcutAllowed; } + @Override public void setShortcutAllowed(boolean shortcutAllowed) { Conf.herochatAlliesIsShortcutAllowed = shortcutAllowed; } + + @Override public boolean isCrossWorld() { return Conf.herochatAlliesCrossWorld; } + @Override public void setCrossWorld(boolean crossWorld) { Conf.herochatAlliesCrossWorld = crossWorld; } + + @Override public boolean isMuted() { return Conf.herochatAlliesMuted; } + @Override public void setMuted(boolean value) { Conf.herochatAlliesMuted = value; } +} diff --git a/src/com/massivecraft/factions/integration/herochat/FactionChannel.java b/src/com/massivecraft/factions/integration/herochat/FactionChannel.java new file mode 100644 index 00000000..ff78fb64 --- /dev/null +++ b/src/com/massivecraft/factions/integration/herochat/FactionChannel.java @@ -0,0 +1,38 @@ +package com.massivecraft.factions.integration.herochat; + +import java.util.HashSet; +import java.util.Set; + +import org.bukkit.ChatColor; + +import com.massivecraft.factions.Conf; + +public class FactionChannel extends FactionsChannelAbstract +{ + @Override public String getName() { return Conf.herochatFactionName; } + + @Override public String getNick() { return Conf.herochatFactionNick; } + @Override public void setNick(String nick) { Conf.herochatFactionNick = nick; } + + @Override public String getFormat() { return Conf.herochatFactionFormat; } + @Override public void setFormat(String format) { Conf.herochatFactionFormat = format; } + + @Override public ChatColor getColor() { return Conf.herochatFactionColor; } + @Override public void setColor(ChatColor color) { Conf.herochatFactionColor = color; } + + @Override public int getDistance() { return Conf.herochatFactionDistance; } + @Override public void setDistance(int distance) { Conf.herochatFactionDistance = distance; } + + @Override public void addWorld(String world) { Conf.herochatFactionWorlds.add(world); } + @Override public Set getWorlds() { return new HashSet(Conf.herochatFactionWorlds); } + @Override public void setWorlds(Set worlds) { Conf.herochatFactionWorlds = worlds; } + + @Override public boolean isShortcutAllowed() { return Conf.herochatFactionIsShortcutAllowed; } + @Override public void setShortcutAllowed(boolean shortcutAllowed) { Conf.herochatFactionIsShortcutAllowed = shortcutAllowed; } + + @Override public boolean isCrossWorld() { return Conf.herochatFactionCrossWorld; } + @Override public void setCrossWorld(boolean crossWorld) { Conf.herochatFactionCrossWorld = crossWorld; } + + @Override public boolean isMuted() { return Conf.herochatFactionMuted; } + @Override public void setMuted(boolean value) { Conf.herochatFactionMuted = value; } +} diff --git a/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java b/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java new file mode 100644 index 00000000..fbd65d61 --- /dev/null +++ b/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java @@ -0,0 +1,390 @@ +package com.massivecraft.factions.integration.herochat; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.milkbowl.vault.chat.Chat; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.entity.Player; + +import com.dthielke.herochat.Channel; +import com.dthielke.herochat.ChannelChatEvent; +import com.dthielke.herochat.ChannelStorage; +import com.dthielke.herochat.Chatter; +import com.dthielke.herochat.Herochat; +import com.dthielke.herochat.MessageFormatSupplier; +import com.dthielke.herochat.MessageNotFoundException; +import com.dthielke.herochat.util.Messaging; + +public abstract class FactionsChannelAbstract implements Channel +{ + private static final Pattern msgPattern = Pattern.compile("(.*)<(.*)%1\\$s(.*)> %2\\$s"); + private final ChannelStorage storage = Herochat.getChannelManager().getStorage(); + private final MessageFormatSupplier formatSupplier = Herochat.getChannelManager(); + + public FactionsChannelAbstract() + { + + } + + @Override + public boolean addMember(Chatter chatter, boolean announce, boolean flagUpdate) + { + if (chatter.hasChannel(this)) return false; + chatter.addChannel(this, announce, flagUpdate); + return true; + } + + @Override + public boolean kickMember(Chatter chatter, boolean announce) + { + if (!chatter.hasChannel(this)) return false; + this.removeMember(chatter, false, true); + + if (announce) + { + try + { + announce(Herochat.getMessage("channel_kick").replace("$1", chatter.getPlayer().getDisplayName())); + } + catch (MessageNotFoundException e) + { + Herochat.severe("Messages.properties is missing: channel_kick"); + } + } + + return true; + } + + @Override + public boolean removeMember(Chatter chatter, boolean announce, boolean flagUpdate) + { + if (!chatter.hasChannel(this)) return false; + chatter.removeChannel(this, announce, flagUpdate); + return true; + } + + + @Override + public Set getMembers() + { + Set ret = new HashSet(); + for (Chatter chatter : Herochat.getChatterManager().getChatters()) + { + if(chatter.hasChannel(this)) ret.add(chatter); + } + return ret; + } + + @Override + public void announce(String message) + { + message = applyFormat(this.formatSupplier.getAnnounceFormat(), "").replace("%2$s", message); + for (Chatter member : this.getMembers()) + { + member.getPlayer().sendMessage(message); + } + Herochat.logChat(ChatColor.stripColor(message)); + } + + @Override + public String applyFormat(String format, String originalFormat) + { + format = format.replace("{default}", this.formatSupplier.getStandardFormat()); + format = format.replace("{name}", this.getName()); + format = format.replace("{nick}", this.getNick()); + format = format.replace("{color}", this.getColor().toString()); + format = format.replace("{msg}", "%2$s"); + + Matcher matcher = msgPattern.matcher(originalFormat); + if ((matcher.matches()) && (matcher.groupCount() == 3)) + { + format = format.replace("{sender}", matcher.group(1) + matcher.group(2) + "%1$s" + matcher.group(3)); + } + else + { + format = format.replace("{sender}", "%1$s"); + } + + format = format.replaceAll("(?i)&([a-fklmno0-9])", "§$1"); + return format; + } + + @Override + public String applyFormat(String format, String originalFormat, Player sender) + { + format = applyFormat(format, originalFormat); + format = format.replace("{plainsender}", sender.getName()); + format = format.replace("{world}", sender.getWorld().getName()); + Chat chat = Herochat.getChatService(); + if (chat != null) + { + try + { + String prefix = chat.getPlayerPrefix(sender); + String suffix = chat.getPlayerSuffix(sender); + String group = chat.getPrimaryGroup(sender); + String groupPrefix = group == null ? "" : chat.getGroupPrefix(sender.getWorld(), group); + String groupSuffix = group == null ? "" : chat.getGroupSuffix(sender.getWorld(), group); + format = format.replace("{prefix}", prefix == null ? "" : prefix.replace("%", "%%")); + format = format.replace("{suffix}", suffix == null ? "" : suffix.replace("%", "%%")); + format = format.replace("{group}", group == null ? "" : group.replace("%", "%%")); + format = format.replace("{groupprefix}", groupPrefix == null ? "" : groupPrefix.replace("%", "%%")); + format = format.replace("{groupsuffix}", groupSuffix == null ? "" : groupSuffix.replace("%", "%%")); + } + catch (UnsupportedOperationException ignored) {} + } + else + { + format = format.replace("{prefix}", ""); + format = format.replace("{suffix}", ""); + format = format.replace("{group}", ""); + format = format.replace("{groupprefix}", ""); + format = format.replace("{groupsuffix}", ""); + } + format = format.replaceAll("(?i)&([a-fklmno0-9])", "§$1"); + return format; + } + + @Override + public void emote(Chatter sender, String message) + { + message = applyFormat(this.formatSupplier.getEmoteFormat(), "").replace("%2$s", message); + Set recipients = new HashSet(); + for (Chatter member : this.getMembers()) + { + recipients.add(member.getPlayer()); + } + + trimRecipients(recipients, sender); + + final Player player = sender.getPlayer(); + + if (!isMessageHeard(recipients, sender)) + { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Herochat.getPlugin(), new Runnable() + { + public void run() + { + try + { + Messaging.send(player, Herochat.getMessage("channel_alone")); + } + catch (MessageNotFoundException e) + { + Herochat.severe("Messages.properties is missing: channel_alone"); + } + } + }, 1L); + } + else + { + for (Player p : recipients) + { + p.sendMessage(message); + } + } + } + + @Override + public boolean isMuted(String name) + { + if (this.isMuted()) return true; + return this.getMutes().contains(name.toLowerCase()); + } + + @Override + public void processChat(ChannelChatEvent event) + { + final Player player = event.getSender().getPlayer(); + + String format = applyFormat(event.getFormat(), event.getBukkitFormat(), player); + + Chatter sender = Herochat.getChatterManager().getChatter(player); + Set recipients = new HashSet(Arrays.asList(Bukkit.getOnlinePlayers())); + + trimRecipients(recipients, sender); + String msg = String.format(format, player.getDisplayName(), event.getMessage()); + if (!isMessageHeard(recipients, sender)) + { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Herochat.getPlugin(), new Runnable() + { + public void run() + { + try + { + Messaging.send(player, Herochat.getMessage("channel_alone")); + } + catch (MessageNotFoundException e) + { + Herochat.severe("Messages.properties is missing: channel_alone"); + } + } + }, 1L); + } + + for (Player recipient : recipients) + { + recipient.sendMessage(msg); + } + + Herochat.logChat(msg); + } + + /*@Override + public void processChat(ChannelChatEvent event) + { + final Player player = event.getSender().getPlayer(); + + String format = applyFormat(event.getFormat(), event.getBukkitFormat(), player); + + Chatter sender = Herochat.getChatterManager().getChatter(player); + Set recipients = new HashSet(Arrays.asList(Bukkit.getOnlinePlayers())); + + trimRecipients(recipients, sender); + if (!isMessageHeard(recipients, sender)) + { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Herochat.getPlugin(), new Runnable() + { + public void run() + { + try + { + Messaging.send(player, Herochat.getMessage("channel_alone")); + } + catch (MessageNotFoundException e) + { + Herochat.severe("Messages.properties is missing: channel_alone"); + } + } + }, 1L); + } + + FPlayer fplayer = FPlayers.i.get(player); + + String formatWithoutColor = FactionsChatListener.parseTags(format, player, fplayer); + + //String msg = String.format(format, player.getDisplayName(), event.getMessage()); + + + for (Player recipient : recipients) + { + String finalFormat; + if ( ! Conf.chatParseTags || Conf.chatTagHandledByAnotherPlugin) + { + finalFormat = format; + } + else if (! Conf.chatParseTagsColored) + { + finalFormat = formatWithoutColor; + } + else + { + FPlayer frecipient = FPlayers.i.get(recipient); + finalFormat = FactionsChatListener.parseTags(format, player, fplayer, recipient, frecipient); + } + String msg = String.format(finalFormat, player.getDisplayName(), event.getMessage()); + recipient.sendMessage(msg); + } + + Herochat.logChat(String.format(formatWithoutColor, player.getDisplayName(), event.getMessage())); + }*/ + + public boolean isMessageHeard(Set recipients, Chatter sender) + { + if (!isLocal()) return true; + + Player senderPlayer = sender.getPlayer(); + for (Player recipient : recipients) + { + if (recipient.equals(senderPlayer)) continue; + if (recipient.hasPermission("herochat.admin.stealth")) continue; + return true; + } + + return false; + } + + public void trimRecipients(Set recipients, Chatter sender) + { + World world = sender.getPlayer().getWorld(); + + Set members = this.getMembers(); + Iterator iterator = recipients.iterator(); + while(iterator.hasNext()) + { + Chatter recipient = Herochat.getChatterManager().getChatter(iterator.next()); + if (recipient == null) continue; + World recipientWorld = recipient.getPlayer().getWorld(); + + if (!members.contains(recipient)) + iterator.remove(); + else if ((isLocal()) && (!sender.isInRange(recipient, this.getDistance()))) + iterator.remove(); + else if (!hasWorld(recipientWorld)) + iterator.remove(); + else if (recipient.isIgnoring(sender)) + iterator.remove(); + else if ((!this.isCrossWorld()) && (!world.equals(recipientWorld))) + iterator.remove(); + } + } + + public boolean equals(Object other) + { + if (other == this) return true; + if (other == null) return false; + if (!(other instanceof Channel)) return false; + Channel channel = (Channel)other; + return (this.getName().equalsIgnoreCase(channel.getName())) || (this.getName().equalsIgnoreCase(channel.getNick())); + } + + public int hashCode() + { + int prime = 31; + int result = 1; + result = prime * result + (this.getName() == null ? 0 : this.getName().toLowerCase().hashCode()); + result = prime * result + (this.getNick() == null ? 0 : this.getNick().toLowerCase().hashCode()); + return result; + } + + @Override public boolean isTransient() { return false; } + @Override public String getPassword() { return ""; } + @Override public void setPassword(String password) {} + @Override public boolean isVerbose() { return false; } + @Override public void setVerbose(boolean verbose) {} + @Override public boolean isHidden() { return false; } + @Override public boolean isLocal() { return this.getDistance() != 0; } + @Override public void attachStorage(ChannelStorage storage) { } + @Override public boolean banMember(Chatter chatter, boolean announce) { return false; } + @Override public Set getBans() { return Collections.emptySet(); } + @Override public Set getModerators() { return Collections.emptySet(); } + @Override public Set getMutes() { return Collections.emptySet(); } + @Override public ChannelStorage getStorage() { return this.storage; } + @Override public boolean hasWorld(String world) { return (this.getWorlds().isEmpty()) || (this.getWorlds().contains(world)); } + @Override public boolean hasWorld(World world) { return this.hasWorld(world.getName()); } + @Override public boolean isBanned(String name) { return this.getBans().contains(name.toLowerCase()); } + @Override public boolean isMember(Chatter chatter) { return this.getMembers().contains(chatter); } + @Override public boolean isModerator(String name) { return this.getModerators().contains(name.toLowerCase()); } + + @Override public void onFocusGain(Chatter chatter) {} + @Override public void onFocusLoss(Chatter chatter) {} + + + + @Override public void removeWorld(String world) { this.getWorlds().remove(world); } + @Override public void setBanned(String name, boolean banned) {} + @Override public void setBans(Set bans) {} + @Override public void setModerator(String name, boolean moderator) {} + @Override public void setModerators(Set moderators) { } + @Override public void setMuted(String name, boolean muted) {} + @Override public void setMutes(Set mutes) {} +} diff --git a/src/com/massivecraft/factions/integration/herochat/HerochatFeatures.java b/src/com/massivecraft/factions/integration/herochat/HerochatFeatures.java new file mode 100644 index 00000000..f9b3212d --- /dev/null +++ b/src/com/massivecraft/factions/integration/herochat/HerochatFeatures.java @@ -0,0 +1,110 @@ +package com.massivecraft.factions.integration.herochat; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.plugin.Plugin; + +import com.dthielke.herochat.ChannelChatEvent; +import com.dthielke.herochat.Herochat; +import com.massivecraft.factions.Conf; +import com.massivecraft.factions.FPlayer; +import com.massivecraft.factions.FPlayers; +import com.massivecraft.factions.P; +import com.massivecraft.factions.listeners.FactionsChatListener; + +public class HerochatFeatures implements Listener +{ + P p; + public HerochatFeatures(P p) + { + this.p = p; + } + + public static void setup() + { + Plugin plug = Bukkit.getServer().getPluginManager().getPlugin("Herochat"); + if (plug == null) return; + if (!plug.getClass().getName().equals("com.dthielke.herochat.Herochat")) return; + Bukkit.getPluginManager().registerEvents(new HerochatFeatures(P.p), P.p); + Herochat.getChannelManager().addChannel(new FactionChannel()); + Herochat.getChannelManager().addChannel(new AlliesChannel()); + P.p.log("Integration with Herochat successful"); + } + + /** + * Due to limitations in the new version of Herochat we can not offer relation colored tags. + */ + @EventHandler(priority = EventPriority.NORMAL) + public void onChannelChatEvent(ChannelChatEvent event) + { + // Should we even parse? + if ( ! Conf.chatParseTags) return; + if (Conf.chatTagHandledByAnotherPlugin) return; + + Player from = event.getSender().getPlayer(); + FPlayer fpfrom = FPlayers.i.get(from); + String format = event.getFormat(); + + format = format.replaceAll("&r", "§r"); + + String formatWithoutColor = FactionsChatListener.parseTags(format, from, fpfrom); + + event.setFormat(formatWithoutColor); + } + + /* + + public static Chatter getChatter(Player player) + { + ChatterManager chatterManager = Herochat.getChatterManager(); + if (!chatterManager.hasChatter(player)) chatterManager.addChatter(player); + Chatter ret = chatterManager.getChatter(player); + if (ret == null) throw new RuntimeException("Chatter (" + player.getName() + ") not found."); + return ret; + } + + @EventHandler(priority = EventPriority.LOW) + public void onAsyncPlayerChatEvent(AsyncPlayerChatEvent event) + { + Player player = event.getPlayer(); + Chatter sender = getChatter(player); + Channel ch = sender.getActiveChannel(); + if (ch == null) return; + + boolean isFactionChat = ch.getName().equals(Conf.herochatFactionChannelName); + boolean isAllyChat = ch.getName().equals(Conf.herochatAllyChannelName); + if ( ! isFactionChat && ! isAllyChat) return; + + // Do common setup + Player sender = event.getSender().getPlayer(); + FPlayer fpsender = FPlayers.i.get(sender); + + event.getRecipients().clear(); + + if ( ! fpsender.hasFaction()) + { + sender.sendMessage(ChatColor.YELLOW.toString()+"You must join a faction to use the "+ch.getColor().toString()+ch.getName()+ChatColor.YELLOW.toString()+"-channel."); + event.getBukkitEvent().setCancelled(true); + return; + } + + Faction faction = fpsender.getFaction(); + event.getBukkitEvent().getRecipients().addAll(faction.getOnlinePlayers()); + + if (isAllyChat) + { + for (FPlayer fplayer : FPlayers.i.getOnline()) + { + if(faction.getRelationTo(fplayer) == Rel.ALLY) + { + event.getBukkitEvent().getRecipients().add(fplayer.getPlayer()); + } + } + } + } + + */ +} diff --git a/src/com/massivecraft/factions/listeners/FactionsChatListener.java b/src/com/massivecraft/factions/listeners/FactionsChatListener.java index aca5fc3c..dd8da2a4 100644 --- a/src/com/massivecraft/factions/listeners/FactionsChatListener.java +++ b/src/com/massivecraft/factions/listeners/FactionsChatListener.java @@ -80,7 +80,7 @@ public class FactionsChatListener implements Listener * The side effect is that other plugins at EventPriority.HIGHEST may experience the event as cancelled. */ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled=true) - public synchronized void onPlayerChat(AsyncPlayerChatEvent event) + public void onPlayerChat(AsyncPlayerChatEvent event) { // Should we even parse? if ( ! Conf.chatParseTags) return; @@ -126,7 +126,7 @@ public class FactionsChatListener implements Listener * This is some nasty woodo - I know :/ * I should make a pull request to Bukkit and CraftBukkit to support this feature natively */ - public static synchronized void callEventAtMonitorOnly(Event event) + public static void callEventAtMonitorOnly(Event event) { synchronized(Bukkit.getPluginManager()) { diff --git a/src/com/massivecraft/factions/zcore/util/DiscUtil.java b/src/com/massivecraft/factions/zcore/util/DiscUtil.java index 43e4c244..024e9864 100644 --- a/src/com/massivecraft/factions/zcore/util/DiscUtil.java +++ b/src/com/massivecraft/factions/zcore/util/DiscUtil.java @@ -4,31 +4,48 @@ import java.io.*; import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; +import java.nio.file.Files; public class DiscUtil { + // -------------------------------------------- // + // CONSTANTS + // -------------------------------------------- // + + private final static String UTF8 = "UTF-8"; + + // -------------------------------------------- // + // BYTE + // -------------------------------------------- // + + public static byte[] readBytes(File file) throws IOException + { + return Files.readAllBytes(file.toPath()); + } + + public static void writeBytes(File file, byte[] bytes) throws IOException + { + Files.write(file.toPath(), bytes); + } + + // -------------------------------------------- // + // STRING + // -------------------------------------------- // + public static void write(File file, String content) throws IOException { - BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, false), "UTF8")); - out.write(content); - out.close(); + writeBytes(file, utf8(content)); } public static String read(File file) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); - String ret = new String(new byte[0], "UTF-8"); - - String line; - while ((line = in.readLine()) != null) - { - ret += line; - } - - in.close(); - return ret; + return utf8(readBytes(file)); } + // -------------------------------------------- // + // CATCH + // -------------------------------------------- // + public static boolean writeCatch(File file, String content) { try @@ -54,6 +71,10 @@ public class DiscUtil } } + // -------------------------------------------- // + // DOWNLOAD + // -------------------------------------------- // + public static boolean downloadUrl(String urlstring, File file) { try @@ -61,8 +82,8 @@ public class DiscUtil URL url = new URL(urlstring); ReadableByteChannel rbc = Channels.newChannel(url.openStream()); FileOutputStream fos = new FileOutputStream(file); - fos.getChannel().transferFrom(rbc, 0, 1 << 24); - return true; + fos.getChannel().transferFrom(rbc, 0, 1 << 24); + return true; } catch (Exception e) { @@ -75,4 +96,53 @@ public class DiscUtil { return downloadUrl(urlstring, new File(filename)); } -} + + // -------------------------------------------- // + // FILE DELETION + // -------------------------------------------- // + + public static boolean deleteRecursive(File path) throws FileNotFoundException + { + if ( ! path.exists()) throw new FileNotFoundException(path.getAbsolutePath()); + boolean ret = true; + if (path.isDirectory()) + { + for (File f : path.listFiles()) + { + ret = ret && deleteRecursive(f); + } + } + return ret && path.delete(); + } + + // -------------------------------------------- // + // UTF8 ENCODE AND DECODE + // -------------------------------------------- // + + public static byte[] utf8(String string) + { + try + { + return string.getBytes(UTF8); + } + catch (UnsupportedEncodingException e) + { + e.printStackTrace(); + return null; + } + } + + public static String utf8(byte[] bytes) + { + try + { + return new String(bytes, UTF8); + } + catch (UnsupportedEncodingException e) + { + e.printStackTrace(); + return null; + } + } + +} \ No newline at end of file From bc0647e51b0b72e03e50cf9a341c5ec4d60652fe Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Sun, 26 Aug 2012 02:12:02 +0200 Subject: [PATCH 2/2] Fixing the recipients for HeroChat integration. --- .../integration/herochat/AlliesChannel.java | 7 +++- .../integration/herochat/FactionChannel.java | 7 +++- .../herochat/FactionsChannelAbstract.java | 32 +++++++++++++++++-- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java b/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java index 222af2db..2e615d27 100644 --- a/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java +++ b/src/com/massivecraft/factions/integration/herochat/AlliesChannel.java @@ -1,13 +1,18 @@ package com.massivecraft.factions.integration.herochat; +import java.util.EnumSet; import java.util.Set; import org.bukkit.ChatColor; import com.massivecraft.factions.Conf; +import com.massivecraft.factions.struct.Rel; public class AlliesChannel extends FactionsChannelAbstract -{ +{ + public static final Set targetRelations = EnumSet.of(Rel.MEMBER, Rel.ALLY); + @Override public Set getTargetRelations() { return targetRelations; } + @Override public String getName() { return Conf.herochatAlliesName; } @Override public String getNick() { return Conf.herochatAlliesNick; } diff --git a/src/com/massivecraft/factions/integration/herochat/FactionChannel.java b/src/com/massivecraft/factions/integration/herochat/FactionChannel.java index ff78fb64..62a2d653 100644 --- a/src/com/massivecraft/factions/integration/herochat/FactionChannel.java +++ b/src/com/massivecraft/factions/integration/herochat/FactionChannel.java @@ -1,14 +1,19 @@ package com.massivecraft.factions.integration.herochat; +import java.util.EnumSet; import java.util.HashSet; import java.util.Set; import org.bukkit.ChatColor; import com.massivecraft.factions.Conf; +import com.massivecraft.factions.struct.Rel; public class FactionChannel extends FactionsChannelAbstract -{ +{ + public static final Set targetRelations = EnumSet.of(Rel.MEMBER); + @Override public Set getTargetRelations() { return targetRelations; } + @Override public String getName() { return Conf.herochatFactionName; } @Override public String getNick() { return Conf.herochatFactionNick; } diff --git a/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java b/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java index fbd65d61..0730dd5e 100644 --- a/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java +++ b/src/com/massivecraft/factions/integration/herochat/FactionsChannelAbstract.java @@ -1,6 +1,5 @@ package com.massivecraft.factions.integration.herochat; -import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; @@ -23,6 +22,10 @@ import com.dthielke.herochat.Herochat; import com.dthielke.herochat.MessageFormatSupplier; import com.dthielke.herochat.MessageNotFoundException; import com.dthielke.herochat.util.Messaging; +import com.massivecraft.factions.FPlayer; +import com.massivecraft.factions.FPlayers; +import com.massivecraft.factions.Faction; +import com.massivecraft.factions.struct.Rel; public abstract class FactionsChannelAbstract implements Channel { @@ -35,6 +38,8 @@ public abstract class FactionsChannelAbstract implements Channel } + + @Override public boolean addMember(Chatter chatter, boolean announce, boolean flagUpdate) { @@ -201,6 +206,29 @@ public abstract class FactionsChannelAbstract implements Channel return this.getMutes().contains(name.toLowerCase()); } + + public abstract Set getTargetRelations(); + + public Set getRecipients(Player sender) + { + Set ret = new HashSet(); + + FPlayer fpsender = FPlayers.i.get(sender); + Faction faction = fpsender.getFaction(); + ret.addAll(faction.getOnlinePlayers()); + + for (FPlayer fplayer : FPlayers.i.getOnline()) + { + if(this.getTargetRelations().contains(faction.getRelationTo(fplayer))) + { + ret.add(fplayer.getPlayer()); + } + } + + return ret; + } + + @Override public void processChat(ChannelChatEvent event) { @@ -209,7 +237,7 @@ public abstract class FactionsChannelAbstract implements Channel String format = applyFormat(event.getFormat(), event.getBukkitFormat(), player); Chatter sender = Herochat.getChatterManager().getChatter(player); - Set recipients = new HashSet(Arrays.asList(Bukkit.getOnlinePlayers())); + Set recipients = this.getRecipients(player); trimRecipients(recipients, sender); String msg = String.format(format, player.getDisplayName(), event.getMessage());