package com.asteria.net.message.impl;
import com.asteria.game.World;
import com.asteria.game.character.player.Player;
import com.asteria.game.item.Item;
import com.asteria.game.plugin.context.ItemOnItemPlugin;
import com.asteria.net.ValueType;
import com.asteria.net.message.InputMessageListener;
import com.asteria.net.message.MessageBuilder;
/**
* The message sent from the client when a player uses an item on another item.
*
* @author lare96 <http://github.com/lare96>
*/
public final class ItemOnItemMessage implements InputMessageListener {
@Override
public void handleMessage(Player player, int opcode, int size, MessageBuilder payload) {
if (player.isDisabled())
return;
int secondSlot = payload.getShort();
int firstSlot = payload.getShort(ValueType.A);
payload.getShort();
payload.getShort();
Item itemUsed = player.getInventory().get(firstSlot);
Item itemOn = player.getInventory().get(secondSlot);
if (secondSlot < 0 || firstSlot < 0 || itemUsed == null || itemOn == null)
return;
World.getPlugins().execute(player, ItemOnItemPlugin.class, new ItemOnItemPlugin(itemUsed, itemOn));
}
}