package javastory.server.handling;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public enum ServerPacketOpcode implements WritableIntValueHolder {
PING,
LOGIN_STATUS,
PIN_OPERATION,
SECONDPW_ERROR,
SERVERLIST,
SERVERSTATUS,
SERVER_IP,
CHARLIST,
CHAR_NAME_RESPONSE,
RELOG_RESPONSE,
ADD_NEW_CHAR_ENTRY,
DELETE_CHAR_RESPONSE,
CHANNEL_SELECTED,
ALL_CHARLIST,
CHANGE_CHANNEL,
UPDATE_STATS,
FAME_RESPONSE,
UPDATE_SKILLS,
WARP_TO_MAP,
SERVERMESSAGE,
AVATAR_MEGA,
SPAWN_NPC,
REMOVE_NPC,
SPAWN_NPC_REQUEST_CONTROLLER,
SPAWN_MONSTER,
SPAWN_MONSTER_CONTROL,
MOVE_MONSTER_RESPONSE,
CHATTEXT,
SHOW_STATUS_INFO,
SHOW_MESO_GAIN,
SHOW_QUEST_COMPLETION,
WHISPER,
SPAWN_PLAYER,
ANNOUNCE_PLAYER_SHOP,
SHOW_SCROLL_EFFECT,
SHOW_ITEM_GAIN_INCHAT,
CURRENT_MAP_WARP,
KILL_MONSTER,
DROP_ITEM_FROM_MAPOBJECT,
FACIAL_EXPRESSION,
MOVE_PLAYER,
MOVE_MONSTER,
CLOSE_RANGE_ATTACK,
RANGED_ATTACK,
MAGIC_ATTACK,
OPEN_NPC_SHOP,
CONFIRM_SHOP_TRANSACTION,
OPEN_STORAGE,
MODIFY_INVENTORY_ITEM,
REMOVE_PLAYER_FROM_MAP,
REMOVE_ITEM_FROM_MAP,
UPDATE_CHAR_LOOK,
SHOW_FOREIGN_EFFECT,
GIVE_FOREIGN_BUFF,
CANCEL_FOREIGN_BUFF,
DAMAGE_PLAYER,
CHAR_INFO,
UPDATE_QUEST_INFO,
GIVE_BUFF,
CANCEL_BUFF,
PLAYER_INTERACTION,
UPDATE_CHAR_BOX,
NPC_TALK,
KEYMAP,
SHOW_MONSTER_HP,
PARTY_OPERATION,
UPDATE_PARTYMEMBER_HP,
MULTICHAT,
APPLY_MONSTER_STATUS,
CANCEL_MONSTER_STATUS,
CLOCK,
SPAWN_PORTAL,
SPAWN_DOOR,
REMOVE_DOOR,
SPAWN_SUMMON,
REMOVE_SUMMON,
SUMMON_ATTACK,
MOVE_SUMMON,
SPAWN_MIST,
REMOVE_MIST,
DAMAGE_SUMMON,
DAMAGE_MONSTER,
BUDDYLIST,
SHOW_ITEM_EFFECT,
SHOW_CHAIR,
CANCEL_CHAIR,
SKILL_EFFECT,
CANCEL_SKILL_EFFECT,
BOSS_ENV,
REACTOR_SPAWN,
REACTOR_HIT,
REACTOR_DESTROY,
MAP_EFFECT,
GUILD_OPERATION,
ALLIANCE_OPERATION,
BBS_OPERATION,
FAMILY,
EARN_TITLE_MSG,
SHOW_MAGNET,
MERCH_ITEM_MSG,
MERCH_ITEM_STORE,
MESSENGER,
NPC_ACTION,
SPAWN_PET,
MOVE_PET,
PET_CHAT,
PET_COMMAND,
PET_NAMECHANGE,
COOLDOWN,
PLAYER_HINT,
SUMMON_HINT,
SUMMON_HINT_MSG,
CYGNUS_INTRO_DISABLE_UI,
CYGNUS_INTRO_LOCK,
USE_SKILL_BOOK,
FINISH_SORT,
FINISH_GATHER,
SHOW_EQUIP_EFFECT,
SKILL_MACRO,
CS_OPEN,
CS_UPDATE,
CS_OPERATION,
MTS_OPEN,
PLAYER_NPC,
SHOW_NOTES,
SUMMON_SKILL,
ARIANT_PQ_START,
CATCH_MONSTER,
ARIANT_SCOREBOARD,
ZAKUM_SHRINE,
BOAT_EFFECT,
CHALKBOARD,
DUEY,
ENABLE_TV,
REMOVE_TV,
SEND_TV,
TROCK_LOCATIONS,
MONSTER_CARNIVAL_START,
MONSTER_CARNIVAL_OBTAINED_CP,
MONSTER_CARNIVAL_PARTY_CP,
MONSTER_CARNIVAL_SUMMON,
MONSTER_CARNIVAL_DIED,
SPAWN_HIRED_MERCHANT,
UPDATE_HIRED_MERCHANT,
SEND_TITLE_BOX,
DESTROY_HIRED_MERCHANT,
UPDATE_MOUNT,
MONSTERBOOK_ADD,
MONSTERBOOK_CHANGE_COVER,
FAIRY_PEND_MSG,
VICIOUS_HAMMER,
FISHING_BOARD_UPDATE,
FISHING_CAUGHT,
ENERGY,
DRAGON_MOVE,
DRAGON_REMOVE,
DRAGON_SPAWN,
ARAN_COMBO;
private int code = -2;
@Override
public void setValue(final int code) {
this.code = code;
}
@Override
public int getValue() {
return this.code;
}
public static Properties getDefaultProperties() throws FileNotFoundException, IOException {
final Properties props = new Properties();
final FileInputStream fileInputStream = new FileInputStream("serveropcodes.properties");
props.load(fileInputStream);
fileInputStream.close();
return props;
}
static {
reloadValues();
}
public static final void reloadValues() {
try {
ExternalCodeTableGetter.populateValues(getDefaultProperties(), values());
} catch (final IOException e) {
throw new RuntimeException("Failed to load server op codes", e);
}
}
}