動作プロファイルと条件
概要
Stack Size Adjuster は、ステートマシン構造により設定ファイル、動的ゲームルール、ネットワークパケットの連携を行っています。
🔄 ライフサイクル図
text
+----------------------------------+
| サーバー起動 / ワールド作成 |
+----------------------------------+
|
v
[ 基本設定テンプレートの読み込み ]
(`config/stack-size-adjuster.json`)
|
v
[ 動的 GameRules の登録 ]
(`items_64_limit`, `items_16_limit` 等)
|
+---------------+---------------+
| |
新規ワールド 既存のワールド
| |
v v
テンプレート値を適用 `level.dat` から
ルールを読み込み
| |
+---------------+---------------+
|
v
[ StackSizeManager の初期化 ]
|
v
[ プレイヤー参加 / ルール編集時 ]
|
v
[ S2C パケット送信: sync_limit ]
|
v
[ クライアント画面の強制更新 ]⚙️ トリガーとイベントハンドラ
- サーバー起動完了 (
ServerLifecycleEvents.SERVER_STARTED):- 設定ファイルを再読み込み。
- 新規ワールドの場合は設定値を GameRules に反映。
StackSizeManagerの値を初期化。
- プレイヤー接続 (
ServerPlayConnectionEvents.JOIN):- 参加したプレイヤーへ
StackSizeLimitSyncPayloadを送信。
- 参加したプレイヤーへ
- ゲーム内ルールの変更 (
MinecraftServerMixin.onGameRuleChanged):stack-size-adjuster:*ルールの変更を検知。StackSizeManagerを更新。- 全プレイヤーに同期パケットを送信。
