Package net.lightstone.msg.handler

Source Code of net.lightstone.msg.handler.ChatMessageHandler

package net.lightstone.msg.handler;

import net.lightstone.cmd.CommandManager;
import net.lightstone.model.Player;
import net.lightstone.msg.ChatMessage;
import net.lightstone.net.Session;

/**
* A {@link MessageHandler} which handles {@link ChatMessage}s by processing
* commands or broadcasting messages to every player in the server.
* @author Graham Edgecombe
*/
public final class ChatMessageHandler extends MessageHandler<ChatMessage> {

  @Override
  public void handle(Session session, Player player, ChatMessage message) {
    if (player == null)
      return;

    String text = message.getMessage();
    if (text.length() > 100) {
      session.disconnect("Chat message too long.");
    } else if (text.startsWith("/")) {
      CommandManager manager = session.getServer().getCommandManager();
      manager.execute(player, text);
    } else {
      player.getWorld().broadcastMessage("<" + player.getName() + "> " + text);
    }
  }

}
TOP

Related Classes of net.lightstone.msg.handler.ChatMessageHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.