package ring.intermud3;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import ring.players.PlayerCharacter;
import ring.server.MUDConnectionManager;
import com.aelfengard.i3.ErrorCallback;
import com.aelfengard.i3.I3EventListener;
import com.aelfengard.i3.LPCMixed;
import com.aelfengard.i3.packet.EmoteToPacket;
import com.aelfengard.i3.packet.ErrorPacket;
import com.aelfengard.i3.packet.TellPacket;
class I3SystemEventListener implements I3EventListener {
/**
* Respond to who requests.
*/
public List<LPCMixed> whoRequest() {
List<PlayerCharacter> players = MUDConnectionManager.getCurrentCharacters();
List<LPCMixed> myInfo = new ArrayList<LPCMixed>();
for (PlayerCharacter p : players) {
myInfo.add(new LPCMixed(p.getPlayer().getName()));
myInfo.add(new LPCMixed(-1));
myInfo.add(new LPCMixed(p.getBaseModel().getName()));
}
return Arrays.asList(new LPCMixed[] { new LPCMixed(myInfo) });
}
/**
* Log error messages.
*/
public void i3Error(ErrorPacket packet) {
System.out.println("I3 ERROR: [" + packet.getErrorCode() + "] " + packet.getErrorMessage());
}
public void tell(TellPacket packet, ErrorCallback callback) {
}
public void tellFailed(LPCMixed username, LPCMixed targetMudName, LPCMixed targetUsername, LPCMixed errorMessage) {
}
public void whoReply(LPCMixed targetUsername, LPCMixed originatorMudName, List<LPCMixed> whoInfo) {
}
public void whoFailed(LPCMixed targetUsername, LPCMixed targetMudName, LPCMixed errorMessage) {
}
public void emoteTo(EmoteToPacket packet, ErrorCallback callback) {
}
}