起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
Mob Kill Quest を担当するclassです。
com.example.rankingplugin.miniquestsminiquests/MobKillQuest.javaclassクラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。
Mob Kill Quest を担当するclassです。miniquests パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
MobKillQuestrecordKillgetKeygetStartTimeannounceStartgetKillCountgetRequiredCountgetTargetName初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public MobKillQuest(String key, Set<EntityType> targets, int requiredCount, LocalDateTime startTime, LocalDateTime expireTime) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | 主要呼び出しなし |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| MobKillQuest | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| getKey | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getKey | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getStartTime | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getStartTime | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getStartTime | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| announceStart | public | メソッド | announceStart の主要処理を担当します。 |
| getKillCount | public | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getRequiredCount | public | メソッド | 目標討伐数を返す |
| getTargetName | public | メソッド | クエスト対象の名を返す(単一対象向け) |
| recordKill | public | メソッド | 外部から kill イベントを呼び出してカウント |
| tryComplete | public | メソッド | tryComplete の主要処理を担当します。 |
public MobKillQuest(String key, Set<EntityType> targets, int requiredCount, LocalDateTime startTime, LocalDateTime expireTime)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
String keySet<EntityType> targetsint requiredCountLocalDateTime startTimeLocalDateTime expireTimeなし
public String getKey()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
なし
public String getKey() { return key; } public MiniQuest createInstance(LocalDateTime start, LocalDateTime expire)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
) { return key; } public MiniQuest createInstance(LocalDateTime start, LocalDateTime expireなし
public LocalDateTime getStartTime()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
なし
public LocalDateTime getStartTime() { return startTime; } public LocalDateTime getExpireTime()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
) { return startTime; } public LocalDateTime getExpireTime(なし
public LocalDateTime getStartTime() { return startTime; } public LocalDateTime getExpireTime() { return expireTime; } public String getDisplayName()必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
) { return startTime; } public LocalDateTime getExpireTime() { return expireTime; } public String getDisplayName(なし
public void announceStart()announceStart の主要処理を担当します。
なし
public int getKillCount(UUID playerId)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
UUID playerIdなし
public int getRequiredCount()目標討伐数を返す
なし
public String getTargetName()クエスト対象の名を返す(単一対象向け)
なし
public void recordKill(UUID playerId, EntityType killedType)外部から kill イベントを呼び出してカウント
UUID playerIdEntityType killedTypeなし
public boolean tryComplete(UUID playerId)tryComplete の主要処理を担当します。
UUID playerIdなし
getStartTime → stream → map → name → toLowerCase → replacegetTargetName → stream → map → name → toLowerCase → replaceannounceStart → stream → map → reduce → orElse → broadcastMessagerecordKill → contains → mergegetKillCount → getOrDefault