mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
Support global tile item event.
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package org.apollo.game.event.impl;
|
||||
|
||||
import org.apollo.game.event.Event;
|
||||
import org.apollo.game.model.Item;
|
||||
|
||||
public final class AddGlobalTileItemEvent extends Event {
|
||||
|
||||
/**
|
||||
* The item to add to the tile.
|
||||
*/
|
||||
private final Item item;
|
||||
|
||||
/**
|
||||
* The position offset
|
||||
*/
|
||||
private final int positionOffset;
|
||||
|
||||
/**
|
||||
* The index of the player who dropped the item.
|
||||
*/
|
||||
private final int index;
|
||||
|
||||
/**
|
||||
* Creates the add global tile item event.
|
||||
*
|
||||
* @param item The item to add to the tile.
|
||||
* @param index The index of the player who dropped the item.
|
||||
*/
|
||||
public AddGlobalTileItemEvent(Item item, int index) {
|
||||
this(item, index, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the add global tile item event.
|
||||
*
|
||||
* @param item The item to add to the tile.
|
||||
* @param index The index of the player who dropped the item.
|
||||
* @param positionOffset The offset from the 'base' position.
|
||||
*/
|
||||
public AddGlobalTileItemEvent(Item item, int index, int positionOffset) {
|
||||
this.item = item;
|
||||
this.index = index;
|
||||
this.positionOffset = positionOffset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the id of the item.
|
||||
*
|
||||
* @return The id.
|
||||
*/
|
||||
public int getId() {
|
||||
return item.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the amount of the item.
|
||||
*
|
||||
* @return The amount.
|
||||
*/
|
||||
public int getAmount() {
|
||||
return item.getAmount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the index of the player who dropped the item.
|
||||
*
|
||||
* @return The index.
|
||||
*/
|
||||
public int getIndex() {
|
||||
return index;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset from the 'base' position.
|
||||
*
|
||||
* @return The offset.
|
||||
*/
|
||||
public int getPositionOffset() {
|
||||
return positionOffset;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package org.apollo.net.release.r317;
|
||||
|
||||
import org.apollo.game.event.impl.AddGlobalTileItemEvent;
|
||||
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.EventEncoder;
|
||||
|
||||
/**
|
||||
* An {@link EventEncoder} for the {@link AddGlobalTileItemEvent}.
|
||||
*
|
||||
* @author Major
|
||||
*/
|
||||
public final class AddGlobalTileItemEventEncoder extends EventEncoder<AddGlobalTileItemEvent> {
|
||||
|
||||
@Override
|
||||
public GamePacket encode(AddGlobalTileItemEvent event) {
|
||||
GamePacketBuilder builder = new GamePacketBuilder(215);
|
||||
builder.put(DataType.SHORT, DataTransformation.ADD, event.getId());
|
||||
builder.put(DataType.BYTE, DataTransformation.SUBTRACT, event.getPositionOffset());
|
||||
builder.put(DataType.SHORT, DataTransformation.ADD, event.getIndex());
|
||||
builder.put(DataType.SHORT, event.getAmount());
|
||||
return builder.toGamePacket();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.apollo.net.release.r317;
|
||||
|
||||
import org.apollo.game.event.impl.AddGlobalTileItemEvent;
|
||||
import org.apollo.game.event.impl.AddTileItemEvent;
|
||||
import org.apollo.game.event.impl.CloseInterfaceEvent;
|
||||
import org.apollo.game.event.impl.ConfigEvent;
|
||||
@@ -174,6 +175,7 @@ public final class Release317 extends Release {
|
||||
register(PrivacyOptionEvent.class, new PrivacyOptionEventEncoder());
|
||||
register(OpenDialogueInterfaceEvent.class, new OpenDialogueInterfaceEventEncoder());
|
||||
register(UpdateWeightEvent.class, new UpdateWeightEventEncoder());
|
||||
register(AddGlobalTileItemEvent.class, new AddGlobalTileItemEventEncoder());
|
||||
|
||||
register(AddTileItemEvent.class, new AddTileItemEventEncoder());
|
||||
register(UpdateTileItemEvent.class, new UpdateTileItemEventEncoder());
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.apollo.net.release.r377;
|
||||
|
||||
import org.apollo.game.event.impl.AddGlobalTileItemEvent;
|
||||
import org.apollo.net.codec.game.DataOrder;
|
||||
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.EventEncoder;
|
||||
|
||||
/**
|
||||
* An {@link EventEncoder} for the {@link AddGlobalTileItemEvent}.
|
||||
*
|
||||
* @author Major
|
||||
*/
|
||||
public final class AddGlobalTileItemEventEncoder extends EventEncoder<AddGlobalTileItemEvent> {
|
||||
|
||||
@Override
|
||||
public GamePacket encode(AddGlobalTileItemEvent event) {
|
||||
GamePacketBuilder builder = new GamePacketBuilder(106);
|
||||
builder.put(DataType.BYTE, DataTransformation.ADD, event.getPositionOffset());
|
||||
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, event.getAmount());
|
||||
builder.put(DataType.SHORT, DataTransformation.ADD, event.getId());
|
||||
builder.put(DataType.SHORT, DataTransformation.ADD, event.getIndex());
|
||||
return builder.toGamePacket();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.apollo.net.release.r377;
|
||||
|
||||
import org.apollo.game.event.impl.AddGlobalTileItemEvent;
|
||||
import org.apollo.game.event.impl.AddTileItemEvent;
|
||||
import org.apollo.game.event.impl.CloseInterfaceEvent;
|
||||
import org.apollo.game.event.impl.ConfigEvent;
|
||||
@@ -171,6 +172,7 @@ public final class Release377 extends Release {
|
||||
register(PrivacyOptionEvent.class, new PrivacyOptionEventEncoder());
|
||||
register(OpenDialogueInterfaceEvent.class, new OpenDialogueInterfaceEventEncoder());
|
||||
register(UpdateWeightEvent.class, new UpdateWeightEventEncoder());
|
||||
register(AddGlobalTileItemEvent.class, new AddGlobalTileItemEventEncoder());
|
||||
|
||||
register(AddTileItemEvent.class, new AddTileItemEventEncoder());
|
||||
register(UpdateTileItemEvent.class, new UpdateTileItemEventEncoder());
|
||||
|
||||
Reference in New Issue
Block a user