Only show admin chat server when message is remote

This commit is contained in:
Ashcon Partovi 2018-05-22 15:35:46 -07:00
parent 9b59cc0cde
commit 06fd77595f
No known key found for this signature in database
GPG Key ID: 97468B9EF2123630
3 changed files with 7 additions and 11 deletions

View File

@ -34,7 +34,6 @@ public interface ChatDoc {
@Serialize
interface Complete extends Base {
@Nullable PlayerId sender();
@Serialize(false) default boolean local() { return false; }
}
enum Type {

View File

@ -38,11 +38,13 @@ public class AdminChannel extends SimpleChannel implements PermissibleChannel {
private final SettingManagerProvider settings;
private final PermissionRegistry permissions;
private final Server localServer;
private final ServerStore serverStore;
@Inject AdminChannel(PermissionRegistry permissions, SettingManagerProvider settings, ServerStore serverStore) {
@Inject AdminChannel(PermissionRegistry permissions, SettingManagerProvider settings, Server localServer, ServerStore serverStore) {
this.settings = settings;
this.permissions = permissions;
this.localServer = localServer;
this.serverStore = serverStore;
}
@ -70,16 +72,12 @@ public class AdminChannel extends SimpleChannel implements PermissibleChannel {
@Override
public BaseComponent format(Chat chat, PlayerComponent player, String message) {
BaseComponent stub;
if(chat.local()) {
stub = player;
} else {
Component component = new Component();
if(!localServer._id().equals(chat.server_id())) {
final Server server = serverStore.byId(chat.server_id());
stub = ServerFormatter.light.nameWithDatacenter(server);
stub.addExtra(" ");
stub.addExtra(player);
component.extra(ServerFormatter.light.nameWithDatacenter(server)).extra(" ");
}
return new Component(stub).extra(": ").extra(message);
return component.extra(player).extra(": ").extra(message);
}
@Override

View File

@ -85,7 +85,6 @@ public class ChatCreator implements PluginFacet, Listener {
public ChatDoc.Type type() { return chat.type(); }
public Instant sent_at() { return chat.sent_at(); }
public ChatDoc.Broadcast broadcast() { return chat.broadcast(); }
public boolean local() { return true; }
};
}