Remove old redundant chat cache command
Fix broken code in SnapshotPlugin
This commit is contained in:
parent
8bbeb3292f
commit
4fc5e036fa
@ -1,7 +1,6 @@
|
||||
package mineplex.core.chatsnap;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -11,7 +10,7 @@ import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.chatsnap.commands.ChatCacheCommand;
|
||||
import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.message.PrivateMessageEvent;
|
||||
|
||||
/**
|
||||
@ -20,11 +19,13 @@ import mineplex.core.message.PrivateMessageEvent;
|
||||
public class SnapshotPlugin extends MiniPlugin
|
||||
{
|
||||
private final SnapshotManager _snapshotManager;
|
||||
private final CoreClientManager _clientManager;
|
||||
|
||||
public SnapshotPlugin(JavaPlugin plugin, SnapshotManager snapshotManager)
|
||||
public SnapshotPlugin(JavaPlugin plugin, SnapshotManager snapshotManager, CoreClientManager clientManager)
|
||||
{
|
||||
super("ChatSnap", plugin);
|
||||
_snapshotManager = snapshotManager;
|
||||
_clientManager = clientManager;
|
||||
}
|
||||
|
||||
public SnapshotManager getSnapshotManager()
|
||||
@ -35,7 +36,7 @@ public class SnapshotPlugin extends MiniPlugin
|
||||
@Override
|
||||
public void addCommands()
|
||||
{
|
||||
addCommand(new ChatCacheCommand(this));
|
||||
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
@ -50,24 +51,24 @@ public class SnapshotPlugin extends MiniPlugin
|
||||
_snapshotManager.cacheSnapshot(createSnapshot(e));
|
||||
}
|
||||
|
||||
public Set<UUID> getUUIDSet(Set<Player> playerSet)
|
||||
public Set<Integer> getAccountIds(Set<Player> players)
|
||||
{
|
||||
return playerSet.stream().map(Player::getUniqueId).collect(Collectors.toSet());
|
||||
return players.stream().map(_clientManager::getAccountId).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public Snapshot createSnapshot(AsyncPlayerChatEvent e)
|
||||
{
|
||||
UUID senderUUID = e.getPlayer().getUniqueId();
|
||||
Set<UUID> uuidSet = getUUIDSet(e.getRecipients());
|
||||
uuidSet.remove(senderUUID);
|
||||
return new Snapshot(senderUUID, uuidSet, e.getMessage());
|
||||
int senderId = _clientManager.getAccountId(e.getPlayer());
|
||||
Set<Integer> recipientIds = getAccountIds(e.getRecipients());
|
||||
recipientIds.remove(senderId);
|
||||
return new Snapshot(senderId, recipientIds, e.getMessage());
|
||||
}
|
||||
|
||||
public Snapshot createSnapshot(PrivateMessageEvent e)
|
||||
{
|
||||
Player sender = e.getSender();
|
||||
Player recipient = e.getRecipient();
|
||||
int senderId = _clientManager.getAccountId(e.getSender());
|
||||
int recipientId = _clientManager.getAccountId(e.getRecipient());
|
||||
String message = e.getMessage();
|
||||
return new Snapshot(sender.getUniqueId(), recipient.getUniqueId(), message);
|
||||
return new Snapshot(senderId, recipientId, message);
|
||||
}
|
||||
}
|
||||
|
@ -1,54 +0,0 @@
|
||||
package mineplex.core.chatsnap.commands;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineplex.core.chatsnap.SnapshotPlugin;
|
||||
import mineplex.core.chatsnap.Snapshot;
|
||||
import mineplex.core.command.CommandBase;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
|
||||
/**
|
||||
* Displays what chat messages we have cached for a player.
|
||||
*/
|
||||
public class ChatCacheCommand extends CommandBase<SnapshotPlugin>
|
||||
{
|
||||
public ChatCacheCommand(SnapshotPlugin plugin)
|
||||
{
|
||||
super(plugin, Rank.MODERATOR, "chatcache");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void Execute(final Player caller, String[] args)
|
||||
{
|
||||
if (args.length != 1)
|
||||
{
|
||||
UtilPlayer.message(caller, F.main(Plugin.getName(), String.format("Invalid arguments, usage: /%s <player>", _aliasUsed)));
|
||||
return;
|
||||
}
|
||||
|
||||
final String playerName = args[0];
|
||||
|
||||
// getOfflinePlayer sometimes blocks, see this needs to be async
|
||||
Plugin.getScheduler().runTaskAsynchronously(Plugin.getPlugin(), new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(playerName);
|
||||
Set<Snapshot> snaps = Plugin.getSnapshotManager().getSnapshots(offlinePlayer.getUniqueId());
|
||||
|
||||
for (Snapshot snapshot : snaps)
|
||||
{
|
||||
// TODO: show sender name
|
||||
caller.sendMessage(snapshot.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user