Class World.Respawn
java.lang.Object
handling.world.World.Respawn
- All Implemented Interfaces:
Runnable
- Enclosing class:
World
負責一組頻道之定時重生/維護的
Runnable 任務。
由 World.registerRespawn() 建立並交給 Timer.WorldTimer 週期執行;每次 run() 遍歷所屬頻道的所有地圖,
處理怪物重生、地上物到期、玩家冷卻與狀態回復等(透過 World.handleMap(MapleMap, int, int, long)/World.handleCooldowns(MapleCharacter, int, boolean, long))。
每執行緒固定負責至多 CHANNELS_PER_THREAD 個頻道。
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Respawn
建立一個重生任務,綁定從偏移處起算的最多CHANNELS_PER_THREAD個頻道。自
chs中第c+1個頻道起,連續取至多 3 個ChannelServer納入此任務,並記錄一行已註冊頻道的中文日誌。- Parameters:
chs- 全頻道編號陣列c- 起始偏移(此任務負責c+1起算的頻道)
-
-
Method Details
-
run
public void run()對所屬各頻道的全部地圖執行一輪重生/維護處理。遞增執行次數計數,逐一遍歷尚未關閉的頻道之所有(執行緒安全取得的)地圖,呼叫
World.handleMap(MapleMap, int, int, long)處理每張地圖; 每累積 800 次(約 1 小時)清空MapleMonsterInformationProvider與ReactorScriptManager的掉落快取。 由Timer.WorldTimer在排程執行緒上週期呼叫;具大量地圖狀態變更與封包送出副作用。
-