mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-06 08:40:03 +00:00
Merge pull request #286 from CharlesVaneenoo/TemplateMethod-ChatMessage
Make ChatMessage abstract
This commit is contained in:
+3
-3
@@ -7,10 +7,10 @@
|
|||||||
</chain>
|
</chain>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<type>org.apollo.game.message.impl.ChatMessage</type>
|
<type>org.apollo.game.message.impl.PublicChatMessage</type>
|
||||||
<chain>
|
<chain>
|
||||||
<handler>org.apollo.game.message.handler.ChatVerificationHandler</handler>
|
<handler>org.apollo.game.message.handler.PublicChatVerificationHandler</handler>
|
||||||
<handler>org.apollo.game.message.handler.ChatMessageHandler</handler>
|
<handler>org.apollo.game.message.handler.PublicChatMessageHandler</handler>
|
||||||
</chain>
|
</chain>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
package org.apollo.game.message.handler;
|
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
|
||||||
import org.apollo.game.model.World;
|
|
||||||
import org.apollo.game.model.entity.Player;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A {@link MessageHandler} that verifies {@link ChatMessage}s.
|
|
||||||
*
|
|
||||||
* @author Graham
|
|
||||||
*/
|
|
||||||
public final class ChatVerificationHandler extends MessageHandler<ChatMessage> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates the ChatVerificationHandler.
|
|
||||||
*
|
|
||||||
* @param world The {@link World} the {@link ChatMessage} occurred in.
|
|
||||||
*/
|
|
||||||
public ChatVerificationHandler(World world) {
|
|
||||||
super(world);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void handle(Player player, ChatMessage message) {
|
|
||||||
int color = message.getTextColor();
|
|
||||||
int effects = message.getTextEffects();
|
|
||||||
if (color < 0 || color > 11 || effects < 0 || effects > 5) {
|
|
||||||
message.terminate();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
+6
-6
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.message.handler;
|
package org.apollo.game.message.handler;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.game.model.World;
|
import org.apollo.game.model.World;
|
||||||
import org.apollo.game.model.entity.Player;
|
import org.apollo.game.model.entity.Player;
|
||||||
import org.apollo.game.sync.block.SynchronizationBlock;
|
import org.apollo.game.sync.block.SynchronizationBlock;
|
||||||
@@ -10,19 +10,19 @@ import org.apollo.game.sync.block.SynchronizationBlock;
|
|||||||
*
|
*
|
||||||
* @author Graham
|
* @author Graham
|
||||||
*/
|
*/
|
||||||
public final class ChatMessageHandler extends MessageHandler<ChatMessage> {
|
public final class PublicChatMessageHandler extends MessageHandler<PublicChatMessage> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the ChatMessageHandler.
|
* Creates the PublicChatMessageHandler.
|
||||||
*
|
*
|
||||||
* @param world The {@link World} the {@link ChatMessage} occurred in.
|
* @param world The {@link World} the {@link PublicChatMessage} occurred in.
|
||||||
*/
|
*/
|
||||||
public ChatMessageHandler(World world) {
|
public PublicChatMessageHandler(World world) {
|
||||||
super(world);
|
super(world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(Player player, ChatMessage message) {
|
public void handle(Player player, PublicChatMessage message) {
|
||||||
if (player.isMuted()) {
|
if (player.isMuted()) {
|
||||||
message.terminate();
|
message.terminate();
|
||||||
return;
|
return;
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package org.apollo.game.message.handler;
|
||||||
|
|
||||||
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
|
import org.apollo.game.model.World;
|
||||||
|
import org.apollo.game.model.entity.Player;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A {@link MessageHandler} that verifies {@link PublicChatMessage}s.
|
||||||
|
*
|
||||||
|
* @author Graham
|
||||||
|
*/
|
||||||
|
public final class PublicChatVerificationHandler extends MessageHandler<PublicChatMessage> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the PublicChatVerificationHandler.
|
||||||
|
*
|
||||||
|
* @param world The {@link World} the {@link PublicChatMessage} occurred in.
|
||||||
|
*/
|
||||||
|
public PublicChatVerificationHandler(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(Player player, PublicChatMessage message) {
|
||||||
|
int color = message.getTextColor();
|
||||||
|
int effects = message.getTextEffects();
|
||||||
|
if (color < 0 || color > 11 || effects < 0 || effects > 5) {
|
||||||
|
message.terminate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,45 +3,31 @@ package org.apollo.game.message.impl;
|
|||||||
import org.apollo.net.message.Message;
|
import org.apollo.net.message.Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link Message} sent by the client to send a public chat message to other players.
|
* A {@link Message} sent by the client to send a chat message to other players.
|
||||||
*
|
*
|
||||||
* @author Graham
|
* @author AymericDu
|
||||||
*/
|
*/
|
||||||
public final class ChatMessage extends Message {
|
public abstract class ChatMessage extends Message {
|
||||||
|
|
||||||
/**
|
|
||||||
* The text color.
|
|
||||||
*/
|
|
||||||
private final int color;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The compressed message.
|
|
||||||
*/
|
|
||||||
private final byte[] compressedMessage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The text effects.
|
|
||||||
*/
|
|
||||||
private final int effects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The message.
|
* The message.
|
||||||
*/
|
*/
|
||||||
private final String message;
|
private final String message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The compressed message.
|
||||||
|
*/
|
||||||
|
private final byte[] compressedMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new chat message.
|
* Creates a new chat message.
|
||||||
*
|
*
|
||||||
* @param message The message.
|
* @param message The message.
|
||||||
* @param compressedMessage The compressed message.
|
* @param compressedMessage The compressed message.
|
||||||
* @param color The text color.
|
|
||||||
* @param effects The text effects.
|
|
||||||
*/
|
*/
|
||||||
public ChatMessage(String message, byte[] compressedMessage, int color, int effects) {
|
public ChatMessage(String message, byte[] compressedMessage) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.compressedMessage = compressedMessage;
|
this.compressedMessage = compressedMessage.clone();
|
||||||
this.color = color;
|
|
||||||
this.effects = effects;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,8 +35,8 @@ public final class ChatMessage extends Message {
|
|||||||
*
|
*
|
||||||
* @return The compressed message.
|
* @return The compressed message.
|
||||||
*/
|
*/
|
||||||
public byte[] getCompressedMessage() {
|
public final byte[] getCompressedMessage() {
|
||||||
return compressedMessage;
|
return compressedMessage.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -58,26 +44,7 @@ public final class ChatMessage extends Message {
|
|||||||
*
|
*
|
||||||
* @return The message.
|
* @return The message.
|
||||||
*/
|
*/
|
||||||
public String getMessage() {
|
public final String getMessage() {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
|
||||||
* Gets the text color.
|
|
||||||
*
|
|
||||||
* @return The text color.
|
|
||||||
*/
|
|
||||||
public int getTextColor() {
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the text effects.
|
|
||||||
*
|
|
||||||
* @return The text effects.
|
|
||||||
*/
|
|
||||||
public int getTextEffects() {
|
|
||||||
return effects;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -7,17 +7,7 @@ import org.apollo.net.message.Message;
|
|||||||
*
|
*
|
||||||
* @author Major
|
* @author Major
|
||||||
*/
|
*/
|
||||||
public final class PrivateChatMessage extends Message {
|
public final class PrivateChatMessage extends ChatMessage {
|
||||||
|
|
||||||
/**
|
|
||||||
* The chat string being sent.
|
|
||||||
*/
|
|
||||||
private final String chat;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The compressed chat string.
|
|
||||||
*/
|
|
||||||
private final byte[] compressedChat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The username this message is being sent to.
|
* The username this message is being sent to.
|
||||||
@@ -27,32 +17,13 @@ public final class PrivateChatMessage extends Message {
|
|||||||
/**
|
/**
|
||||||
* Creates a new private chat message.
|
* Creates a new private chat message.
|
||||||
*
|
*
|
||||||
|
* @param message The chat string.
|
||||||
|
* @param compressedMessage The chat string, in a compressed form.
|
||||||
* @param username The username of the player the message is being sent to.
|
* @param username The username of the player the message is being sent to.
|
||||||
* @param chat The chat string.
|
|
||||||
* @param compressedChat The chat string, in a compressed form.
|
|
||||||
*/
|
*/
|
||||||
public PrivateChatMessage(String username, String chat, byte[] compressedChat) {
|
public PrivateChatMessage(String message, byte[] compressedMessage, String username) {
|
||||||
|
super(message, compressedMessage);
|
||||||
this.username = username;
|
this.username = username;
|
||||||
this.chat = chat;
|
|
||||||
this.compressedChat = compressedChat.clone();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the chat string being sent.
|
|
||||||
*
|
|
||||||
* @return The chat string.
|
|
||||||
*/
|
|
||||||
public String getChat() {
|
|
||||||
return chat;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the compressed chat string.
|
|
||||||
*
|
|
||||||
* @return The compressed chat string.
|
|
||||||
*/
|
|
||||||
public byte[] getCompressedChat() {
|
|
||||||
return compressedChat.clone();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package org.apollo.game.message.impl;
|
||||||
|
|
||||||
|
import org.apollo.net.message.Message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A {@link Message} sent by the client to send a public chat message to other players.
|
||||||
|
*
|
||||||
|
* @author Graham
|
||||||
|
*/
|
||||||
|
public final class PublicChatMessage extends ChatMessage {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The text color.
|
||||||
|
*/
|
||||||
|
private final int color;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The text effects.
|
||||||
|
*/
|
||||||
|
private final int effects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new chat message.
|
||||||
|
*
|
||||||
|
* @param message The message.
|
||||||
|
* @param compressedMessage The compressed message.
|
||||||
|
* @param color The text color.
|
||||||
|
* @param effects The text effects.
|
||||||
|
*/
|
||||||
|
public PublicChatMessage(String message, byte[] compressedMessage, int color, int effects) {
|
||||||
|
super(message, compressedMessage);
|
||||||
|
this.color = color;
|
||||||
|
this.effects = effects;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the text color.
|
||||||
|
*
|
||||||
|
* @return The text color.
|
||||||
|
*/
|
||||||
|
public int getTextColor() {
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the text effects.
|
||||||
|
*
|
||||||
|
* @return The text effects.
|
||||||
|
*/
|
||||||
|
public int getTextEffects() {
|
||||||
|
return effects;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -32,7 +32,7 @@ public final class PrivateChatMessageDecoder extends MessageDecoder<PrivateChatM
|
|||||||
byte[] recompressed = new byte[length];
|
byte[] recompressed = new byte[length];
|
||||||
TextUtil.compress(decompressed, recompressed);
|
TextUtil.compress(decompressed, recompressed);
|
||||||
|
|
||||||
return new PrivateChatMessage(username, new String(decompressed), recompressed);
|
return new PrivateChatMessage(new String(decompressed), recompressed, username);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+5
-5
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.release.r317;
|
package org.apollo.game.release.r317;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.net.codec.game.DataTransformation;
|
import org.apollo.net.codec.game.DataTransformation;
|
||||||
import org.apollo.net.codec.game.DataType;
|
import org.apollo.net.codec.game.DataType;
|
||||||
import org.apollo.net.codec.game.GamePacket;
|
import org.apollo.net.codec.game.GamePacket;
|
||||||
@@ -9,14 +9,14 @@ import org.apollo.net.release.MessageDecoder;
|
|||||||
import org.apollo.util.TextUtil;
|
import org.apollo.util.TextUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link MessageDecoder} for the {@link ChatMessage}.
|
* A {@link MessageDecoder} for the {@link PublicChatMessage}.
|
||||||
*
|
*
|
||||||
* @author Graham
|
* @author Graham
|
||||||
*/
|
*/
|
||||||
public final class ChatMessageDecoder extends MessageDecoder<ChatMessage> {
|
public final class PublicChatMessageDecoder extends MessageDecoder<PublicChatMessage> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChatMessage decode(GamePacket packet) {
|
public PublicChatMessage decode(GamePacket packet) {
|
||||||
GamePacketReader reader = new GamePacketReader(packet);
|
GamePacketReader reader = new GamePacketReader(packet);
|
||||||
|
|
||||||
int effects = (int) reader.getUnsigned(DataType.BYTE, DataTransformation.SUBTRACT);
|
int effects = (int) reader.getUnsigned(DataType.BYTE, DataTransformation.SUBTRACT);
|
||||||
@@ -34,7 +34,7 @@ public final class ChatMessageDecoder extends MessageDecoder<ChatMessage> {
|
|||||||
TextUtil.compress(uncompressed, recompressed);
|
TextUtil.compress(uncompressed, recompressed);
|
||||||
// in case invalid data gets sent, this effectively verifies it
|
// in case invalid data gets sent, this effectively verifies it
|
||||||
|
|
||||||
return new ChatMessage(uncompressed, recompressed, color, effects);
|
return new PublicChatMessage(uncompressed, recompressed, color, effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ public final class Release317 extends Release {
|
|||||||
|
|
||||||
register(0, new KeepAliveMessageDecoder());
|
register(0, new KeepAliveMessageDecoder());
|
||||||
register(101, new PlayerDesignMessageDecoder());
|
register(101, new PlayerDesignMessageDecoder());
|
||||||
register(4, new ChatMessageDecoder());
|
register(4, new PublicChatMessageDecoder());
|
||||||
register(103, new CommandMessageDecoder());
|
register(103, new CommandMessageDecoder());
|
||||||
register(214, new SwitchItemMessageDecoder());
|
register(214, new SwitchItemMessageDecoder());
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public final class PrivateChatMessageDecoder extends MessageDecoder<PrivateChatM
|
|||||||
byte[] recompressed = new byte[length];
|
byte[] recompressed = new byte[length];
|
||||||
TextUtil.compress(decompressed, recompressed);
|
TextUtil.compress(decompressed, recompressed);
|
||||||
|
|
||||||
return new PrivateChatMessage(username, decompressed, recompressed);
|
return new PrivateChatMessage(decompressed, recompressed, username);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+5
-5
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.release.r377;
|
package org.apollo.game.release.r377;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.net.codec.game.DataTransformation;
|
import org.apollo.net.codec.game.DataTransformation;
|
||||||
import org.apollo.net.codec.game.DataType;
|
import org.apollo.net.codec.game.DataType;
|
||||||
import org.apollo.net.codec.game.GamePacket;
|
import org.apollo.net.codec.game.GamePacket;
|
||||||
@@ -9,14 +9,14 @@ import org.apollo.net.release.MessageDecoder;
|
|||||||
import org.apollo.util.TextUtil;
|
import org.apollo.util.TextUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link MessageDecoder} for the {@link ChatMessage}.
|
* A {@link MessageDecoder} for the {@link PublicChatMessage}.
|
||||||
*
|
*
|
||||||
* @author Graham
|
* @author Graham
|
||||||
*/
|
*/
|
||||||
public final class ChatMessageDecoder extends MessageDecoder<ChatMessage> {
|
public final class PublicChatMessageDecoder extends MessageDecoder<PublicChatMessage> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChatMessage decode(GamePacket packet) {
|
public PublicChatMessage decode(GamePacket packet) {
|
||||||
GamePacketReader reader = new GamePacketReader(packet);
|
GamePacketReader reader = new GamePacketReader(packet);
|
||||||
|
|
||||||
int color = (int) reader.getUnsigned(DataType.BYTE, DataTransformation.NEGATE);
|
int color = (int) reader.getUnsigned(DataType.BYTE, DataTransformation.NEGATE);
|
||||||
@@ -34,7 +34,7 @@ public final class ChatMessageDecoder extends MessageDecoder<ChatMessage> {
|
|||||||
byte[] recompressed = new byte[length];
|
byte[] recompressed = new byte[length];
|
||||||
TextUtil.compress(uncompressed, recompressed); // in case invalid data gets sent, this effectively verifies it
|
TextUtil.compress(uncompressed, recompressed); // in case invalid data gets sent, this effectively verifies it
|
||||||
|
|
||||||
return new ChatMessage(uncompressed, recompressed, color, effects);
|
return new PublicChatMessage(uncompressed, recompressed, color, effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ public final class Release377 extends Release {
|
|||||||
|
|
||||||
register(248, new KeepAliveMessageDecoder());
|
register(248, new KeepAliveMessageDecoder());
|
||||||
register(163, new PlayerDesignMessageDecoder());
|
register(163, new PlayerDesignMessageDecoder());
|
||||||
register(49, new ChatMessageDecoder());
|
register(49, new PublicChatMessageDecoder());
|
||||||
register(56, new CommandMessageDecoder());
|
register(56, new CommandMessageDecoder());
|
||||||
register(123, new SwitchItemMessageDecoder());
|
register(123, new SwitchItemMessageDecoder());
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.sync.block;
|
package org.apollo.game.sync.block;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.game.model.entity.setting.PrivilegeLevel;
|
import org.apollo.game.model.entity.setting.PrivilegeLevel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,9 +11,9 @@ import org.apollo.game.model.entity.setting.PrivilegeLevel;
|
|||||||
public final class ChatBlock extends SynchronizationBlock {
|
public final class ChatBlock extends SynchronizationBlock {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link ChatMessage}.
|
* The {@link PublicChatMessage}.
|
||||||
*/
|
*/
|
||||||
private final ChatMessage chatMessage;
|
private final PublicChatMessage chatMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link PrivilegeLevel}.
|
* The {@link PrivilegeLevel}.
|
||||||
@@ -24,9 +24,9 @@ public final class ChatBlock extends SynchronizationBlock {
|
|||||||
* Creates the chat block.
|
* Creates the chat block.
|
||||||
*
|
*
|
||||||
* @param privilegeLevel The {@link PrivilegeLevel} of the player who said the message.
|
* @param privilegeLevel The {@link PrivilegeLevel} of the player who said the message.
|
||||||
* @param chatMessage The {@link ChatMessage}.
|
* @param chatMessage The {@link PublicChatMessage}.
|
||||||
*/
|
*/
|
||||||
ChatBlock(PrivilegeLevel privilegeLevel, ChatMessage chatMessage) {
|
ChatBlock(PrivilegeLevel privilegeLevel, PublicChatMessage chatMessage) {
|
||||||
this.privilegeLevel = privilegeLevel;
|
this.privilegeLevel = privilegeLevel;
|
||||||
this.chatMessage = chatMessage;
|
this.chatMessage = chatMessage;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.sync.block;
|
package org.apollo.game.sync.block;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.game.model.Animation;
|
import org.apollo.game.model.Animation;
|
||||||
import org.apollo.game.model.Direction;
|
import org.apollo.game.model.Direction;
|
||||||
import org.apollo.game.model.Graphic;
|
import org.apollo.game.model.Graphic;
|
||||||
@@ -47,7 +47,7 @@ public abstract class SynchronizationBlock {
|
|||||||
* @param chatMessage The chat message.
|
* @param chatMessage The chat message.
|
||||||
* @return The chat block.
|
* @return The chat block.
|
||||||
*/
|
*/
|
||||||
public static SynchronizationBlock createChatBlock(Player player, ChatMessage chatMessage) {
|
public static SynchronizationBlock createChatBlock(Player player, PublicChatMessage chatMessage) {
|
||||||
return new ChatBlock(player.getPrivilegeLevel(), chatMessage);
|
return new ChatBlock(player.getPrivilegeLevel(), chatMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -1,6 +1,6 @@
|
|||||||
package org.apollo.game.message.handler;
|
package org.apollo.game.message.handler;
|
||||||
|
|
||||||
import org.apollo.game.message.impl.ChatMessage;
|
import org.apollo.game.message.impl.PublicChatMessage;
|
||||||
import org.apollo.game.model.World;
|
import org.apollo.game.model.World;
|
||||||
import org.apollo.game.model.entity.Player;
|
import org.apollo.game.model.entity.Player;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -15,10 +15,10 @@ import static org.powermock.api.mockito.PowerMockito.*;
|
|||||||
|
|
||||||
@RunWith(PowerMockRunner.class)
|
@RunWith(PowerMockRunner.class)
|
||||||
@PrepareForTest({Player.class})
|
@PrepareForTest({Player.class})
|
||||||
public final class ChatMessageHandlerTests {
|
public final class PublicChatMessageHandlerTests {
|
||||||
|
|
||||||
private final World world = new World();
|
private final World world = new World();
|
||||||
private final ChatMessageHandler chatMessageHandler = new ChatMessageHandler(world);
|
private final PublicChatMessageHandler handler = new PublicChatMessageHandler(world);
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void terminateIfMuted() throws Exception {
|
public void terminateIfMuted() throws Exception {
|
||||||
@@ -26,9 +26,9 @@ public final class ChatMessageHandlerTests {
|
|||||||
|
|
||||||
when(player.isMuted()).thenReturn(true);
|
when(player.isMuted()).thenReturn(true);
|
||||||
|
|
||||||
ChatMessage chatMessage = new ChatMessage("Test", "Test".getBytes(), 0, 0);
|
PublicChatMessage publicChatMessage = new PublicChatMessage("Test", "Test".getBytes(), 0, 0);
|
||||||
chatMessageHandler.handle(player, chatMessage);
|
handler.handle(player, publicChatMessage);
|
||||||
|
|
||||||
assertTrue("ChatMessageHandler: player can send messages when muted", chatMessage.terminated());
|
assertTrue("PublicChatMessageHandler: player can send messages when muted", publicChatMessage.terminated());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user