// Path: game/src/main/java/org/apollo/game/message/impl/SendFriendMessage.java
// public final class SendFriendMessage extends Message {
// 
// 	/**
// 	 * The username of the friend.
// 	 */
// 	private final String username;
// 
// 	/**
// 	 * The world id the friend is in.
// 	 */
// 	private final int world;
// 
// 	/**
// 	 * Creates a new send friend message.
// 	 *
// 	 * @param username The username of the friend.
// 	 * @param world The world the friend is in.
// 	 */
// 	public SendFriendMessage(String username, int world) {
// 		this.username = username;
// 		this.world = world;
// 	}
// 
// 	/**
// 	 * Gets the username of the friend.
// 	 *
// 	 * @return The username.
// 	 */
// 	public String getUsername() {
// 		return username;
// 	}
// 
// 	/**
// 	 * Gets the world id the friend is in.
// 	 *
// 	 * @return The world id.
// 	 */
// 	public int getWorld() {
// 		return world;
// 	}
// 
// 	/**
// 	 * Gets the encoded world id to be sent to the client.
// 	 *
// 	 * @return The encoded world id.
// 	 */
// 	public int getEncodedWorld() {
// 		return world == 0 ? 0 : world + 9;
// 	}
// }
// 
// Path: net/src/main/java/org/apollo/net/codec/game/GamePacket.java
// public final class GamePacket extends DefaultByteBufHolder {
// 
// 	/**
// 	 * The length.
// 	 */
// 	private final int length;
// 
// 	/**
// 	 * The opcode.
// 	 */
// 	private final int opcode;
// 
// 	/**
// 	 * The packet type.
// 	 */
// 	private final PacketType type;
// 
// 	/**
// 	 * Creates the game packet.
// 	 *
// 	 * @param opcode The opcode.
// 	 * @param type The packet type.
// 	 * @param payload The payload.
// 	 */
// 	public GamePacket(int opcode, PacketType type, ByteBuf payload) {
// 		super(payload);
// 		this.opcode = opcode;
// 		this.type = type;
// 		length = payload.readableBytes();
// 	}
// 
// 	/**
// 	 * Gets the payload length.
// 	 *
// 	 * @return The payload length.
// 	 */
// 	public int getLength() {
// 		return length;
// 	}
// 
// 	/**
// 	 * Gets the opcode.
// 	 *
// 	 * @return The opcode.
// 	 */
// 	public int getOpcode() {
// 		return opcode;
// 	}
// 
// 	/**
// 	 * Gets the packet type.
// 	 *
// 	 * @return The packet type.
// 	 */
// 	public PacketType getType() {
// 		return type;
// 	}
// 
// }


import org.apollo.game.message.impl.SendFriendMessage;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder;
import org.apollo.util.NameUtil;
package org.apollo.game.release.r317;


/**
 * A {@link MessageEncoder} for the {@link SendFriendMessage}.
 *
 * @author Major
 */
public final class SendFriendMessageEncoder extends MessageEncoder<SendFriendMessage> {

	@Override
	public GamePacket encode(SendFriendMessage message) {
		GamePacketBuilder builder = new GamePacketBuilder(50);
// Path: game/src/main/java/org/apollo/game/message/impl/SendFriendMessage.java
// public final class SendFriendMessage extends Message {
// 
// 	/**
// 	 * The username of the friend.
// 	 */
// 	private final String username;
// 
// 	/**
// 	 * The world id the friend is in.
// 	 */
// 	private final int world;
// 
// 	/**
// 	 * Creates a new send friend message.
// 	 *
// 	 * @param username The username of the friend.
// 	 * @param world The world the friend is in.
// 	 */
// 	public SendFriendMessage(String username, int world) {
// 		this.username = username;
// 		this.world = world;
// 	}
// 
// 	/**
// 	 * Gets the username of the friend.
// 	 *
// 	 * @return The username.
// 	 */
// 	public String getUsername() {
// 		return username;
// 	}
// 
// 	/**
// 	 * Gets the world id the friend is in.
// 	 *
// 	 * @return The world id.
// 	 */
// 	public int getWorld() {
// 		return world;
// 	}
// 
// 	/**
// 	 * Gets the encoded world id to be sent to the client.
// 	 *
// 	 * @return The encoded world id.
// 	 */
// 	public int getEncodedWorld() {
// 		return world == 0 ? 0 : world + 9;
// 	}
// }
// 
// Path: net/src/main/java/org/apollo/net/codec/game/GamePacket.java
// public final class GamePacket extends DefaultByteBufHolder {
// 
// 	/**
// 	 * The length.
// 	 */
// 	private final int length;
// 
// 	/**
// 	 * The opcode.
// 	 */
// 	private final int opcode;
// 
// 	/**
// 	 * The packet type.
// 	 */
// 	private final PacketType type;
// 
// 	/**
// 	 * Creates the game packet.
// 	 *
// 	 * @param opcode The opcode.
// 	 * @param type The packet type.
// 	 * @param payload The payload.
// 	 */
// 	public GamePacket(int opcode, PacketType type, ByteBuf payload) {
// 		super(payload);
// 		this.opcode = opcode;
// 		this.type = type;
// 		length = payload.readableBytes();
// 	}
// 
// 	/**
// 	 * Gets the payload length.
// 	 *
// 	 * @return The payload length.
// 	 */
// 	public int getLength() {
// 		return length;
// 	}
// 
// 	/**
// 	 * Gets the opcode.
// 	 *
// 	 * @return The opcode.
// 	 */
// 	public int getOpcode() {
// 		return opcode;
// 	}
// 
// 	/**
// 	 * Gets the packet type.
// 	 *
// 	 * @return The packet type.
// 	 */
// 	public PacketType getType() {
// 		return type;
// 	}
// 
// }


// Path: game/src/main/java/org/apollo/game/release/r317/SendFriendMessageEncoder.java
import org.apollo.game.message.impl.SendFriendMessage;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder;
import org.apollo.util.NameUtil;

package org.apollo.game.release.r317;


/**
 * A {@link MessageEncoder} for the {@link SendFriendMessage}.
 *
 * @author Major
 */
public final class SendFriendMessageEncoder extends MessageEncoder<SendFriendMessage> {

	@Override
	public GamePacket encode(SendFriendMessage message) {
		GamePacketBuilder builder = new GamePacketBuilder(50);
		builder.put(DataType.LONG, NameUtil.encodeBase37(message.getUsername()));