Fix plot chat, chatspy + add comment spying

This commit is contained in:
boy0001 2015-09-06 10:33:11 +10:00
parent e704784570
commit ea146dcf91
7 changed files with 18 additions and 6 deletions

View File

@ -8,7 +8,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<artifactId>PlotSquared</artifactId> <artifactId>PlotSquared</artifactId>
<version>3.1.8</version> <version>3.1.9</version>
<name>PlotSquared</name> <name>PlotSquared</name>
<packaging>jar</packaging> <packaging>jar</packaging>
<build> <build>

View File

@ -32,6 +32,7 @@ import com.intellectualcrafters.plot.object.comment.PlotComment;
import com.intellectualcrafters.plot.util.CommentManager; import com.intellectualcrafters.plot.util.CommentManager;
import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.MainUtil;
import com.intellectualcrafters.plot.util.StringMan; import com.intellectualcrafters.plot.util.StringMan;
import com.intellectualcrafters.plot.util.UUIDHandler;
import com.plotsquared.general.commands.CommandDeclaration; import com.plotsquared.general.commands.CommandDeclaration;
@CommandDeclaration( @CommandDeclaration(
@ -83,6 +84,11 @@ public class Comment extends SubCommand {
sendMessage(player, C.COMMENT_SYNTAX, StringMan.join(CommentManager.inboxes.keySet(),"|")); sendMessage(player, C.COMMENT_SYNTAX, StringMan.join(CommentManager.inboxes.keySet(),"|"));
return false; return false;
} }
for (PlotPlayer pp : UUIDHandler.getPlayers().values()) {
if (pp.getAttribute("chatspy")) {
MainUtil.sendMessage(pp, "/plot comment " + StringMan.join(args, " "));
}
}
sendMessage(player, C.COMMENT_ADDED); sendMessage(player, C.COMMENT_ADDED);
return true; return true;
} }

View File

@ -83,10 +83,10 @@ public class Toggle extends SubCommand {
@Override @Override
public boolean onCommand(PlotPlayer player, String[] args) { public boolean onCommand(PlotPlayer player, String[] args) {
if (toggle(player, "chatspy")) { if (toggle(player, "chatspy")) {
MainUtil.sendMessage(player, C.TOGGLE_ENABLED, getCommand()); MainUtil.sendMessage(player, C.TOGGLE_DISABLED, getCommand());
} }
else { else {
MainUtil.sendMessage(player, C.TOGGLE_DISABLED, getCommand()); MainUtil.sendMessage(player, C.TOGGLE_ENABLED, getCommand());
} }
return true; return true;
} }

View File

@ -46,6 +46,7 @@ import com.intellectualcrafters.plot.util.ChunkManager;
import com.intellectualcrafters.plot.util.ClusterManager; import com.intellectualcrafters.plot.util.ClusterManager;
import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.MainUtil;
import com.intellectualcrafters.plot.util.SchematicHandler; import com.intellectualcrafters.plot.util.SchematicHandler;
import com.intellectualcrafters.plot.util.StringMan;
import com.intellectualcrafters.plot.util.TaskManager; import com.intellectualcrafters.plot.util.TaskManager;
/** /**
@ -948,7 +949,7 @@ public class Plot {
if (this.hashCode() != other.hashCode()) { if (this.hashCode() != other.hashCode()) {
return false; return false;
} }
return ((this.id.x.equals(other.id.x)) && (this.id.y.equals(other.id.y)) && (this.world.equals(other.world))); return ((this.id.x.equals(other.id.x)) && (this.id.y.equals(other.id.y)) && (StringMan.isEqual(this.world, other.world)));
} }

View File

@ -601,7 +601,7 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
} }
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled=true)
public void onChat(final AsyncPlayerChatEvent event) { public void onChat(final AsyncPlayerChatEvent event) {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final String world = player.getWorld().getName(); final String world = player.getWorld().getName();
@ -626,7 +626,12 @@ public class PlayerEvents extends com.plotsquared.listener.PlotListener implemen
recipients.clear(); recipients.clear();
for (final Player p : Bukkit.getOnlinePlayers()) { for (final Player p : Bukkit.getOnlinePlayers()) {
PlotPlayer pp = BukkitUtil.getPlayer(p); PlotPlayer pp = BukkitUtil.getPlayer(p);
if (pp.getAttribute("chatspy") || plot.equals(pp.getCurrentPlot())) { if (pp.getAttribute("chatspy")) {
String spy = event.getFormat();
spy = String.format(spy, sender, message);
pp.sendMessage(spy);
}
else if (plot.equals(pp.getCurrentPlot())) {
recipients.add(p); recipients.add(p);
} }
} }

Binary file not shown.

Binary file not shown.