23 package com.realtime.crossfire.jxclient.server.crossfire;
29 import java.nio.ByteBuffer;
30 import java.nio.charset.Charset;
31 import java.nio.charset.StandardCharsets;
32 import java.util.Iterator;
33 import org.jetbrains.annotations.NotNull;
47 protected static final Charset
UTF8 = StandardCharsets.UTF_8;
280 crossfireAccountListener.manageAccount();
286 crossfireAccountListener.startAccountList(accountName);
292 crossfireAccountListener.addAccount(characterInformation);
298 crossfireAccountListener.endAccountList(count);
304 crossfireAccountListener.startPlaying();
310 listener.commandComcReceived(packetNo, time);
316 crossfireUpdateItemListener.delinvReceived(tag);
322 crossfireUpdateItemListener.delitemReceived(tags);
326 protected void fireFaceReceived(
final int faceNum,
final int faceSetNum,
final int faceChecksum, @NotNull
final String faceName) {
330 protected void fireFailure(@NotNull
final String command, @NotNull
final String arguments) {
332 crossfireFailureListener.failure(command, arguments);
342 crossfireFailureListener.clearFailure();
346 protected void fireAddItemReceived(
final int location,
final int tag,
final int flags,
final int weight,
final int faceNum,
final String name,
final String namePl,
final int anim,
final int animSpeed,
final int nrof,
final int type) {
348 crossfireUpdateItemListener.addItemReceived(location, tag, flags, weight, faceNum, name, namePl, anim, animSpeed, nrof, type);
354 listener.commandMagicmapReceived();
360 listener.commandMusicReceived(music);
366 crossfirePickupListener.pickupChanged(pickupOptions);
370 protected void firePlayerReceived(
final int tag,
final int weight,
final int faceNum, @NotNull
final String name) {
372 crossfireUpdateItemListener.playerReceived(tag, weight, faceNum, name);
378 listener.commandQueryReceived(prompt, queryType);
384 listener.commandSoundReceived(x, y, num, type);
388 protected void fireCommandSound2Received(
final int x,
final int y,
final int dir,
final int volume,
final int type, @NotNull
final String action, @NotNull
final String name) {
390 listener.commandSound2Received(x, y, dir, volume, type, action, name);
396 listener.tick(tickNo);
400 protected void fireUpditemReceived(
final int flags,
final int tag,
final int valLocation,
final int valFlags,
final int valWeight,
final int valFaceNum, @NotNull
final String valName, @NotNull
final String valNamePl,
final int valAnim,
final int valAnimSpeed,
final int valNrof) {
402 crossfireUpdateItemListener.upditemReceived(flags, tag, valLocation, valFlags, valWeight, valFaceNum, valName, valNamePl, valAnim, valAnimSpeed, valNrof);
407 public void drawInfo(@NotNull
final String message,
final int color) {
409 listener.commandDrawinfoReceived(message, color);
414 public void drawextinfo(
final int color,
final int type,
final int subtype, @NotNull
final String message) {
416 listener.commandDrawextinfoReceived(color, type, subtype, message);
423 listener.setDebugMode(printMessageTypes);
434 sentPacketListener.markSent(tag);
444 sentPacketListener.replySent();
456 if (listeners.hasNext()) {
457 while (listeners.hasNext()) {
458 listeners.next().process(command, args);
471 protected static String
newString(@NotNull
final ByteBuffer byteBuffer,
final int start,
final int len) {
472 final byte[] tmp =
new byte[len];
473 for (
int i = 0; i < len; i++) {
474 tmp[i] = byteBuffer.get(
start+i);
476 return new String(tmp,
UTF8);
479 protected void fireSelectCharacter(@NotNull
final String accountName, @NotNull
final String characterName) {
484 crossfireAccountListener.selectCharacter(accountName, characterName);