Skip to content

クライアント GameRule と GUI ヘルパー

ヘルパークラス実行環境役割
ClientGameRuleHelperクライアント/統合サーバークライアントスレッドから統合サーバーの GameRule を安全に照会
ConfigHelperCommon(クライアント/サーバー両用)JSON 設定ファイルのアトミック書き込み・自動バックアップ
GuiHelperクライアントModMenu や Cloth Config 向けの画面構築補助

🖥️ 専用サーバーでのクラッシュ防止設計

専用サーバー(Dedicated Server)での動作時における ClassLoader 例外を防ぐため、すべての GUI 関連コンポーネントには遅延ロードおよび環境分岐チェック(FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT)が施されています。

ascii
                      DynamicGameRuleManager.getInt(level, ruleKey)

                    ┌───────────────────┴───────────────────┐
                    ▼                                       ▼
          [ level instanceof ServerLevel ]       [ Client Environment ]
                    │                                       │
                    ▼                                       ▼
            Direct Level Lookup                   ClientGameRuleHelper
                                             (Queries Integrated Server)

📄 ConfigHelper によるアトミック置換保護

ConfigHelper は、クラッシュや予期せぬ電源遮断による設定ファイルの破損を防ぎます:

  1. 一時ファイル config.json.tmp にデータを書き込み。
  2. JSON 構文とファイルサイズを検証。
  3. config.json.bak に自動バックアップを作成。
  4. Files.move(..., StandardCopyOption.ATOMIC_MOVE) によりアトミックにファイルを置換。

🔗 関連ページ

Official documentation & web portal for Dasik Igaijinn mods.