Rename Events to Messages.

This commit is contained in:
Major-
2014-08-08 13:50:56 +01:00
parent 1ecdedd2e8
commit 3931b9eb48
467 changed files with 5032 additions and 5057 deletions
+2 -2
View File
@@ -8,9 +8,9 @@ package org.apollo.game;
public final class GameConstants {
/**
* The maximum events per pulse per session.
* The maximum amount of messages to process per pulse (per session).
*/
public static final int EVENTS_PER_PULSE = 10;
public static final int MESSAGES_PER_PULSE = 10;
/**
* The delay between consecutive pulses, in milliseconds.
+13 -13
View File
@@ -10,12 +10,12 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import org.apollo.Service;
import org.apollo.game.event.handler.chain.EventHandlerChainGroup;
import org.apollo.game.message.handler.MessageHandlerChainGroup;
import org.apollo.game.model.World;
import org.apollo.game.model.World.RegistrationStatus;
import org.apollo.game.model.entity.Player;
import org.apollo.game.sync.ClientSynchronizer;
import org.apollo.io.EventHandlerChainParser;
import org.apollo.io.MessageHandlerChainParser;
import org.apollo.login.LoginService;
import org.apollo.net.session.GameSession;
import org.apollo.util.NamedThreadFactory;
@@ -37,9 +37,9 @@ public final class GameService extends Service {
private static final int UNREGISTERS_PER_CYCLE = 50;
/**
* The {@link EventHandlerChainGroup}.
* The {@link MessageHandlerChainGroup}.
*/
private EventHandlerChainGroup chainGroup;
private MessageHandlerChainGroup chainGroup;
/**
* A queue of players to remove.
@@ -78,11 +78,11 @@ public final class GameService extends Service {
}
/**
* Gets the event handler chains.
* Gets the message handler chains.
*
* @return The event handler chains.
* @return The message handler chains.
*/
public EventHandlerChainGroup getEventHandlerChains() {
public MessageHandlerChainGroup getMessageHandlerChains() {
return chainGroup;
}
@@ -92,14 +92,14 @@ public final class GameService extends Service {
* @throws IOException If there is an error with the file (e.g. does not exist, cannot be read, does not contain
* valid nodes).
* @throws SAXException If there is an error parsing the file.
* @throws ClassNotFoundException If an event handler could not be found.
* @throws InstantiationException If an event handler could not be instantiated.
* @throws IllegalAccessException If an event handler could not be accessed.
* @throws ClassNotFoundException If a message handler could not be found.
* @throws InstantiationException If a message handler could not be instantiated.
* @throws IllegalAccessException If a message handler could not be accessed.
*/
private void init() throws IOException, SAXException, ClassNotFoundException, InstantiationException,
IllegalAccessException {
try (InputStream is = new FileInputStream("data/events.xml")) {
EventHandlerChainParser chainGroupParser = new EventHandlerChainParser(is);
try (InputStream is = new FileInputStream("data/messages.xml")) {
MessageHandlerChainParser chainGroupParser = new MessageHandlerChainParser(is);
chainGroup = chainGroupParser.parse();
}
@@ -139,7 +139,7 @@ public final class GameService extends Service {
for (Player p : world.getPlayerRepository()) {
GameSession session = p.getSession();
if (session != null) {
session.handlePendingEvents(chainGroup);
session.handlePendingMessages(chainGroup);
}
}
@@ -13,7 +13,7 @@ import org.apollo.game.model.entity.Player;
public final class CommandDispatcher {
/**
* A map of event listeners.
* A map of command strings to command listeners.
*/
private final Map<String, CommandListener> listeners = new HashMap<String, CommandListener>();
-10
View File
@@ -1,10 +0,0 @@
package org.apollo.game.event;
/**
* Represents an event that can occur in the game world.
*
* @author Graham
*/
public abstract class Event {
}
@@ -1,23 +0,0 @@
package org.apollo.game.event.handler;
import org.apollo.game.event.Event;
import org.apollo.game.model.entity.Player;
/**
* A class which handles events.
*
* @author Graham
* @param <E> The type of event this class handles.
*/
public abstract class EventHandler<E extends Event> {
/**
* Handles an event.
*
* @param ctx The context.
* @param player The player.
* @param event The event.
*/
public abstract void handle(EventHandlerContext ctx, Player player, E event);
}
@@ -1,17 +0,0 @@
package org.apollo.game.event.handler;
import org.apollo.game.event.handler.chain.EventHandlerChain;
/**
* Provides operations specific to an {@link EventHandler} in an {@link EventHandlerChain}.
*
* @author Graham
*/
public abstract class EventHandlerContext {
/**
* Breaks the handler chain.
*/
public abstract void breakHandlerChain();
}
@@ -1,70 +0,0 @@
package org.apollo.game.event.handler.chain;
import org.apollo.game.event.Event;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.model.entity.Player;
/**
* A chain of event handlers.
*
* @author Graham
* @param <E> The type of event the handlers in this chain handle.
*/
public final class EventHandlerChain<E extends Event> {
/**
* The handlers.
*/
private EventHandler<E>[] handlers;
/**
* Creates the event handler chain.
*
* @param handlers The handlers.
*/
@SafeVarargs
public EventHandlerChain(EventHandler<E>... handlers) {
this.handlers = handlers;
}
/**
* Dynamically adds an event handler to the end of the chain.
*
* @param handler The handler.
*/
@SuppressWarnings("unchecked")
public void addLast(EventHandler<E> handler) {
EventHandler<E>[] old = handlers;
handlers = new EventHandler[old.length + 1];
System.arraycopy(old, 0, handlers, 0, old.length);
handlers[old.length] = handler;
}
/**
* Handles the event, passing it down the chain until the chain is broken or the event reaches the end of the chain.
*
* @param player The player.
* @param event The event.
*/
public void handle(Player player, E event) {
final boolean[] running = new boolean[1];
running[0] = true;
EventHandlerContext ctx = new EventHandlerContext() {
@Override
public void breakHandlerChain() {
running[0] = false;
}
};
for (EventHandler<E> handler : handlers) {
handler.handle(ctx, player, event);
if (!running[0]) {
break;
}
}
}
}
@@ -1,50 +0,0 @@
package org.apollo.game.event.handler.chain;
import java.util.Map;
import org.apollo.game.event.Event;
/**
* A group of {@link EventHandlerChain}s classified by the {@link Event} type.
*
* @author Graham
*/
public final class EventHandlerChainGroup {
/**
* The map of event classes to event handler chains.
*/
private final Map<Class<? extends Event>, EventHandlerChain<?>> chains;
/**
* Creates the event handler chain group.
*
* @param chains The chains map.
*/
public EventHandlerChainGroup(Map<Class<? extends Event>, EventHandlerChain<?>> chains) {
this.chains = chains;
}
/**
* Gets an {@link EventHandlerChain} from this group.
*
* @param <E> The type of event.
* @param clazz The event class.
* @return The {@link EventHandlerChain} if one was found, {@code null} otherwise.
*/
@SuppressWarnings("unchecked")
public <E extends Event> EventHandlerChain<E> getChain(Class<E> clazz) {
return (EventHandlerChain<E>) chains.get(clazz);
}
/**
* Registers an {@link EventHandlerChain} associated with the specified {@link Class} to this group.
*
* @param clazz The event class.
* @param chain The event handler chain.
*/
public <E extends Event> void register(Class<E> clazz, EventHandlerChain<E> chain) {
chains.put(clazz, chain);
}
}
@@ -1,4 +0,0 @@
/**
* Contains classes related to the chaining of event handlers.
*/
package org.apollo.game.event.handler.chain;
@@ -1,34 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ButtonEvent;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} that responds to {@link ButtonEvent}s for withdrawing items as notes.
*
* @author Graham
*/
public final class BankButtonEventHandler extends EventHandler<ButtonEvent> {
/**
* The withdraw as item button id.
*/
private static final int WITHDRAW_AS_ITEM = 5387;
/**
* The withdraw as note button id.
*/
private static final int WITHDRAW_AS_NOTE = 5386;
@Override
public void handle(EventHandlerContext ctx, Player player, ButtonEvent event) {
if (event.getWidgetId() == WITHDRAW_AS_ITEM) {
player.setWithdrawingNotes(false);
} else if (event.getWidgetId() == WITHDRAW_AS_NOTE) {
player.setWithdrawingNotes(true);
}
}
}
@@ -1,87 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ItemActionEvent;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
import org.apollo.game.model.inter.bank.BankDepositEnterAmountListener;
import org.apollo.game.model.inter.bank.BankUtils;
import org.apollo.game.model.inter.bank.BankWithdrawEnterAmountListener;
/**
* An {@link EventHandler} that handles withdrawing and depositing items from/to a player's bank.
*
* @author Graham
*/
public final class BankEventHandler extends EventHandler<ItemActionEvent> {
/**
* Converts an option to an amount.
*
* @param option The option.
* @return The amount.
* @throws IllegalArgumentException If the option is invalid.
*/
private static final int optionToAmount(int option) {
switch (option) {
case 1:
return 1;
case 2:
return 5;
case 3:
return 10;
case 4:
return Integer.MAX_VALUE;
case 5:
return -1;
}
throw new IllegalArgumentException("Invalid option supplied.");
}
/**
* Handles a deposit action.
*
* @param ctx The event handler context.
* @param player The player.
* @param event The event.
*/
private void deposit(EventHandlerContext ctx, Player player, ItemActionEvent event) {
int amount = optionToAmount(event.getOption());
if (amount == -1) {
player.getInterfaceSet().openEnterAmountDialogue(
new BankDepositEnterAmountListener(player, event.getSlot(), event.getId()));
} else if (!BankUtils.deposit(player, event.getSlot(), event.getId(), amount)) {
ctx.breakHandlerChain();
}
}
@Override
public void handle(EventHandlerContext ctx, Player player, ItemActionEvent event) {
if (player.getInterfaceSet().contains(BankConstants.BANK_WINDOW_ID)) {
if (event.getInterfaceId() == BankConstants.SIDEBAR_INVENTORY_ID) {
deposit(ctx, player, event);
} else if (event.getInterfaceId() == BankConstants.BANK_INVENTORY_ID) {
withdraw(ctx, player, event);
}
}
}
/**
* Handles a withdraw action.
*
* @param ctx The event handler context.
* @param player The player.
* @param event The event.
*/
private void withdraw(EventHandlerContext ctx, Player player, ItemActionEvent event) {
int amount = optionToAmount(event.getOption());
if (amount == -1) {
player.getInterfaceSet().openEnterAmountDialogue(
new BankWithdrawEnterAmountListener(player, event.getSlot(), event.getId()));
} else if (!BankUtils.withdraw(player, event.getSlot(), event.getId(), amount)) {
ctx.breakHandlerChain();
}
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ChatEvent;
import org.apollo.game.model.entity.Player;
import org.apollo.game.sync.block.SynchronizationBlock;
/**
* An {@link EventHandler} that broadcasts public chat messages.
*
* @author Graham
*/
public final class ChatEventHandler extends EventHandler<ChatEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, ChatEvent event) {
player.getBlockSet().add(SynchronizationBlock.createChatBlock(player, event));
}
}
@@ -1,24 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ChatEvent;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} that verifies {@link ChatEvent}s.
*
* @author Graham
*/
public final class ChatVerificationHandler extends EventHandler<ChatEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, ChatEvent event) {
int color = event.getTextColor();
int effects = event.getTextEffects();
if (color < 0 || color > 11 || effects < 0 || effects > 5) {
ctx.breakHandlerChain();
}
}
}
@@ -1,20 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ClosedInterfaceEvent;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} for the {@link ClosedInterfaceEvent}.
*
* @author Graham
*/
public final class ClosedInterfaceEventHandler extends EventHandler<ClosedInterfaceEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, ClosedInterfaceEvent event) {
player.getInterfaceSet().interfaceClosed();
}
}
@@ -1,29 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.command.Command;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.CommandEvent;
import org.apollo.game.model.World;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} that dispatches {@link CommandEvent}s.
*
* @author Graham
*/
public final class CommandEventHandler extends EventHandler<CommandEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, CommandEvent event) {
String[] components = event.getCommand().split(" ");
String name = components[0];
String[] arguments = new String[components.length - 1];
System.arraycopy(components, 1, arguments, 0, arguments.length);
Command command = new Command(name, arguments);
World.getWorld().getCommandDispatcher().dispatch(player, command);
}
}
@@ -1,27 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ButtonEvent;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.InterfaceType;
/**
* An {@link EventHandler} which intercepts button clicks on dialogues, and forwards the event to the current listener.
*
* @author Chris Fletcher
*/
public final class DialogueButtonHandler extends EventHandler<ButtonEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, ButtonEvent event) {
if (player.getInterfaceSet().contains(InterfaceType.DIALOGUE)) {
boolean breakChain = player.getInterfaceSet().buttonClicked(event.getWidgetId());
if (breakChain) {
ctx.breakHandlerChain();
}
}
}
}
@@ -1,23 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.DialogueContinueEvent;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.InterfaceType;
/**
* An {@link EventHandler} for the {@link DialogueContinueEvent}.
*
* @author Chris Fletcher
*/
public final class DialogueContinueEventHandler extends EventHandler<DialogueContinueEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, DialogueContinueEvent event) {
if (player.getInterfaceSet().contains(InterfaceType.DIALOGUE)) {
player.getInterfaceSet().continueRequested();
}
}
}
@@ -1,20 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.EnteredAmountEvent;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} for the {@link EnteredAmountEvent}.
*
* @author Graham
*/
public final class EnteredAmountEventHandler extends EventHandler<EnteredAmountEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, EnteredAmountEvent event) {
player.getInterfaceSet().enteredAmount(event.getAmount());
}
}
@@ -1,42 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ItemOnObjectEvent;
import org.apollo.game.model.Item;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* An {@link EventHandler} that verifies {@link ItemObObjectEvent}s.
*
* @author Major
*/
public final class ItemOnObjectVerificationHandler extends EventHandler<ItemOnObjectEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, ItemOnObjectEvent event) {
if (event.getInterfaceId() != SynchronizationInventoryListener.INVENTORY_ID
&& event.getInterfaceId() != BankConstants.SIDEBAR_INVENTORY_ID) {
ctx.breakHandlerChain();
return;
}
Inventory inventory = player.getInventory();
int slot = event.getSlot();
if (slot < 0 || slot >= inventory.capacity()) {
ctx.breakHandlerChain();
return;
}
Item item = inventory.get(slot);
if (item == null || item.getId() != event.getId()) {
ctx.breakHandlerChain();
return;
}
}
}
@@ -1,23 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.CloseInterfaceEvent;
import org.apollo.game.event.impl.PlayerDesignEvent;
import org.apollo.game.model.entity.Player;
/**
* An {@link EventHandler} that handles {@link PlayerDesignEvent}s.
*
* @author Graham
*/
public final class PlayerDesignEventHandler extends EventHandler<PlayerDesignEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, PlayerDesignEvent event) {
player.setAppearance(event.getAppearance());
player.setNew(true);
player.send(new CloseInterfaceEvent());
}
}
@@ -1,41 +0,0 @@
package org.apollo.game.event.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.WalkEvent;
import org.apollo.game.model.Position;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.entity.WalkingQueue;
/**
* A{@link EventHandler} that handles {@link WalkEvent}s.
*
* @author Graham
*/
public final class WalkEventHandler extends EventHandler<WalkEvent> {
@Override
public void handle(EventHandlerContext ctx, Player player, WalkEvent event) {
WalkingQueue queue = player.getWalkingQueue();
Position[] steps = event.getSteps();
for (int i = 0; i < steps.length; i++) {
Position step = steps[i];
if (i == 0) {
if (!queue.addFirstStep(step)) {
return; // ignore packet
}
} else {
queue.addStep(step);
}
}
queue.setRunningQueue(event.isRunning() || player.isRunning());
if (queue.size() > 0) {
player.stopAction();
}
player.getInterfaceSet().close();
}
}
@@ -1,4 +0,0 @@
/**
* Contains event handler implementations.
*/
package org.apollo.game.event.handler.impl;
@@ -1,4 +0,0 @@
/**
* Contains classes which define abstract event handlers.
*/
package org.apollo.game.event.handler;
@@ -1,12 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client that closes the open interface.
*
* @author Graham
*/
public final class CloseInterfaceEvent extends Event {
}
@@ -1,12 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent by the client when the current interface is closed.
*
* @author Graham
*/
public final class ClosedInterfaceEvent extends Event {
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to change the currently displayed tab interface.
*
* @author Chris Fletcher
*/
public final class DisplayTabInterfaceEvent extends Event {
/**
* The tab index.
*/
private final int tab;
/**
* Creates a new display tab interface event.
*
* @param tab The index of the tab to display.
*/
public DisplayTabInterfaceEvent(int tab) {
this.tab = tab;
}
/**
* Gets the index of the tab to display.
*
* @return The tab index.
*/
public int getTab() {
return tab;
}
}
@@ -1,12 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to open up the enter amount interface.
*
* @author Graham
*/
public final class EnterAmountEvent extends Event {
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent by the client when the player has entered an amount.
*
* @author Graham
*/
public final class EnteredAmountEvent extends Event {
/**
* The amount.
*/
private final int amount;
/**
* Creates the entered amount event.
*
* @param amount The amount.
*/
public EnteredAmountEvent(int amount) {
this.amount = amount;
}
/**
* Gets the amount.
*
* @return The amount.
*/
public int getAmount() {
return amount;
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fifth {@link ItemActionEvent}.
*
* @author Graham
*/
public final class FifthItemActionEvent extends ItemActionEvent {
/**
* Creates the fifth item action event.
*
* @param interfaceId The interface id.
* @param id The item id.
* @param slot The item slot.
*/
public FifthItemActionEvent(int interfaceId, int id, int slot) {
super(5, interfaceId, id, slot);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fifth {@link ItemOptionEvent}.
*
* @author Chris Fletcher
*/
public final class FifthItemOptionEvent extends ItemOptionEvent {
/**
* Creates the fifth item option event.
*
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public FifthItemOptionEvent(int interfaceId, int id, int slot) {
super(5, interfaceId, id, slot);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fifth {@link PlayerActionEvent}.
*
* @author Major
*/
public final class FifthPlayerActionEvent extends PlayerActionEvent {
/**
* Creates a fifth player action event.
*
* @param playerIndex The index of the clicked player.
*/
public FifthPlayerActionEvent(int playerIndex) {
super(5, playerIndex);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The first {@link ItemActionEvent}.
*
* @author Graham
*/
public final class FirstItemActionEvent extends ItemActionEvent {
/**
* Creates the first item action event.
*
* @param interfaceId The interface id.
* @param id The item id.
* @param slot The item slot.
*/
public FirstItemActionEvent(int interfaceId, int id, int slot) {
super(1, interfaceId, id, slot);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The first {@link ItemOptionEvent}.
*
* @author Chris Fletcher
*/
public final class FirstItemOptionEvent extends ItemOptionEvent {
/**
* Creates the first item option event.
*
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public FirstItemOptionEvent(int interfaceId, int id, int slot) {
super(1, interfaceId, id, slot);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The first {@link NpcActionEvent}.
*
* @author Major
*/
public final class FirstNpcActionEvent extends NpcActionEvent {
/**
* Creates a new first npc action event.
*
* @param index The index of the npc.
*/
public FirstNpcActionEvent(int index) {
super(1, index);
}
}
@@ -1,22 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.model.Position;
/**
* The first {@link ObjectActionEvent}.
*
* @author Graham
*/
public final class FirstObjectActionEvent extends ObjectActionEvent {
/**
* Creates the first object action event.
*
* @param id The id.
* @param position The position.
*/
public FirstObjectActionEvent(int id, Position position) {
super(1, id, position);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The first {@link PlayerActionEvent}.
*
* @author Major
*/
public final class FirstPlayerActionEvent extends PlayerActionEvent {
/**
* Creates a first player action event.
*
* @param playerIndex The index of the clicked player.
*/
public FirstPlayerActionEvent(int playerIndex) {
super(1, playerIndex);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fourth {@link ItemActionEvent}.
*
* @author Graham
*/
public final class FourthItemActionEvent extends ItemActionEvent {
/**
* Creates the fourth item action event.
*
* @param interfaceId The interface id.
* @param id The item id.
* @param slot The item slot.
*/
public FourthItemActionEvent(int interfaceId, int id, int slot) {
super(4, interfaceId, id, slot);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fourth {@link ItemOptionEvent}.
*
* @author Chris Fletcher
*/
public final class FourthItemOptionEvent extends ItemOptionEvent {
/**
* Creates the fourth item option event.
*
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public FourthItemOptionEvent(int interfaceId, int id, int slot) {
super(4, interfaceId, id, slot);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The fourth {@link PlayerActionEvent}.
*
* @author Major
*/
public final class FourthPlayerActionEvent extends PlayerActionEvent {
/**
* Creates a fourth player action event.
*
* @param playerIndex The index of the clicked player.
*/
public FourthPlayerActionEvent(int playerIndex) {
super(4, playerIndex);
}
}
@@ -1,26 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent by the client that represents some sort of action on an item. Note that the actual event sent
* by the client is one of the five item action events, but this is the event that should be intercepted (and the option
* verified).
*
* @author Chris Fletcher
*/
public abstract class ItemActionEvent extends InventoryItemEvent {
/**
* Creates the item action event.
*
* @param option The option number.
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public ItemActionEvent(int option, int interfaceId, int id, int slot) {
super(option, interfaceId, id, slot);
}
}
@@ -1,24 +0,0 @@
package org.apollo.game.event.impl;
/**
* An {@link InventoryItemEvent} sent by the client when an item's option is clicked (e.g. equip, eat, drink, etc). Note
* that the actual event sent by the client is one of the five item option events, but this is the event that should be
* intercepted (and the option verified).
*
* @author Chris Fletcher
*/
public abstract class ItemOptionEvent extends InventoryItemEvent {
/**
* Creates the item option event.
*
* @param option The option number.
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public ItemOptionEvent(int option, int interfaceId, int id, int slot) {
super(option, interfaceId, id, slot);
}
}
@@ -1,33 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} periodically sent by the client to keep a connection alive.
*
* @author Graham
*/
public final class KeepAliveEvent extends Event {
/**
* The time this event was created.
*/
private final long createdAt;
/**
* Creates the keep alive event.
*/
public KeepAliveEvent() {
createdAt = System.currentTimeMillis();
}
/**
* Gets the time when this event was created.
*
* @return The time when this event was created.
*/
public long getCreatedAt() {
return createdAt;
}
}
@@ -1,12 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client that cleanly logs it out.
*
* @author Graham
*/
public final class LogoutEvent extends Event {
}
@@ -1,12 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to reset the animations of every mob.
*
* @author Major
*/
public final class MobAnimationResetEvent extends Event {
}
@@ -1,53 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent by the client representing the clicking of an npc menu action. Note that the actual event sent
* by the client is one of the three npc action events, but this is the event that should be intercepted (and the option
* verified).
*
* @author Major
*/
public abstract class NpcActionEvent extends Event {
/**
* The option number.
*/
private final int option;
/**
* The index of the clicked npc.
*/
private final int index;
/**
* Creates an npc action event.
*
* @param option The option number.
* @param index The index of the npc.
*/
public NpcActionEvent(int option, int index) {
this.option = option;
this.index = index - 1;
}
/**
* Gets the menu action number (i.e. the action event 'option') clicked.
*
* @return The option number.
*/
public int getOption() {
return option;
}
/**
* Gets the index of the npc clicked.
*
* @return The npc index.
*/
public int getIndex() {
return index;
}
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client that opens a dialogue interface (an interface that appears in the chat box).
*
* @author Chris Fletcher
*/
public final class OpenDialogueInterfaceEvent extends Event {
/**
* The interface id.
*/
private final int interfaceId;
/**
* Creates a new event with the specified interface id.
*
* @param interfaceId The interface id.
*/
public OpenDialogueInterfaceEvent(int interfaceId) {
this.interfaceId = interfaceId;
}
/**
* Gets the interface id.
*
* @return The interface id.
*/
public int getInterfaceId() {
return interfaceId;
}
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client that opens an interface.
*
* @author Graham
*/
public final class OpenInterfaceEvent extends Event {
/**
* The interface id.
*/
private final int id;
/**
* Creates the event with the specified interface id.
*
* @param id The interface id.
*/
public OpenInterfaceEvent(int id) {
this.id = id;
}
/**
* Gets the interface id.
*
* @return The interface id.
*/
public int getId() {
return id;
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The second {@link ItemActionEvent}.
*
* @author Graham
*/
public final class SecondItemActionEvent extends ItemActionEvent {
/**
* Creates the second item action event.
*
* @param interfaceId The interface id.
* @param id The item id.
* @param slot The item slot.
*/
public SecondItemActionEvent(int interfaceId, int id, int slot) {
super(2, interfaceId, id, slot);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The second {@link ItemOptionEvent}.
*
* @author Chris Fletcher
*/
public final class SecondItemOptionEvent extends ItemOptionEvent {
/**
* Creates the second item option event.
*
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public SecondItemOptionEvent(int interfaceId, int id, int slot) {
super(2, interfaceId, id, slot);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The second {@link NpcActionEvent}.
*
* @author Major
*/
public final class SecondNpcActionEvent extends NpcActionEvent {
/**
* Creates a new second npc action event.
*
* @param index The index of the npc.
*/
public SecondNpcActionEvent(int index) {
super(2, index);
}
}
@@ -1,22 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.model.Position;
/**
* The second {@link ObjectActionEvent}.
*
* @author Graham
*/
public final class SecondObjectActionEvent extends ObjectActionEvent {
/**
* Creates the second object action event.
*
* @param id The id.
* @param position The position.
*/
public SecondObjectActionEvent(int id, Position position) {
super(2, id, position);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The second {@link PlayerActionEvent}.
*
* @author Major
*/
public final class SecondPlayerActionEvent extends PlayerActionEvent {
/**
* Creates a second player action event.
*
* @param playerIndex The index of the clicked player.
*/
public SecondPlayerActionEvent(int playerIndex) {
super(2, playerIndex);
}
}
@@ -1,45 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to display a server message.
*
* @author Graham
*/
public final class ServerMessageEvent extends Event {
/**
* The message.
*/
private final String message;
/**
* Creates a server message event.
*
* @param message The message.
*/
public ServerMessageEvent(String message) {
this(message, false);
}
/**
* Creates a server message event.
*
* @param message The message.
* @param filterable If the message can be filtered.
*/
public ServerMessageEvent(String message, boolean filterable) {
this.message = message + (filterable ? ":filterable:" : "");
}
/**
* Gets the message.
*
* @return The message.
*/
public String getMessage() {
return message;
}
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to set a widget's displayed player model.
*
* @author Chris Fletcher
*/
public final class SetWidgetPlayerModelEvent extends Event {
/**
* The interface's id.
*/
private final int interfaceId;
/**
* Creates a new set interface player model event.
*
* @param interfaceId The interface's id.
*/
public SetWidgetPlayerModelEvent(int interfaceId) {
this.interfaceId = interfaceId;
}
/**
* Gets the interface's id.
*
* @return The id.
*/
public int getInterfaceId() {
return interfaceId;
}
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* A {@link Event} sent by the client after a short period of time containing random data.
*
* @author Major
*/
public final class SpamPacketEvent extends Event {
/**
* Data sent by the spam packet.
*/
private final byte[] data;
/**
* Creates a new spam packet event.
*
* @param data The data sent.
*/
public SpamPacketEvent(byte[] data) {
this.data = data;
}
/**
* Gets the data sent.
*
* @return The data.
*/
public byte[] getData() {
return data;
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The third {@link ItemActionEvent}.
*
* @author Graham
*/
public final class ThirdItemActionEvent extends ItemActionEvent {
/**
* Creates the third item action event.
*
* @param interfaceId The interface id.
* @param id The item id.
* @param slot The item slot.
*/
public ThirdItemActionEvent(int interfaceId, int id, int slot) {
super(3, interfaceId, id, slot);
}
}
@@ -1,21 +0,0 @@
package org.apollo.game.event.impl;
/**
* The third {@link ItemOptionEvent}.
*
* @author Chris Fletcher
*/
public final class ThirdItemOptionEvent extends ItemOptionEvent {
/**
* Creates the third item option event.
*
* @param interfaceId The interface id.
* @param id The id.
* @param slot The slot.
*/
public ThirdItemOptionEvent(int interfaceId, int id, int slot) {
super(3, interfaceId, id, slot);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The third {@link NpcActionEvent}.
*
* @author Major
*/
public final class ThirdNpcActionEvent extends NpcActionEvent {
/**
* Creates a new third npc action event.
*
* @param index The index of the npc.
*/
public ThirdNpcActionEvent(int index) {
super(3, index);
}
}
@@ -1,22 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.model.Position;
/**
* The third {@link ObjectActionEvent}.
*
* @author Graham
*/
public final class ThirdObjectActionEvent extends ObjectActionEvent {
/**
* Creates the third object action event.
*
* @param id The id.
* @param position The position.
*/
public ThirdObjectActionEvent(int id, Position position) {
super(3, id, position);
}
}
@@ -1,19 +0,0 @@
package org.apollo.game.event.impl;
/**
* The third {@link PlayerActionEvent}.
*
* @author Major
*/
public final class ThirdPlayerActionEvent extends PlayerActionEvent {
/**
* Creates a third player action event.
*
* @param playerIndex The index of the clicked player.
*/
public ThirdPlayerActionEvent(int playerIndex) {
super(3, playerIndex);
}
}
@@ -1,35 +0,0 @@
package org.apollo.game.event.impl;
import org.apollo.game.event.Event;
/**
* An {@link Event} sent to the client to update the remaining run energy value.
*
* @author Major
*/
public final class UpdateRunEnergyEvent extends Event {
/**
* The run energy.
*/
private final int energy;
/**
* Creates a new update run energy event.
*
* @param energy The energy.
*/
public UpdateRunEnergyEvent(int energy) {
this.energy = energy;
}
/**
* Gets the amount of run energy.
*
* @return The energy.
*/
public int getEnergy() {
return energy;
}
}
@@ -1,4 +0,0 @@
/**
* Contains event implementations.
*/
package org.apollo.game.event.impl;
@@ -1,4 +0,0 @@
/**
* Contains classes related to the event management in the game.
*/
package org.apollo.game.event;
+10
View File
@@ -0,0 +1,10 @@
package org.apollo.game.message;
/**
* A message sent by the client that can be intercepted.
*
* @author Graham
*/
public abstract class Message {
}
@@ -0,0 +1,23 @@
package org.apollo.game.message.handler;
import org.apollo.game.message.Message;
import org.apollo.game.model.entity.Player;
/**
* Handles messages received from the client.
*
* @author Graham
* @param <M> The type of message handled by this class.
*/
public abstract class MessageHandler<M extends Message> {
/**
* Handles a message.
*
* @param ctx The context.
* @param player The player.
* @param message The message.
*/
public abstract void handle(MessageHandlerContext ctx, Player player, M message);
}
@@ -0,0 +1,69 @@
package org.apollo.game.message.handler;
import org.apollo.game.message.Message;
import org.apollo.game.model.entity.Player;
/**
* A chain of message handlers.
*
* @author Graham
* @param <M> The type of message handled by this chain.
*/
public final class MessageHandlerChain<M extends Message> {
/**
* The handlers.
*/
private MessageHandler<M>[] handlers;
/**
* Creates the message handler chain.
*
* @param handlers The handlers.
*/
@SafeVarargs
public MessageHandlerChain(MessageHandler<M>... handlers) {
this.handlers = handlers;
}
/**
* Dynamically adds a message handler to the end of the chain.
*
* @param handler The handler.
*/
@SuppressWarnings("unchecked")
public void addLast(MessageHandler<M> handler) {
MessageHandler<M>[] old = handlers;
handlers = new MessageHandler[old.length + 1];
System.arraycopy(old, 0, handlers, 0, old.length);
handlers[old.length] = handler;
}
/**
* Handles the message, passing it down the chain until the chain is broken or the message reaches the end of the
* chain.
*
* @param player The player.
* @param message The message.
*/
public void handle(Player player, M message) {
final boolean[] running = new boolean[1];
running[0] = true;
MessageHandlerContext ctx = new MessageHandlerContext() {
@Override
public void breakHandlerChain() {
running[0] = false;
}
};
for (MessageHandler<M> handler : handlers) {
handler.handle(ctx, player, message);
if (!running[0]) {
break;
}
}
}
}
@@ -0,0 +1,50 @@
package org.apollo.game.message.handler;
import java.util.Map;
import org.apollo.game.message.Message;
/**
* A group of {@link MessageHandlerChain}s classified by the {@link Message} type.
*
* @author Graham
*/
public final class MessageHandlerChainGroup {
/**
* The map of message classes to message handler chains.
*/
private final Map<Class<? extends Message>, MessageHandlerChain<?>> chains;
/**
* Creates the message handler chain group.
*
* @param chains The chains map.
*/
public MessageHandlerChainGroup(Map<Class<? extends Message>, MessageHandlerChain<?>> chains) {
this.chains = chains;
}
/**
* Gets a {@link MessageHandlerChain} from this group.
*
* @param <M> The type of message.
* @param clazz The message class.
* @return The {@link MessageHandlerChain} if one was found, {@code null} otherwise.
*/
@SuppressWarnings("unchecked")
public <M extends Message> MessageHandlerChain<M> getChain(Class<M> clazz) {
return (MessageHandlerChain<M>) chains.get(clazz);
}
/**
* Registers a {@link MessageHandlerChain} associated with the specified {@link Class} to this group.
*
* @param clazz The message class.
* @param chain The message handler chain.
*/
public <M extends Message> void register(Class<M> clazz, MessageHandlerChain<M> chain) {
chains.put(clazz, chain);
}
}
@@ -0,0 +1,16 @@
package org.apollo.game.message.handler;
/**
* Provides operations specific to a {@link MessageHandler} in an {@link MessageHandlerChain}.
*
* @author Graham
*/
public abstract class MessageHandlerContext {
/**
* Breaks the handler chain.
*/
public abstract void breakHandlerChain();
}
@@ -0,0 +1,34 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ButtonMessage;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} that responds to {@link ButtonMessage}s for withdrawing items as notes.
*
* @author Graham
*/
public final class BankButtonMessageHandler extends MessageHandler<ButtonMessage> {
/**
* The withdraw as item button id.
*/
private static final int WITHDRAW_AS_ITEM = 5387;
/**
* The withdraw as note button id.
*/
private static final int WITHDRAW_AS_NOTE = 5386;
@Override
public void handle(MessageHandlerContext ctx, Player player, ButtonMessage message) {
if (message.getWidgetId() == WITHDRAW_AS_ITEM) {
player.setWithdrawingNotes(false);
} else if (message.getWidgetId() == WITHDRAW_AS_NOTE) {
player.setWithdrawingNotes(true);
}
}
}
@@ -0,0 +1,87 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ItemActionMessage;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
import org.apollo.game.model.inter.bank.BankDepositEnterAmountListener;
import org.apollo.game.model.inter.bank.BankUtils;
import org.apollo.game.model.inter.bank.BankWithdrawEnterAmountListener;
/**
* A {@link MessageHandler} that handles withdrawing and depositing items from/to a player's bank.
*
* @author Graham
*/
public final class BankMessageHandler extends MessageHandler<ItemActionMessage> {
/**
* Converts an option to an amount.
*
* @param option The option.
* @return The amount.
* @throws IllegalArgumentException If the option is invalid.
*/
private static final int optionToAmount(int option) {
switch (option) {
case 1:
return 1;
case 2:
return 5;
case 3:
return 10;
case 4:
return Integer.MAX_VALUE;
case 5:
return -1;
}
throw new IllegalArgumentException("Invalid option supplied.");
}
/**
* Handles a deposit action.
*
* @param ctx The message handler context.
* @param player The player.
* @param message The message.
*/
private void deposit(MessageHandlerContext ctx, Player player, ItemActionMessage message) {
int amount = optionToAmount(message.getOption());
if (amount == -1) {
player.getInterfaceSet().openEnterAmountDialogue(
new BankDepositEnterAmountListener(player, message.getSlot(), message.getId()));
} else if (!BankUtils.deposit(player, message.getSlot(), message.getId(), amount)) {
ctx.breakHandlerChain();
}
}
@Override
public void handle(MessageHandlerContext ctx, Player player, ItemActionMessage message) {
if (player.getInterfaceSet().contains(BankConstants.BANK_WINDOW_ID)) {
if (message.getInterfaceId() == BankConstants.SIDEBAR_INVENTORY_ID) {
deposit(ctx, player, message);
} else if (message.getInterfaceId() == BankConstants.BANK_INVENTORY_ID) {
withdraw(ctx, player, message);
}
}
}
/**
* Handles a withdraw action.
*
* @param ctx The message handler context.
* @param player The player.
* @param message The message.
*/
private void withdraw(MessageHandlerContext ctx, Player player, ItemActionMessage message) {
int amount = optionToAmount(message.getOption());
if (amount == -1) {
player.getInterfaceSet().openEnterAmountDialogue(
new BankWithdrawEnterAmountListener(player, message.getSlot(), message.getId()));
} else if (!BankUtils.withdraw(player, message.getSlot(), message.getId(), amount)) {
ctx.breakHandlerChain();
}
}
}
@@ -0,0 +1,21 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ChatMessage;
import org.apollo.game.model.entity.Player;
import org.apollo.game.sync.block.SynchronizationBlock;
/**
* A {@link MessageHandler} that broadcasts public chat messages.
*
* @author Graham
*/
public final class ChatMessageHandler extends MessageHandler<ChatMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, ChatMessage message) {
player.getBlockSet().add(SynchronizationBlock.createChatBlock(player, message));
}
}
@@ -0,0 +1,24 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ChatMessage;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} that verifies {@link ChatMessage}s.
*
* @author Graham
*/
public final class ChatVerificationHandler extends MessageHandler<ChatMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, ChatMessage message) {
int color = message.getTextColor();
int effects = message.getTextEffects();
if (color < 0 || color > 11 || effects < 0 || effects > 5) {
ctx.breakHandlerChain();
}
}
}
@@ -0,0 +1,20 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ClosedInterfaceMessage;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} for the {@link ClosedInterfaceMessage}.
*
* @author Graham
*/
public final class ClosedInterfaceMessageHandler extends MessageHandler<ClosedInterfaceMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, ClosedInterfaceMessage message) {
player.getInterfaceSet().interfaceClosed();
}
}
@@ -0,0 +1,29 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.command.Command;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.CommandMessage;
import org.apollo.game.model.World;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} that dispatches {@link CommandMessage}s.
*
* @author Graham
*/
public final class CommandMessageHandler extends MessageHandler<CommandMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, CommandMessage message) {
String[] components = message.getCommand().split(" ");
String name = components[0];
String[] arguments = new String[components.length - 1];
System.arraycopy(components, 1, arguments, 0, arguments.length);
Command command = new Command(name, arguments);
World.getWorld().getCommandDispatcher().dispatch(player, command);
}
}
@@ -0,0 +1,28 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ButtonMessage;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.InterfaceType;
/**
* A {@link MessageHandler} which intercepts button clicks on dialogues, and forwards the message to the current
* listener.
*
* @author Chris Fletcher
*/
public final class DialogueButtonHandler extends MessageHandler<ButtonMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, ButtonMessage message) {
if (player.getInterfaceSet().contains(InterfaceType.DIALOGUE)) {
boolean breakChain = player.getInterfaceSet().buttonClicked(message.getWidgetId());
if (breakChain) {
ctx.breakHandlerChain();
}
}
}
}
@@ -0,0 +1,23 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.DialogueContinueMessage;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.InterfaceType;
/**
* A {@link MessageHandler} for the {@link DialogueContinueMessage}.
*
* @author Chris Fletcher
*/
public final class DialogueContinueMessageHandler extends MessageHandler<DialogueContinueMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, DialogueContinueMessage message) {
if (player.getInterfaceSet().contains(InterfaceType.DIALOGUE)) {
player.getInterfaceSet().continueRequested();
}
}
}
@@ -0,0 +1,20 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.EnteredAmountMessage;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} for the {@link EnteredAmountMessage}.
*
* @author Graham
*/
public final class EnteredAmountMessageHandler extends MessageHandler<EnteredAmountMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, EnteredAmountMessage message) {
player.getInterfaceSet().enteredAmount(message.getAmount());
}
}
@@ -1,8 +1,8 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ItemOptionEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ItemOptionMessage;
import org.apollo.game.model.Item;
import org.apollo.game.model.def.EquipmentDefinition;
import org.apollo.game.model.entity.EquipmentConstants;
@@ -13,26 +13,26 @@ import org.apollo.game.model.inv.SynchronizationInventoryListener;
import org.apollo.util.LanguageUtil;
/**
* An {@link EventHandler} that equips items.
* A {@link MessageHandler} that equips items.
*
* @author Major
* @author Graham
*/
public final class EquipEventHandler extends EventHandler<ItemOptionEvent> {
public final class EquipItemHandler extends MessageHandler<ItemOptionMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, ItemOptionEvent event) {
if (event.getOption() != 2 || event.getInterfaceId() != SynchronizationInventoryListener.INVENTORY_ID) {
public void handle(MessageHandlerContext ctx, Player player, ItemOptionMessage message) {
if (message.getOption() != 2 || message.getInterfaceId() != SynchronizationInventoryListener.INVENTORY_ID) {
return;
}
int inventorySlot = event.getSlot();
int inventorySlot = message.getSlot();
Item equipping = player.getInventory().get(inventorySlot);
int equippingId = equipping.getId();
EquipmentDefinition definition = EquipmentDefinition.lookup(equippingId);
if (definition == null) {
// We don't break the chain here or any item option events won't work!
// We don't break the chain here or any item option messages won't work!
return;
}
@@ -1,8 +1,8 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ItemOnItemEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ItemOnItemMessage;
import org.apollo.game.model.Item;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
@@ -10,17 +10,17 @@ import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* An {@link EventHandler} that verifies the target item in {@link ItemOnItemEvent}s.
* A {@link MessageHandler} that verifies the target item in {@link ItemOnItemMessage}s.
*
* @author Chris Fletcher
*/
public final class ItemOnItemVerificationHandler extends EventHandler<ItemOnItemEvent> {
public final class ItemOnItemVerificationHandler extends MessageHandler<ItemOnItemMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, ItemOnItemEvent event) {
public void handle(MessageHandlerContext ctx, Player player, ItemOnItemMessage message) {
Inventory inventory;
switch (event.getInterfaceId()) {
switch (message.getInterfaceId()) {
case SynchronizationInventoryListener.INVENTORY_ID:
case BankConstants.SIDEBAR_INVENTORY_ID:
inventory = player.getInventory();
@@ -36,14 +36,14 @@ public final class ItemOnItemVerificationHandler extends EventHandler<ItemOnItem
return;
}
int slot = event.getTargetSlot();
int slot = message.getTargetSlot();
if (slot < 0 || slot >= inventory.capacity()) {
ctx.breakHandlerChain();
return;
}
Item item = inventory.get(slot);
if (item == null || item.getId() != event.getTargetId()) {
if (item == null || item.getId() != message.getTargetId()) {
ctx.breakHandlerChain();
}
}
@@ -0,0 +1,42 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ItemOnObjectMessage;
import org.apollo.game.model.Item;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* A {@link MessageHandler} that verifies {@link ItemOnObjectMessage}s.
*
* @author Major
*/
public final class ItemOnObjectVerificationHandler extends MessageHandler<ItemOnObjectMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, ItemOnObjectMessage message) {
if (message.getInterfaceId() != SynchronizationInventoryListener.INVENTORY_ID
&& message.getInterfaceId() != BankConstants.SIDEBAR_INVENTORY_ID) {
ctx.breakHandlerChain();
return;
}
Inventory inventory = player.getInventory();
int slot = message.getSlot();
if (slot < 0 || slot >= inventory.capacity()) {
ctx.breakHandlerChain();
return;
}
Item item = inventory.get(slot);
if (item == null || item.getId() != message.getId()) {
ctx.breakHandlerChain();
return;
}
}
}
@@ -1,8 +1,8 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.InventoryItemEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.InventoryItemMessage;
import org.apollo.game.model.Item;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
@@ -10,17 +10,17 @@ import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* An {@link EventHandler} that verifies {@link InventoryItemEvent}s.
* A {@link MessageHandler} that verifies {@link InventoryItemMessage}s.
*
* @author Chris Fletcher
*/
public final class ItemVerificationHandler extends EventHandler<InventoryItemEvent> {
public final class ItemVerificationHandler extends MessageHandler<InventoryItemMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, InventoryItemEvent event) {
public void handle(MessageHandlerContext ctx, Player player, InventoryItemMessage message) {
Inventory inventory;
switch (event.getInterfaceId()) {
switch (message.getInterfaceId()) {
case SynchronizationInventoryListener.INVENTORY_ID:
case BankConstants.SIDEBAR_INVENTORY_ID:
inventory = player.getInventory();
@@ -36,14 +36,14 @@ public final class ItemVerificationHandler extends EventHandler<InventoryItemEve
return;
}
int slot = event.getSlot();
int slot = message.getSlot();
if (slot < 0 || slot >= inventory.capacity()) {
ctx.breakHandlerChain();
return;
}
Item item = inventory.get(slot);
if (item == null || item.getId() != event.getId()) {
if (item == null || item.getId() != message.getId()) {
ctx.breakHandlerChain();
}
}
@@ -1,25 +1,25 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.NpcActionEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.NpcActionMessage;
import org.apollo.game.model.World;
import org.apollo.game.model.entity.Npc;
import org.apollo.game.model.entity.Player;
import org.apollo.util.MobRepository;
/**
* A verification {@link EventHandler} for the {@link NpcActionEvent}.
* A verification {@link MessageHandler} for the {@link NpcActionMessage}.
*
* @author Stuart
* @author Major
*/
public final class NpcActionVerificationHandler extends EventHandler<NpcActionEvent> {
public final class NpcActionVerificationHandler extends MessageHandler<NpcActionMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, NpcActionEvent event) {
public void handle(MessageHandlerContext ctx, Player player, NpcActionMessage message) {
MobRepository<Npc> repository = World.getWorld().getNpcRepository();
int index = event.getIndex();
int index = message.getIndex();
if (index < 0 || index >= repository.capacity()) {
ctx.breakHandlerChain();
@@ -33,7 +33,7 @@ public final class NpcActionVerificationHandler extends EventHandler<NpcActionEv
return;
}
if (event.getOption() >= npc.getDefinition().getInteractions().length) {
if (message.getOption() >= npc.getDefinition().getInteractions().length) {
ctx.breakHandlerChain();
return;
}
@@ -1,10 +1,10 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import java.util.List;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ObjectActionEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ObjectActionMessage;
import org.apollo.game.model.Position;
import org.apollo.game.model.World;
import org.apollo.game.model.area.Sector;
@@ -14,21 +14,21 @@ import org.apollo.game.model.entity.GameObject;
import org.apollo.game.model.entity.Player;
/**
* A verification {@link EventHandler} for the {@link ObjectActionEvent}.
* A verification {@link MessageHandler} for the {@link ObjectActionMessage}.
*
* @author Major
*/
public final class ObjectActionVerificationHandler extends EventHandler<ObjectActionEvent> {
public final class ObjectActionVerificationHandler extends MessageHandler<ObjectActionMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, ObjectActionEvent event) {
int id = event.getId();
public void handle(MessageHandlerContext ctx, Player player, ObjectActionMessage message) {
int id = message.getId();
if (id < 0 || id >= ObjectDefinition.count()) {
ctx.breakHandlerChain();
return;
}
Position position = event.getPosition();
Position position = message.getPosition();
Sector sector = World.getWorld().getSectorRepository().fromPosition(position);
List<GameObject> objects = sector.getEntities(position, EntityType.GAME_OBJECT);
@@ -43,7 +43,7 @@ public final class ObjectActionVerificationHandler extends EventHandler<ObjectAc
}
// TODO is this right?
if (event.getOption() >= ObjectDefinition.lookup(id).getMenuActions().length) {
if (message.getOption() >= ObjectDefinition.lookup(id).getMenuActions().length) {
ctx.breakHandlerChain();
return;
}
@@ -0,0 +1,23 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.CloseInterfaceMessage;
import org.apollo.game.message.impl.PlayerDesignMessage;
import org.apollo.game.model.entity.Player;
/**
* A {@link MessageHandler} that handles {@link PlayerDesignMessage}s.
*
* @author Graham
*/
public final class PlayerDesignMessageHandler extends MessageHandler<PlayerDesignMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, PlayerDesignMessage message) {
player.setAppearance(message.getAppearance());
player.setNew(true);
player.send(new CloseInterfaceMessage());
}
}
@@ -1,22 +1,22 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.PlayerDesignEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.PlayerDesignMessage;
import org.apollo.game.model.Appearance;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.setting.Gender;
/**
* An {@link EventHandler} that verifies {@link PlayerDesignEvent}s.
* A {@link MessageHandler} that verifies {@link PlayerDesignMessage}s.
*
* @author Graham
*/
public final class PlayerDesignVerificationHandler extends EventHandler<PlayerDesignEvent> {
public final class PlayerDesignVerificationHandler extends MessageHandler<PlayerDesignMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, PlayerDesignEvent event) {
if (!valid(event.getAppearance())) {
public void handle(MessageHandlerContext ctx, Player player, PlayerDesignMessage message) {
if (!valid(message.getAppearance())) {
ctx.breakHandlerChain();
}
}
@@ -1,28 +1,28 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.ItemActionEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.ItemActionMessage;
import org.apollo.game.model.Item;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* An {@link EventHandler} that removes equipped items.
* A {@link MessageHandler} that removes equipped items.
*
* @author Graham
* @author Major
*/
public final class RemoveEventHandler extends EventHandler<ItemActionEvent> {
public final class RemoveEquippedItemHandler extends MessageHandler<ItemActionMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, ItemActionEvent event) {
if (event.getOption() == 1 && event.getInterfaceId() == SynchronizationInventoryListener.EQUIPMENT_ID) {
public void handle(MessageHandlerContext ctx, Player player, ItemActionMessage message) {
if (message.getOption() == 1 && message.getInterfaceId() == SynchronizationInventoryListener.EQUIPMENT_ID) {
Inventory inventory = player.getInventory();
Inventory equipment = player.getEquipment();
int slot = event.getSlot();
int slot = message.getSlot();
Item item = equipment.get(slot);
int id = item.getId();
@@ -1,27 +1,27 @@
package org.apollo.game.event.handler.impl;
package org.apollo.game.message.handler.impl;
import org.apollo.game.event.handler.EventHandler;
import org.apollo.game.event.handler.EventHandlerContext;
import org.apollo.game.event.impl.SwitchItemEvent;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.SwitchItemMessage;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.bank.BankConstants;
import org.apollo.game.model.inv.Inventory;
import org.apollo.game.model.inv.SynchronizationInventoryListener;
/**
* An {@link EventHandler} which updates an {@link Inventory} when the client sends a {@link SwitchItemEvent} to the
* A {@link MessageHandler} which updates an {@link Inventory} when the client sends a {@link SwitchItemMessage} to the
* server.
*
* @author Graham
*/
public final class SwitchItemEventHandler extends EventHandler<SwitchItemEvent> {
public final class SwitchItemMessageHandler extends MessageHandler<SwitchItemMessage> {
@Override
public void handle(EventHandlerContext ctx, Player player, SwitchItemEvent event) {
public void handle(MessageHandlerContext ctx, Player player, SwitchItemMessage message) {
Inventory inventory;
boolean insertPermitted = false;
switch (event.getInterfaceId()) {
switch (message.getInterfaceId()) {
case SynchronizationInventoryListener.INVENTORY_ID:
case BankConstants.SIDEBAR_INVENTORY_ID:
inventory = player.getInventory();
@@ -37,10 +37,10 @@ public final class SwitchItemEventHandler extends EventHandler<SwitchItemEvent>
return; // not a known inventory, ignore
}
if (event.getOldSlot() >= 0 && event.getNewSlot() >= 0 && event.getOldSlot() < inventory.capacity()
&& event.getNewSlot() < inventory.capacity()) {
if (message.getOldSlot() >= 0 && message.getNewSlot() >= 0 && message.getOldSlot() < inventory.capacity()
&& message.getNewSlot() < inventory.capacity()) {
// events must be fired for it to work if a sidebar inventory overlay is used
inventory.swap(insertPermitted ? event.isInserting() : false, event.getOldSlot(), event.getNewSlot());
inventory.swap(insertPermitted && message.isInserting(), message.getOldSlot(), message.getNewSlot());
}
}
@@ -0,0 +1,41 @@
package org.apollo.game.message.handler.impl;
import org.apollo.game.message.handler.MessageHandler;
import org.apollo.game.message.handler.MessageHandlerContext;
import org.apollo.game.message.impl.WalkMessage;
import org.apollo.game.model.Position;
import org.apollo.game.model.entity.Player;
import org.apollo.game.model.entity.WalkingQueue;
/**
* A {@link MessageHandler} that handles {@link WalkMessage}s.
*
* @author Graham
*/
public final class WalkMessageHandler extends MessageHandler<WalkMessage> {
@Override
public void handle(MessageHandlerContext ctx, Player player, WalkMessage message) {
WalkingQueue queue = player.getWalkingQueue();
Position[] steps = message.getSteps();
for (int i = 0; i < steps.length; i++) {
Position step = steps[i];
if (i == 0) {
if (!queue.addFirstStep(step)) {
return; // ignore packet
}
} else {
queue.addStep(step);
}
}
queue.setRunningQueue(message.isRunning() || player.isRunning());
if (queue.size() > 0) {
player.stopAction();
}
player.getInterfaceSet().close();
}
}
@@ -0,0 +1,4 @@
/**
* Contains message handler implementations.
*/
package org.apollo.game.message.handler.impl;
@@ -0,0 +1,4 @@
/**
* Contains the base classes for message handling.
*/
package org.apollo.game.message.handler;
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client when a player adds someone to their friends list.
* A {@link Message} sent by the client when a player adds someone to their friends list.
*
* @author Major
*/
public final class AddFriendEvent extends Event {
public final class AddFriendMessage extends Message {
/**
* The username of the befriended player.
@@ -15,11 +15,11 @@ public final class AddFriendEvent extends Event {
private final String username;
/**
* Creates a new befriend user event.
* Creates a new befriend user message.
*
* @param username The befriended player's username.
*/
public AddFriendEvent(String username) {
public AddFriendMessage(String username) {
this.username = username;
}
@@ -1,9 +1,9 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
import org.apollo.game.model.Item;
public final class AddGlobalTileItemEvent extends Event {
public final class AddGlobalTileItemMessage extends Message {
/**
* The item to add to the tile.
@@ -21,23 +21,23 @@ public final class AddGlobalTileItemEvent extends Event {
private final int index;
/**
* Creates the add global tile item event.
* Creates the add global tile item message.
*
* @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) {
public AddGlobalTileItemMessage(Item item, int index) {
this(item, index, 0);
}
/**
* Creates the add global tile item event.
* Creates the add global tile item message.
*
* @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) {
public AddGlobalTileItemMessage(Item item, int index, int positionOffset) {
this.item = item;
this.index = index;
this.positionOffset = positionOffset;
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client when a player adds someone to their ignore list.
* A {@link Message} sent by the client when a player adds someone to their ignore list.
*
* @author Major
*/
public final class AddIgnoreEvent extends Event {
public final class AddIgnoreMessage extends Message {
/**
* The username of the ignored player.
@@ -15,11 +15,11 @@ public final class AddIgnoreEvent extends Event {
private final String username;
/**
* Creates a new ignore player event.
* Creates a new ignore player message.
*
* @param username The ignored player's username.
*/
public AddIgnoreEvent(String username) {
public AddIgnoreMessage(String username) {
this.username = username;
}
@@ -1,14 +1,14 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
import org.apollo.game.model.Item;
/**
* An {@link Event} sent to the client that adds an item to a tile.
* A {@link Message} sent to the client that adds an item to a tile.
*
* @author Major
*/
public final class AddTileItemEvent extends Event {
public final class AddTileItemMessage extends Message {
/**
* The item to add to the tile.
@@ -21,21 +21,21 @@ public final class AddTileItemEvent extends Event {
private final int positionOffset;
/**
* Creates an add tile item event.
* Creates an add tile item message.
*
* @param item The item to add to the tile.
*/
public AddTileItemEvent(Item item) {
public AddTileItemMessage(Item item) {
this(item, 0);
}
/**
* Creates an add tile item event.
* Creates an add tile item message.
*
* @param item The item to add to the tile.
* @param positionOffset The offset from the 'base' position.
*/
public AddTileItemEvent(Item item, int positionOffset) {
public AddTileItemMessage(Item item, int positionOffset) {
this.item = item;
this.positionOffset = positionOffset;
}
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client when the user has pressed an arrow key.
* A {@link Message} sent by the client when the user has pressed an arrow key.
*
* @author Major
*/
public final class ArrowKeyEvent extends Event {
public final class ArrowKeyMessage extends Message {
/**
* The camera roll.
@@ -20,9 +20,9 @@ public final class ArrowKeyEvent extends Event {
private final int yaw;
/**
* Creates a new arrow key event.
* Creates a new arrow key message.
*/
public ArrowKeyEvent(int roll, int yaw) {
public ArrowKeyMessage(int roll, int yaw) {
this.roll = roll;
this.yaw = yaw;
}
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client when a player clicks a button.
* A {@link Message} sent by the client when a player clicks a button.
*
* @author Graham
*/
public final class ButtonEvent extends Event {
public final class ButtonMessage extends Message {
/**
* The widget id.
@@ -15,11 +15,11 @@ public final class ButtonEvent extends Event {
private final int widgetId;
/**
* Creates the button event.
* Creates the button message.
*
* @param widgetId The widget id.
*/
public ButtonEvent(int widgetId) {
public ButtonMessage(int widgetId) {
this.widgetId = widgetId;
}
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client to send a public chat message to other players.
* A {@link Message} sent by the client to send a public chat message to other players.
*
* @author Graham
*/
public final class ChatEvent extends Event {
public final class ChatMessage extends Message {
/**
* The text color.
@@ -30,14 +30,14 @@ public final class ChatEvent extends Event {
private final String message;
/**
* Creates a new chat event.
* Creates a new chat message.
*
* @param message The message.
* @param compressedMessage The compressed message.
* @param color The text color.
* @param effects The text effects.
*/
public ChatEvent(String message, byte[] compressedMessage, int color, int effects) {
public ChatMessage(String message, byte[] compressedMessage, int color, int effects) {
this.message = message;
this.compressedMessage = compressedMessage;
this.color = color;
@@ -0,0 +1,12 @@
package org.apollo.game.message.impl;
import org.apollo.game.message.Message;
/**
* A {@link Message} sent to the client that closes the open interface.
*
* @author Graham
*/
public final class CloseInterfaceMessage extends Message {
}
@@ -0,0 +1,12 @@
package org.apollo.game.message.impl;
import org.apollo.game.message.Message;
/**
* A {@link Message} sent by the client when the current interface is closed.
*
* @author Graham
*/
public final class ClosedInterfaceMessage extends Message {
}
@@ -1,13 +1,13 @@
package org.apollo.game.event.impl;
package org.apollo.game.message.impl;
import org.apollo.game.event.Event;
import org.apollo.game.message.Message;
/**
* An {@link Event} sent by the client to send a {@code ::} command.
* A {@link Message} sent by the client to send a {@code ::} command.
*
* @author Graham
*/
public final class CommandEvent extends Event {
public final class CommandMessage extends Message {
/**
* The command.
@@ -15,11 +15,11 @@ public final class CommandEvent extends Event {
private final String command;
/**
* Creates the command event.
* Creates the command message.
*
* @param command The command.
*/
public CommandEvent(String command) {
public CommandMessage(String command) {
this.command = command;
}

Some files were not shown because too many files have changed in this diff Show More