Code:
package com.net.packet.impl;
import java.util.Objects;
import com.Server;
import com.net.packet.PacketType;
import com.fallenos.model.content.multiplayer.MultiplayerSessionFinalizeType;
import com.fallenos.model.content.multiplayer.MultiplayerSessionStage;
import com.fallenos.model.content.multiplayer.MultiplayerSessionType;
import com.fallenos.model.content.multiplayer.duel.DuelSession;
import com.fallenos.model.player.Client;
/**
* Move Items
**/
public class MoveItems implements PacketType {
@Override
public void processPacket(Client c, int packetType, int packetSize) {
int interfaceId = c.getInStream().readUnsignedWordBigEndianA();
boolean insertMode = c.getInStream().readSignedByteC() == 1;
int from = c.getInStream().readUnsignedWordBigEndianA();
int to = c.getInStream().readUnsignedWordBigEndian();
if (Server.getMultiplayerSessionListener().inSession(c, MultiplayerSessionType.TRADE)) {
Server.getMultiplayerSessionListener().finish(c, MultiplayerSessionFinalizeType.WITHDRAW_ITEMS);
c.sendMessage("You cannot move items whilst trading.");
return;
}
DuelSession duelSession = (DuelSession) Server.getMultiplayerSessionListener().getMultiplayerSession(c,
MultiplayerSessionType.DUEL);
if (Objects.nonNull(duelSession) && duelSession.getStage().getStage() > MultiplayerSessionStage.REQUEST
&& duelSession.getStage().getStage() < MultiplayerSessionStage.FURTHER_INTERACTION) {
c.sendMessage("You cannot move items right now.");
return;
}
c.getItems().moveItems(from, to, interfaceId, insertMode);
}
}