From 0c2617b8d5a5e51c4d8e4540e564931cbe69eb1b Mon Sep 17 00:00:00 2001 From: Major- Date: Thu, 20 Feb 2014 17:33:10 +0000 Subject: [PATCH] Add UpdateWeightEvent and encoders. --- .../game/event/impl/UpdateWeightEvent.java | 35 +++++++++++++++++++ .../apollo/net/release/r317/Release317.java | 2 ++ .../r317/UpdateWeightEventEncoder.java | 23 ++++++++++++ .../apollo/net/release/r377/Release377.java | 2 ++ .../r377/UpdateWeightEventEncoder.java | 23 ++++++++++++ 5 files changed, 85 insertions(+) create mode 100644 src/org/apollo/game/event/impl/UpdateWeightEvent.java create mode 100644 src/org/apollo/net/release/r317/UpdateWeightEventEncoder.java create mode 100644 src/org/apollo/net/release/r377/UpdateWeightEventEncoder.java diff --git a/src/org/apollo/game/event/impl/UpdateWeightEvent.java b/src/org/apollo/game/event/impl/UpdateWeightEvent.java new file mode 100644 index 00000000..cdec011e --- /dev/null +++ b/src/org/apollo/game/event/impl/UpdateWeightEvent.java @@ -0,0 +1,35 @@ +package org.apollo.game.event.impl; + +import org.apollo.game.event.Event; + +/** + * An {@link Event} sent to the client to update the player's weight. + * + * @author Major + */ +public final class UpdateWeightEvent extends Event { + + /** + * The weight of the player + */ + private final int weight; + + /** + * Creates the update weight event. + * + * @param weight The weight of the player. + */ + public UpdateWeightEvent(int weight) { + this.weight = weight; + } + + /** + * Gets the weight of the player. + * + * @return The weight. + */ + public int getWeight() { + return weight; + } + +} \ 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 bac1c21c..ad201c3c 100644 --- a/src/org/apollo/net/release/r317/Release317.java +++ b/src/org/apollo/net/release/r317/Release317.java @@ -33,6 +33,7 @@ import org.apollo.game.event.impl.UpdateItemsEvent; import org.apollo.game.event.impl.UpdateRunEnergyEvent; import org.apollo.game.event.impl.UpdateSkillEvent; import org.apollo.game.event.impl.UpdateSlottedItemsEvent; +import org.apollo.game.event.impl.UpdateWeightEvent; import org.apollo.net.meta.PacketMetaDataGroup; import org.apollo.net.release.Release; @@ -172,6 +173,7 @@ public final class Release317 extends Release { register(UpdateRunEnergyEvent.class, new UpdateRunEnergyEventEncoder()); register(PrivacyOptionEvent.class, new PrivacyOptionEventEncoder()); register(OpenDialogueInterfaceEvent.class, new OpenDialogueInterfaceEventEncoder()); + register(UpdateWeightEvent.class, new UpdateWeightEventEncoder()); register(AddTileItemEvent.class, new AddTileItemEventEncoder()); register(UpdateTileItemEvent.class, new UpdateTileItemEventEncoder()); diff --git a/src/org/apollo/net/release/r317/UpdateWeightEventEncoder.java b/src/org/apollo/net/release/r317/UpdateWeightEventEncoder.java new file mode 100644 index 00000000..ccdb8d2d --- /dev/null +++ b/src/org/apollo/net/release/r317/UpdateWeightEventEncoder.java @@ -0,0 +1,23 @@ +package org.apollo.net.release.r317; + +import org.apollo.game.event.impl.UpdateWeightEvent; +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.EventEncoder; + +/** + * An {@link EventEncoder} for the {@link UpdateWeightEvent}. + * + * @author Major + */ +public final class UpdateWeightEventEncoder extends EventEncoder { + + @Override + public GamePacket encode(UpdateWeightEvent event) { + GamePacketBuilder builder = new GamePacketBuilder(240); + builder.put(DataType.SHORT, event.getWeight()); + 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 908d462e..44f655f8 100644 --- a/src/org/apollo/net/release/r377/Release377.java +++ b/src/org/apollo/net/release/r377/Release377.java @@ -33,6 +33,7 @@ import org.apollo.game.event.impl.UpdateItemsEvent; import org.apollo.game.event.impl.UpdateRunEnergyEvent; import org.apollo.game.event.impl.UpdateSkillEvent; import org.apollo.game.event.impl.UpdateSlottedItemsEvent; +import org.apollo.game.event.impl.UpdateWeightEvent; import org.apollo.net.meta.PacketMetaDataGroup; import org.apollo.net.release.Release; @@ -169,6 +170,7 @@ public final class Release377 extends Release { register(UpdateRunEnergyEvent.class, new UpdateRunEnergyEventEncoder()); register(PrivacyOptionEvent.class, new PrivacyOptionEventEncoder()); register(OpenDialogueInterfaceEvent.class, new OpenDialogueInterfaceEventEncoder()); + register(UpdateWeightEvent.class, new UpdateWeightEventEncoder()); register(AddTileItemEvent.class, new AddTileItemEventEncoder()); register(UpdateTileItemEvent.class, new UpdateTileItemEventEncoder()); diff --git a/src/org/apollo/net/release/r377/UpdateWeightEventEncoder.java b/src/org/apollo/net/release/r377/UpdateWeightEventEncoder.java new file mode 100644 index 00000000..dcc1d28b --- /dev/null +++ b/src/org/apollo/net/release/r377/UpdateWeightEventEncoder.java @@ -0,0 +1,23 @@ +package org.apollo.net.release.r377; + +import org.apollo.game.event.impl.UpdateWeightEvent; +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.EventEncoder; + +/** + * An {@link EventEncoder} for the {@link UpdateWeightEvent}. + * + * @author Major + */ +public final class UpdateWeightEventEncoder extends EventEncoder { + + @Override + public GamePacket encode(UpdateWeightEvent event) { + GamePacketBuilder builder = new GamePacketBuilder(174); + builder.put(DataType.SHORT, event.getWeight()); + return builder.toGamePacket(); + } + +} \ No newline at end of file