diff --git a/src/org/apollo/game/message/impl/FlashTabInterfaceMessage.java b/src/org/apollo/game/message/impl/FlashTabInterfaceMessage.java new file mode 100644 index 00000000..e6fb19d7 --- /dev/null +++ b/src/org/apollo/game/message/impl/FlashTabInterfaceMessage.java @@ -0,0 +1,35 @@ +package org.apollo.game.message.impl; + +import org.apollo.game.message.Message; + +/** + * A {@link Message} sent to the client to + * + * @author Major + */ +public final class FlashTabInterfaceMessage extends Message { + + /** + * The id of the tab to flash. + */ + private final int tab; + + /** + * Creates the FlashTabInterfaceMessage. + * + * @param tab The id of the tab to flash. + */ + public FlashTabInterfaceMessage(int tab) { + this.tab = tab; + } + + /** + * Gets the id of the tab to flash. + * + * @return The id. + */ + public int getTab() { + return tab; + } + +} \ No newline at end of file diff --git a/src/org/apollo/net/release/r317/FlashTabInterfaceMessageEncoder.java b/src/org/apollo/net/release/r317/FlashTabInterfaceMessageEncoder.java new file mode 100644 index 00000000..1bc1d698 --- /dev/null +++ b/src/org/apollo/net/release/r317/FlashTabInterfaceMessageEncoder.java @@ -0,0 +1,24 @@ +package org.apollo.net.release.r317; + +import org.apollo.game.message.impl.FlashTabInterfaceMessage; +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 FlashTabInterfaceMessage}. + * + * @author Major + */ +public final class FlashTabInterfaceMessageEncoder extends MessageEncoder { + + @Override + public GamePacket encode(FlashTabInterfaceMessage message) { + GamePacketBuilder builder = new GamePacketBuilder(24); + builder.put(DataType.BYTE, DataTransformation.SUBTRACT, message.getTab()); + return builder.toGamePacket(); + } + +} \ No newline at end of file diff --git a/src/org/apollo/net/release/r317/Release317.java b/src/org/apollo/net/release/r317/Release317.java index e1abf5d8..e011e1d8 100644 --- a/src/org/apollo/net/release/r317/Release317.java +++ b/src/org/apollo/net/release/r317/Release317.java @@ -7,6 +7,7 @@ import org.apollo.game.message.impl.ConfigMessage; import org.apollo.game.message.impl.DisplayCrossbonesMessage; import org.apollo.game.message.impl.DisplayTabInterfaceMessage; import org.apollo.game.message.impl.EnterAmountMessage; +import org.apollo.game.message.impl.FlashTabInterfaceMessage; import org.apollo.game.message.impl.ForwardPrivateChatMessage; import org.apollo.game.message.impl.FriendServerStatusMessage; import org.apollo.game.message.impl.HintIconMessage; @@ -207,5 +208,6 @@ public final class Release317 extends Release { register(IgnoreListMessage.class, new IgnoreListMessageEncoder()); register(SendFriendMessage.class, new SendFriendMessageEncoder()); register(HintIconMessage.class, new HintIconMessageEncoder()); + register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder()); } } \ No newline at end of file diff --git a/src/org/apollo/net/release/r377/FlashTabInterfaceMessageEncoder.java b/src/org/apollo/net/release/r377/FlashTabInterfaceMessageEncoder.java new file mode 100644 index 00000000..b64eeaff --- /dev/null +++ b/src/org/apollo/net/release/r377/FlashTabInterfaceMessageEncoder.java @@ -0,0 +1,23 @@ +package org.apollo.net.release.r377; + +import org.apollo.game.message.impl.FlashTabInterfaceMessage; +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 FlashTabInterfaceMessage}. + * + * @author Major + */ +public final class FlashTabInterfaceMessageEncoder extends MessageEncoder { + + @Override + public GamePacket encode(FlashTabInterfaceMessage message) { + GamePacketBuilder builder = new GamePacketBuilder(283); + builder.put(DataType.BYTE, message.getTab()); + return builder.toGamePacket(); + } + +} \ No newline at end of file diff --git a/src/org/apollo/net/release/r377/Release377.java b/src/org/apollo/net/release/r377/Release377.java index 72bf88f7..d943f6bd 100644 --- a/src/org/apollo/net/release/r377/Release377.java +++ b/src/org/apollo/net/release/r377/Release377.java @@ -7,6 +7,7 @@ import org.apollo.game.message.impl.ConfigMessage; import org.apollo.game.message.impl.DisplayCrossbonesMessage; import org.apollo.game.message.impl.DisplayTabInterfaceMessage; import org.apollo.game.message.impl.EnterAmountMessage; +import org.apollo.game.message.impl.FlashTabInterfaceMessage; import org.apollo.game.message.impl.ForwardPrivateChatMessage; import org.apollo.game.message.impl.FriendServerStatusMessage; import org.apollo.game.message.impl.HintIconMessage; @@ -41,6 +42,7 @@ import org.apollo.game.message.impl.UpdateTileItemMessage; import org.apollo.game.message.impl.UpdateWeightMessage; import org.apollo.net.meta.PacketMetaDataGroup; import org.apollo.net.release.Release; +import org.apollo.net.release.r317.FlashTabInterfaceMessageEncoder; /** * A {@link Release} implementation for the 377 protocol. @@ -203,6 +205,7 @@ public final class Release377 extends Release { register(IgnoreListMessage.class, new IgnoreListMessageEncoder()); register(SendFriendMessage.class, new SendFriendMessageEncoder()); register(HintIconMessage.class, new HintIconMessageEncoder()); + register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder()); } } \ No newline at end of file