Class MapleCharacterUtil

java.lang.Object
client.MapleCharacterUtil

public class MapleCharacterUtil extends Object
角色管理的靜態工具類別,提供名稱驗證、資料庫查詢與帳號輔助功能。

主要職責:

  • 角色名稱合法性檢查(canCreateCharisEligibleCharName)—— 驗證長度(MS950 位元組數)、保留字(GameConstants.RESERVED) 及不雅詞彙過濾(MiMiConfig.isCanTalkText(String))。
  • Android 名稱與寵物名稱驗證(canAndroidNamecanChangePetName)。
  • 資料庫查詢輔助:依名稱取 ID(getIdByName)、依 ID 取名稱與帳號 (getNameById)、依名稱取 ID/帳號/性別(getInfoByName)、 存在性檢查(isExistCharacterInDataBase)。
  • 帳號輔助:二次密碼變更(Change_SecondPassword,與 LoginCryptoLoginCryptoLegacy 協同處理多版本雜湊格式)、NX 序號使用記錄 (setNXCodeUsed)、站內信發送(sendNote)。
  • 核心光環更新(updateCoreAura)與禮物數量查詢(getGiftAmount)。

所有方法皆為靜態,透過 DatabaseConnection 存取資料庫; 日誌採 SLF4J log

  • Constructor Details

    • MapleCharacterUtil

      public MapleCharacterUtil()
  • Method Details

    • canCreateChar

      public static final boolean canCreateChar(String name, boolean gm)
    • canAndroidName

      public static final boolean canAndroidName(String name)
    • isEligibleCharName

      public static final boolean isEligibleCharName(String name, boolean gm)
    • isEligibleAndroidName

      public static final boolean isEligibleAndroidName(String name)
    • canChangePetName

      public static final boolean canChangePetName(String name)
    • makeMapleReadable

      public static final String makeMapleReadable(String in)
    • getIdByName

      public static final int getIdByName(String name)
    • getNameById

      public static final Pair<String,Integer> getNameById(int cid, int world)
    • updateCoreAura

      public static final void updateCoreAura(MapleCharacter chr, int cid)
    • Change_SecondPassword

      public static final int Change_SecondPassword(int accid, String password, String newpassword)
    • getInfoByName

      public static Triple<Integer,Integer,Integer> getInfoByName(String name, int world)
    • setNXCodeUsed

      public static void setNXCodeUsed(String name, String code) throws SQLException
      Throws:
      SQLException
    • sendNote

      public static void sendNote(String to, String name, String msg, int fame)
    • getNXCodeInfo

      public static Triple<Boolean,Integer,Integer> getNXCodeInfo(String code) throws SQLException
      Throws:
      SQLException
    • isExistCharacterInDataBase

      public static final boolean isExistCharacterInDataBase(int id)
    • getGiftAmount

      public static int getGiftAmount(int id)