チャンネルスロットとフィールドの関係
中央カラムには Bool (1〜32) と Number (1〜32) それぞれ 32 個のチャンネルスロットグリッドがあります。- 空きスロットをクリックすると、そのスロットにフィールドを新規作成します。
- 設定済みのスロットをクリックすると、右側のフィールド設定パネルで編集できます。
- スロット同士はドラッグ&ドロップで入れ替えたり、別のチャンネルに移動したりできます。
sourceChannel (送信側 MC 上でのソースチャンネル) です。input.getNumber(sourceChannel) / input.getBool(sourceChannel) で読み出す元のチャンネルであり、パッキング後に実際にデータが流れる送信/受信チャンネル (パケット設定の 送信CH / 受信CH) とは別の値です。
名前欄を空にして確定すると、そのスロットのフィールド設定は解除されます (トースト「名前が空のためスロットの設定を解除しました」)。
フィールド設定パネル
フィールドを選択すると、以下を編集できます。- 変数名: 生成される Lua コードで
<受信テーブル変数名>.<変数名>として使われる識別子です。Lua の識別子として不正な文字は、コード生成時に自動的にサニタイズされます。 - ⧉ 設定パラメータをコピー / 📋 ペースト: 範囲・精度パラメータ (min/max/step/rounding/threshold/rangeMode) を他のフィールドに使い回せます。Bool 型のフィールドには数値設定をペーストできません。
- ✕ 削除 (無設定にする): フィールドの設定を解除します。
kind: "number") では、さらに以下を設定します。
- Min / Max / Step: 値の取り得る範囲と刻み幅です。
(Max - Min)がStepの整数倍になっている必要があります。 - 端数処理 (rounding): 刻み幅の間の値をどちらの段階に丸めるかです。四捨五入 (Nearest) / 切り捨て (Floor) / 切り上げ (Ceil) / 指定閾値 (Threshold) から選べます。指定閾値を選ぶと、0〜1 の閾値を追加で指定できます (例: 0.3 なら端数が 0.3 未満で切り捨て、以上で切り上げ)。
- 範囲外処理 (rangeMode): 実際の入力値が Min/Max の範囲外だった場合の扱いです。
Bool 型のフィールド (
kind: "bool") では Min/Max/Step/端数処理/範囲外処理は使われません。
パッキングへの影響
各フィールドは、範囲と刻み幅から「取り得る状態数」に変換されます。数値フィールドならfloor((Max - Min) / Step) + 1 通り (Overflow の場合はさらに 2 通り追加)、Bool フィールドなら 2 通りです。パケット全体の状態数はこの積になり、パッキング先のチャンネル数や方式を左右します。仕組みの詳細は パッキング方式 を参照してください。