mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-06 16:51:37 +00:00
Add RemoveObjectMessage.
This commit is contained in:
@@ -0,0 +1,76 @@
|
|||||||
|
package org.apollo.game.message.impl;
|
||||||
|
|
||||||
|
import org.apollo.game.message.Message;
|
||||||
|
import org.apollo.game.model.entity.GameObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A {@link Message} sent to the client to remove an object from a tile.
|
||||||
|
*
|
||||||
|
* @author Major
|
||||||
|
*/
|
||||||
|
public final class RemoveObjectMessage extends Message {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The orientation of the object.
|
||||||
|
*/
|
||||||
|
private final int orientation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The position of the object.
|
||||||
|
*/
|
||||||
|
private final int positionOffset;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of the object.
|
||||||
|
*/
|
||||||
|
private final int type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the RemoveObjectMessage.
|
||||||
|
*
|
||||||
|
* @param object The {@link GameObject} to send.
|
||||||
|
*/
|
||||||
|
public RemoveObjectMessage(GameObject object) {
|
||||||
|
this(object, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the RemoveObjectMessage.
|
||||||
|
*
|
||||||
|
* @param object The {@link GameObject} to send.
|
||||||
|
* @param positionOffset The offset of the object's position from the sector's central position.
|
||||||
|
*/
|
||||||
|
public RemoveObjectMessage(GameObject object, int positionOffset) {
|
||||||
|
this.positionOffset = positionOffset;
|
||||||
|
this.type = object.getType();
|
||||||
|
this.orientation = object.getOrientation();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the orientation of the object.
|
||||||
|
*
|
||||||
|
* @return The orientation.
|
||||||
|
*/
|
||||||
|
public int getOrientation() {
|
||||||
|
return orientation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the position offset of the object.
|
||||||
|
*
|
||||||
|
* @return The position offset.
|
||||||
|
*/
|
||||||
|
public int getPositionOffset() {
|
||||||
|
return positionOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the orientation of the object.
|
||||||
|
*
|
||||||
|
* @return The type.
|
||||||
|
*/
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -31,15 +31,25 @@ public final class SendObjectMessage extends Message {
|
|||||||
private final int type;
|
private final int type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the send object message.
|
* Creates the SendObjectMessage.
|
||||||
*
|
*
|
||||||
* @param object The {@link GameObject} to send.
|
* @param object The {@link GameObject} to send.
|
||||||
*/
|
*/
|
||||||
public SendObjectMessage(GameObject object) {
|
public SendObjectMessage(GameObject object) {
|
||||||
|
this(object, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the SendObjectMessage.
|
||||||
|
*
|
||||||
|
* @param object The {@link GameObject} to send.
|
||||||
|
* @param positionOffset The offset of the object's position from the sector's central position.
|
||||||
|
*/
|
||||||
|
public SendObjectMessage(GameObject object, int positionOffset) {
|
||||||
this.id = object.getId();
|
this.id = object.getId();
|
||||||
this.positionOffset = 0;
|
this.positionOffset = positionOffset;
|
||||||
this.type = object.getType();
|
this.type = object.getType();
|
||||||
this.orientation = object.getRotation();
|
this.orientation = object.getOrientation();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public final class GameObject extends Entity {
|
|||||||
*
|
*
|
||||||
* @return The orientation.
|
* @return The orientation.
|
||||||
*/
|
*/
|
||||||
public int getRotation() {
|
public int getOrientation() {
|
||||||
return packed & 0x3;
|
return packed & 0x3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ public final class GameObject extends Entity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return MoreObjects.toStringHelper(this).add("id", getId()).add("type", getType()).add("rotation", getRotation()).toString();
|
return MoreObjects.toStringHelper(this).add("id", getId()).add("type", getType()).add("orientation", getOrientation()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -24,6 +24,7 @@ import org.apollo.game.message.impl.OpenSidebarMessage;
|
|||||||
import org.apollo.game.message.impl.PlayerSynchronizationMessage;
|
import org.apollo.game.message.impl.PlayerSynchronizationMessage;
|
||||||
import org.apollo.game.message.impl.PositionMessage;
|
import org.apollo.game.message.impl.PositionMessage;
|
||||||
import org.apollo.game.message.impl.PrivacyOptionMessage;
|
import org.apollo.game.message.impl.PrivacyOptionMessage;
|
||||||
|
import org.apollo.game.message.impl.RemoveObjectMessage;
|
||||||
import org.apollo.game.message.impl.RemoveTileItemMessage;
|
import org.apollo.game.message.impl.RemoveTileItemMessage;
|
||||||
import org.apollo.game.message.impl.SectorChangeMessage;
|
import org.apollo.game.message.impl.SectorChangeMessage;
|
||||||
import org.apollo.game.message.impl.SendFriendMessage;
|
import org.apollo.game.message.impl.SendFriendMessage;
|
||||||
@@ -206,6 +207,7 @@ public final class Release317 extends Release {
|
|||||||
register(UpdateTileItemMessage.class, new UpdateTileItemMessageEncoder());
|
register(UpdateTileItemMessage.class, new UpdateTileItemMessageEncoder());
|
||||||
register(RemoveTileItemMessage.class, new RemoveTileItemMessageEncoder());
|
register(RemoveTileItemMessage.class, new RemoveTileItemMessageEncoder());
|
||||||
register(SendObjectMessage.class, new SendObjectMessageEncoder());
|
register(SendObjectMessage.class, new SendObjectMessageEncoder());
|
||||||
|
register(RemoveObjectMessage.class, new RemoveObjectMessageEncoder());
|
||||||
|
|
||||||
register(ForwardPrivateChatMessage.class, new ForwardPrivateChatMessageEncoder());
|
register(ForwardPrivateChatMessage.class, new ForwardPrivateChatMessageEncoder());
|
||||||
register(FriendServerStatusMessage.class, new FriendServerStatusMessageEncoder());
|
register(FriendServerStatusMessage.class, new FriendServerStatusMessageEncoder());
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package org.apollo.net.release.r317;
|
||||||
|
|
||||||
|
import org.apollo.game.message.impl.RemoveObjectMessage;
|
||||||
|
import org.apollo.net.codec.game.DataTransformation;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A {@link MessageEncoder} for the {@link RemoveObjectMessage}.
|
||||||
|
*
|
||||||
|
* @author Major
|
||||||
|
*/
|
||||||
|
public final class RemoveObjectMessageEncoder extends MessageEncoder<RemoveObjectMessage> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GamePacket encode(RemoveObjectMessage message) {
|
||||||
|
GamePacketBuilder builder = new GamePacketBuilder(101);
|
||||||
|
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getType() << 2 | message.getOrientation());
|
||||||
|
builder.put(DataType.BYTE, message.getPositionOffset());
|
||||||
|
return builder.toGamePacket();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ public final class SendObjectMessageEncoder extends MessageEncoder<SendObjectMes
|
|||||||
GamePacketBuilder builder = new GamePacketBuilder(151);
|
GamePacketBuilder builder = new GamePacketBuilder(151);
|
||||||
builder.put(DataType.BYTE, DataTransformation.ADD, message.getPositionOffset());
|
builder.put(DataType.BYTE, DataTransformation.ADD, message.getPositionOffset());
|
||||||
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getId());
|
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getId());
|
||||||
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getType() << 2 + message.getOrientation());
|
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getType() << 2 | message.getOrientation());
|
||||||
return builder.toGamePacket();
|
return builder.toGamePacket();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import org.apollo.game.message.impl.OpenSidebarMessage;
|
|||||||
import org.apollo.game.message.impl.PlayerSynchronizationMessage;
|
import org.apollo.game.message.impl.PlayerSynchronizationMessage;
|
||||||
import org.apollo.game.message.impl.PositionMessage;
|
import org.apollo.game.message.impl.PositionMessage;
|
||||||
import org.apollo.game.message.impl.PrivacyOptionMessage;
|
import org.apollo.game.message.impl.PrivacyOptionMessage;
|
||||||
|
import org.apollo.game.message.impl.RemoveObjectMessage;
|
||||||
import org.apollo.game.message.impl.RemoveTileItemMessage;
|
import org.apollo.game.message.impl.RemoveTileItemMessage;
|
||||||
import org.apollo.game.message.impl.SectorChangeMessage;
|
import org.apollo.game.message.impl.SectorChangeMessage;
|
||||||
import org.apollo.game.message.impl.SendFriendMessage;
|
import org.apollo.game.message.impl.SendFriendMessage;
|
||||||
@@ -202,6 +203,7 @@ public final class Release377 extends Release {
|
|||||||
register(UpdateTileItemMessage.class, new UpdateTileItemMessageEncoder());
|
register(UpdateTileItemMessage.class, new UpdateTileItemMessageEncoder());
|
||||||
register(RemoveTileItemMessage.class, new RemoveTileItemMessageEncoder());
|
register(RemoveTileItemMessage.class, new RemoveTileItemMessageEncoder());
|
||||||
register(SendObjectMessage.class, new SendObjectMessageEncoder());
|
register(SendObjectMessage.class, new SendObjectMessageEncoder());
|
||||||
|
register(RemoveObjectMessage.class, new RemoveObjectMessageEncoder());
|
||||||
|
|
||||||
register(ForwardPrivateChatMessage.class, new ForwardPrivateChatMessageEncoder());
|
register(ForwardPrivateChatMessage.class, new ForwardPrivateChatMessageEncoder());
|
||||||
register(FriendServerStatusMessage.class, new FriendServerStatusMessageEncoder());
|
register(FriendServerStatusMessage.class, new FriendServerStatusMessageEncoder());
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package org.apollo.net.release.r377;
|
||||||
|
|
||||||
|
import org.apollo.game.message.impl.RemoveObjectMessage;
|
||||||
|
import org.apollo.net.codec.game.DataTransformation;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A {@link MessageEncoder} for the {@link RemoveObjectMessage}.
|
||||||
|
*
|
||||||
|
* @author Major
|
||||||
|
*/
|
||||||
|
public final class RemoveObjectMessageEncoder extends MessageEncoder<RemoveObjectMessage> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GamePacket encode(RemoveObjectMessage message) {
|
||||||
|
GamePacketBuilder builder = new GamePacketBuilder(101);
|
||||||
|
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getPositionOffset());
|
||||||
|
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getType() << 2 | message.getOrientation());
|
||||||
|
return builder.toGamePacket();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -18,7 +18,7 @@ public final class SendObjectMessageEncoder extends MessageEncoder<SendObjectMes
|
|||||||
@Override
|
@Override
|
||||||
public GamePacket encode(SendObjectMessage message) {
|
public GamePacket encode(SendObjectMessage message) {
|
||||||
GamePacketBuilder builder = new GamePacketBuilder(152);
|
GamePacketBuilder builder = new GamePacketBuilder(152);
|
||||||
builder.put(DataType.BYTE, DataTransformation.NEGATE, message.getType() << 2 + message.getOrientation());
|
builder.put(DataType.BYTE, DataTransformation.NEGATE, message.getType() << 2 | message.getOrientation());
|
||||||
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getId());
|
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getId());
|
||||||
builder.put(DataType.BYTE, DataTransformation.ADD, message.getPositionOffset());
|
builder.put(DataType.BYTE, DataTransformation.ADD, message.getPositionOffset());
|
||||||
return builder.toGamePacket();
|
return builder.toGamePacket();
|
||||||
|
|||||||
Reference in New Issue
Block a user