🌌 天體平滑與客戶端電影級天空
📌 程式碼儲存庫原始碼聲明:本 Wiki 中的文件反映了程式碼儲存庫目前的最新原始碼狀態,可能包含尚未在 CurseForge 和 Modrinth 上發布的開發中功能或最新提交。
🎬 電影級視覺革新
在原版 Minecraft 中,進入睡眠會觸發全螢幕黑屏遮罩 (extractSleepOverlay()),徹底剝奪玩家的視野,直至清晨。
True Sleep 徹底移除了黑屏遮罩,讓你能夠即時見證太陽、月亮、雲層與星空在眼前飛速流轉的震撼縮時攝影奇觀!
📐 天體角插值平滑演算法 (Lerp)
當伺服器以 20倍跨步將時間加速到 50 TPS 時,客戶端接收到的世界時鐘資料包通常呈現離散跳躍。如果沒有經過平滑處理,太陽和月亮在天空中會出現肉眼可見的卡頓抽搐。
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 透過 Mixin 注入 VibrationSystem$Listener.handleGameEvent():
- 在時間曲速生效期間,全自動靜音並抑制所有遊戲事件振動。
- 防止在深暗之域前哨站小憩的玩家意外驚醒伏守者。
🤝 與 Bed Chat Hider 模組的終極協同
為了獲得最純淨的縮時攝影觀景體驗,建議搭配姊妹伴侶模組 Bed Chat Hider:
- 在原版「離開床」按鈕旁增設 「隱藏聊天框」 切換按鈕。
- 瞬間隱藏所有聊天訊息與文字輸入框,提供全景無遮擋的沉浸式睡眠觀景!
