Class PacketHelper
java.lang.Object
tools.packet.PacketHelper
跨封包建構器共用的序列化輔助工具集。
本類別提供大量靜態序列化方法,供 tools.packet 套件中各封包建構器複用,
避免重複組裝邏輯,包括:
- 時間戳換算:
getTime/getKoreanTimestamp將 Unix 毫秒轉為客戶端 Windows FILETIME(100 ns 單位),並定義MAX_TIME、ZERO_TIME、PERMANENT等常數。 - 角色完整資訊序列化:
addCharacterInfo寫入外觀、能力值、技能、任務、 冷卻、Buff、寵物等所有子區段,供登入 / 頻道切換封包使用。 - 子區段序列化:
addCharLook、addCharStats、addSkillInfo、addQuestInfo、addCoolDownInfo、addPetItemInfo等各對應角色資料結構的獨立寫入方法。 - 商店 / 迷你遊戲:
addAnnounceBox、addShopInfo(MapleShop)。 - 移動序列:
serializeMovementList序列化LifeMovementFragment列表。
組裝寫入目標為 MaplePacketLittleEndianWriter;
讀取道具資訊來自 MapleItemInformationProvider。
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longstatic final longstatic final longstatic final long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic final voidstatic final voidstatic final voidaddCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacterLook chr, boolean mega) static final voidaddCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacterLook chr, boolean mega, boolean isChannelServer) static final voidaddCharStats(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static voidstatic final voidstatic voidaddCoreAura(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static final voidaddExpirationTime(MaplePacketLittleEndianWriter mplew, long time) static voidaddHonorInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static final voidaddInteraction(MaplePacketLittleEndianWriter mplew, IMaplePlayerShop shop) static voidstatic final voidaddItemInfo(MaplePacketLittleEndianWriter mplew, Item item) static final voidaddItemInfo(MaplePacketLittleEndianWriter mplew, Item item, MapleCharacter chr) static voidaddItemPosition(MaplePacketLittleEndianWriter mplew, Item item, boolean trade, boolean bagSlot) static final voidaddJaguarInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static final voidstatic voidaddPartTimeJob(MaplePacketLittleEndianWriter mplew, PartTimeJob parttime) static final voidaddPetItemInfo(MaplePacketLittleEndianWriter mplew, Item item, MaplePet pet, boolean active) static voidaddQuestInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static voidstatic final voidaddRingInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static final voidaddRocksInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static final voidaddShopInfo(MaplePacketLittleEndianWriter mplew, MapleShop shop, MapleClient c) static final voidaddShopItemInfo(MaplePacketLittleEndianWriter mplew, MapleShopItem item, MapleShop shop, MapleItemInformationProvider ii, Item i, MapleCharacter chr) static final voidaddSkillInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) static voidstatic voidaddStolenSkills(MaplePacketLittleEndianWriter mplew, MapleCharacter chr, int jobNum, boolean writeJob) static longgetFileTimestamp(long timeStampinMillis, boolean roundToMinutes) static final longgetKoreanTimestamp(long realTimestamp) static final longgetTime(long realTimestamp) static final voidstatic <E extends Buffstat>
voidwriteBuffMask(MaplePacketLittleEndianWriter mplew, Collection<Pair<E, Integer>> statups) static <E extends Buffstat>
voidwriteBuffMask(MaplePacketLittleEndianWriter mplew, Map<E, Integer> statups) static <E extends Buffstat>
voidwriteMask(MaplePacketLittleEndianWriter mplew, Collection<E> statups) static <E extends Buffstat>
voidwriteSingleMask(MaplePacketLittleEndianWriter mplew, E statup)
-
Field Details
-
FT_UT_OFFSET
public static final long FT_UT_OFFSET- See Also:
-
MAX_TIME
public static final long MAX_TIME- See Also:
-
ZERO_TIME
public static final long ZERO_TIME- See Also:
-
PERMANENT
public static final long PERMANENT- See Also:
-
-
Constructor Details
-
PacketHelper
public PacketHelper()
-
-
Method Details
-
getKoreanTimestamp
public static final long getKoreanTimestamp(long realTimestamp) -
getTime
public static final long getTime(long realTimestamp) -
getFileTimestamp
public static long getFileTimestamp(long timeStampinMillis, boolean roundToMinutes) -
addQuestInfo
-
addSkillInfo
-
addCoolDownInfo
-
addRocksInfo
-
addRingInfo
-
addInventoryInfo
-
addCharStats
-
addCharLook
public static final void addCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacterLook chr, boolean mega) -
addCharLook
public static final void addCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacterLook chr, boolean mega, boolean isChannelServer) -
addExpirationTime
-
addItemPosition
public static void addItemPosition(MaplePacketLittleEndianWriter mplew, Item item, boolean trade, boolean bagSlot) -
addItemInfo
-
addItemInfo
public static final void addItemInfo(MaplePacketLittleEndianWriter mplew, Item item, MapleCharacter chr) -
serializeMovementList
public static final void serializeMovementList(MaplePacketLittleEndianWriter lew, List<LifeMovementFragment> moves) -
addAnnounceBox
-
addInteraction
-
addCharacterInfo
-
addMonsterBookInfo
public static final void addMonsterBookInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) -
addPetItemInfo
public static final void addPetItemInfo(MaplePacketLittleEndianWriter mplew, Item item, MaplePet pet, boolean active) -
addShopInfo
public static final void addShopInfo(MaplePacketLittleEndianWriter mplew, MapleShop shop, MapleClient c) -
addShopItemInfo
public static final void addShopItemInfo(MaplePacketLittleEndianWriter mplew, MapleShopItem item, MapleShop shop, MapleItemInformationProvider ii, Item i, MapleCharacter chr) -
addJaguarInfo
-
addStealSkills
-
addStolenSkills
public static void addStolenSkills(MaplePacketLittleEndianWriter mplew, MapleCharacter chr, int jobNum, boolean writeJob) -
addChosenSkills
-
addAbilityInfo
-
addHonorInfo
-
addCoreAura
-
addRedLeafInfo
-
addPartTimeJob
-
writeSingleMask
public static <E extends Buffstat> void writeSingleMask(MaplePacketLittleEndianWriter mplew, E statup) -
writeMask
public static <E extends Buffstat> void writeMask(MaplePacketLittleEndianWriter mplew, Collection<E> statups) -
writeBuffMask
public static <E extends Buffstat> void writeBuffMask(MaplePacketLittleEndianWriter mplew, Collection<Pair<E, Integer>> statups) -
writeBuffMask
public static <E extends Buffstat> void writeBuffMask(MaplePacketLittleEndianWriter mplew, Map<E, Integer> statups)
-