1 Movement and Turning
AttODao edited this page 2026-08-13 18:37:39 +09:00

移動と旋回

速度の解決

movement.sneak_speedwalk_speedsprint_speedは形態ごとの基準速度です。NBT適用後の形態Entityの移動属性をreference_mob_speedで割り、その比を設定速度へ掛けます。このため、Entity属性をNBTで変更すると実効速度も比例します。

非ウマ系ではMobの移動属性をプレイヤー座標系へ換算し、ウマ・ロバ・ラバでは乗用速度側の尺度を使います。スニーク属性はsneak_speed / walk_speedで、0..1へ制限されます。

sprint_speed == walk_speedならスプリント自体を無効にします。それ以外はVanillaの1.3xスプリント修飾を相殺したうえで、設定した比率になる追加修飾を適用します。

横・後退入力

通常のMob形態では横入力へsideways_multiplier、後退入力へbackward_multiplierを掛けます。前進を含む斜め入力では前進成分を維持し、横成分だけを縮小します。

組み込みのウマ系は横0.5x、後退0.25xです。他のMob形態は通常どちらも0.25xです。

四足旋回

quadruped_turningが有効なら、横入力をその場の平行移動ではなく次の処理へ変換します。

  • カメラと胴体を左右へ旋回する
  • 横入力の絶対値を前進入力へ変換する
  • アナログ入力では旋回量と前進量を比例させる
  • 元のジャンプ、スニーク、スプリント入力は維持する

旋回速度はquadruped_turn_speedで、組み込み既定値は4.0です。共通のClientInputを処理するため、キー変更やControllifyのアナログ入力も同じ経路になります。

本能モード中、乗車中、通常プレイヤー形態では四足旋回を行いません。本能AIの入力が常に優先されます。

数値一覧: 組み込み値: 移動、JSON: movement