From 72f00e2fbe5dbec1392364c084c61aff07e147d8 Mon Sep 17 00:00:00 2001 From: Major- Date: Sat, 15 Feb 2014 03:12:09 +0000 Subject: [PATCH] Support (custom) filterable privacy state. --- .../apollo/game/event/impl/ServerMessageEvent.java | 12 +++++++++++- src/org/apollo/game/model/Player.java | 9 +++++++++ src/org/apollo/game/model/settings/PrivacyState.java | 7 ++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/org/apollo/game/event/impl/ServerMessageEvent.java b/src/org/apollo/game/event/impl/ServerMessageEvent.java index 5e79d95d..9a5a16ae 100644 --- a/src/org/apollo/game/event/impl/ServerMessageEvent.java +++ b/src/org/apollo/game/event/impl/ServerMessageEvent.java @@ -20,7 +20,17 @@ public final class ServerMessageEvent extends Event { * @param message The message. */ public ServerMessageEvent(String message) { - this.message = message; + this(message, false); + } + + /** + * Creates a server message event. + * + * @param message The message. + * @param filterable If the message can be filtered. + */ + public ServerMessageEvent(String message, boolean filterable) { + this.message = message + (filterable ? ":filterable:" : ""); } /** diff --git a/src/org/apollo/game/model/Player.java b/src/org/apollo/game/model/Player.java index a6e96f07..b018a9c4 100644 --- a/src/org/apollo/game/model/Player.java +++ b/src/org/apollo/game/model/Player.java @@ -692,6 +692,15 @@ public final class Player extends Mob { send(new ServerMessageEvent(message)); } + /** + * Sends a message to the player. + * + * @param message The message. + */ + public void sendMessage(String message, boolean filterable) { + send(new ServerMessageEvent(message, filterable)); + } + /** * Sends the quest interface * diff --git a/src/org/apollo/game/model/settings/PrivacyState.java b/src/org/apollo/game/model/settings/PrivacyState.java index 0f35a2a0..9ea02ea8 100644 --- a/src/org/apollo/game/model/settings/PrivacyState.java +++ b/src/org/apollo/game/model/settings/PrivacyState.java @@ -26,7 +26,12 @@ public enum PrivacyState { /** * Represents the 'off' state, when only messages from moderators are displayed. */ - OFF(3); + OFF(3), + + /** + * Represents the 'filterable' state - a custom state that filters 'unnecessary' server messages. + */ + FILTERABLE(4); /** * Gets the privacy state for the specified numerical value.