🌌 天体スムーズ補間とクライアントシネマティックスカイ
📌 リポジトリソースコードに関する免責事項: このWikiのドキュメントはリポジトリ内の現在のソースコードの状態を反映しており、CurseForgeおよびModrinthでの公式リリース前の最新コミットや開発中の機能が含まれている場合があります。
🎬 映画のようなシネマティック視覚表現
バニラのMinecraftでは、ベッドに入ると全画面が黒いオーバーレイ (extractSleepOverlay()) で覆われ、朝になるまで視界が完全に遮られます。
True Sleepは画面の暗転を完全に撤廃し、太陽、月、流れる雲、満天の星空が目の前を超高速で駆け抜ける美しいタイムラプスをリアルタイムで観賞できます!
📐 天体角度のスムーズ線形補間 (Lerp)
サーバーが50 TPSかつ20倍ストライドで動作している時、クライアントが受信するワールド時間パケットは飛び飛びになります。補間処理を行わない場合、太陽や月が空をカクカクと不自然に移動してしまいます。
True Sleepはクライアント側の SkyRenderer.extractRenderState() に高精度な角度線形補間フィルターを注入しています:
角度線形補間 (Lerp) の数式モデル
$$\Delta\theta = \text{normalize}(\text{targetAngle} - \text{lastVisualAngle})$$ $$\text{sunAngle} = \text{lastVisualAngle} + \Delta\theta \times 0.35$$ $$\text{moonAngle} = \text{sunAngle} + \pi$$ $$\text{starAngle} = \text{sunAngle}$$
- スムージング係数 0.35 により、60〜240 FPSの高リフレッシュレート環境でも遅延を感じさせない吸い付くような滑らかさを実現しています。
🤫 ウォーデン (Warden) 音響振動ミュート抑制
ウォーデンやスカルクセンサーは、プレイヤーの動きやブロック変化を GameEvent 音響振動として検知します。
超高速タイムワープ中、無数の加速ティックが膨大な振動イベントを誘発し、ウォーデンの怒りゲージが急上昇してサーバーラグを招く危険があります。
True Sleepは VibrationSystem$Listener.handleGameEvent() をMixin拡張しています:
- タイムワープが稼働している間、すべてのゲームイベント音響振動を完全自動で抑制・消音。
- ディープダークの拠点などで就寝中に、ウォーデンが誤って召喚・覚醒される事故を防ぎます。
🤝 姉妹MOD「Bed Chat Hider」との究極の連携
タイムラプスの視界を遮るチャット欄を消去したい場合は、コンパニオンMOD Bed Chat Hider の併用を推奨します:
- 「ベッドから出る」ボタンの隣に 「チャットを隠す」 切り替えボタンを配置。
- チャット履歴と入力バーを瞬時に非表示にし、視界いっぱいに夜空の絶景を楽しめます!
