カスタムウェポン・アーマーデータパック
💡pack.mcmetaファイルの作成
まず txt ファイルを作成し 、ファイル名をpack.mcmeta に変更してください(エクスプローラーの設定で「ファイル名拡張子」にチェックが入っている事を確認してください)
リネームが終わったらファイルを開き、以下のコードを記入してください。
📄 pack_format の設定値
| バージョン | 設定値 |
|---|---|
| 1.16.2–1.16.5 | 6 |
| 1.17.x | 7 |
| 1.18.2 | 9 |
🗂フォルダパスの作成
以下の名前で一連のフォルダを作成してください。 すべてのjsonファイルは、最下層のフォルダに格納する必要があります。
data -> "modid" -> capabilities -> "type" -> "registrynames".json
modid: 先に「7-zip」のような解凍ソフトを用意します。互換性を持たせたいMODを右クリックし「7zip→開く」を選択してファイルを開き、 dataフォルダをクリックするとMODIDを見つけられるはずです。
type: weapons または armors
registrynames: ゲーム内でF3+Hキーを押して「デバッグ:高度な情報」をオンにすると、設定したい項目のレジストリ名(アイテムID)が表示されます。下の写真を参考にして下さい。
❗️赤枠で囲まれた部分がregistrynamesにあたります。 必ず「registrynames +
.json」の形式で作成してください。
💡JSONファイルの編集
⚔️武器用の設定ファイル
これは剣の設定ファイルの例です。
{
"type": "sword",
"attributes": {
"common": {
"armor_negation": 0.0,
"impact": 1.1,
"max_strikes": 1
}
}
}
🗡 片手&両手武器用の設定ファイル
槍など一部の武器種は片手と両手の両方で扱えます。これは片手と両手の属性を持つ槍の設定ファイルの例です。
{
"type": "spear",
"attributes": {
"one_hand": {
"armor_negation": 8.0,
"impact": 1.9,
"max_strikes": 1
},
"two_hand": {
"armor_negation": 0.0,
"impact": 1.3,
"max_strikes": 3
}
}
}
type: 設定する武器種。 設定値は以下の通りです:
| 武器種 | 戦闘スタイル |
|---|---|
| axe | 片手武器 |
| fist | 二刀流 |
| hoe | 片手武器 |
| pickaxe | 片手武器 |
| shovel | 片手武器 |
| sword | 片手武器/二刀流 |
| spear | 片手武器/両手武器 |
| greatsword | 両手武器 |
| katana | 両手武器 |
| tachi | 両手武器 |
| longsword | 両手武器 |
| dagger | 片手武器/二刀流 |
| bow | 両手武器 |
| crossbow | 両手武器 |
| trident | 片手武器 |
| shield | 二刀流 |
片手武器:メインハンドに持った場合使用可能。同時にオフハンドでアイテム(松明等)も使用できます。
両手武器:メインハンドに持った場合のみ使用可能で、オフハンドのアイテムは使用できません。
二刀流:同じ種類の武器を両手で持っている場合に有効となる。両手の武器を同時に使用して戦います。
attributes: 武器がオフハンドで保持されたときに異なるステータスを持つべきか定義します。 * common: 武器がどちらの手で保持されていても同じステータスに設定する場合はこれを使用します。戦闘スタイルが両手武器の武器種はコチラのみ使用可能です。
one_hand/two_hand: メインハンドのみで使用した場合と、オフハンドにも装備して使用した場合でステータスが異なるように設定できます。戦闘スタイルが両手武器の武器種は使用できません。
🔵以下のいくつかの属性は、基礎値(base value:~)+設定値で計算されます。
armor_negation: 貫通ダメージ(防具値を無視して与えるダメージ)の割合。 (base value: 0.0)
impact: 数値が大きくなるほど、命中時相手のスタン時間が増加します。 (base value: 0.5)
max_strikes: 一度の攻撃でヒットする敵の最大数。 (base value: 1.0)
damage_bonus: 数値が大きくなるほど与ダメージが増幅されます。 (base value: 0.0)
speed_bonus: 数値が大きくなるほど攻撃速度が上昇します。 (base value: 0.0)
💡コライダー(衝突判定)のサイズを変更する
コライダーのサイズを変更する事で、視覚的な衝突範囲と実際の衝突範囲を一致させます。
これは鎧のコライダーサイズの設定例です。
number: 前のポーズと現在のポーズを補間するコライダーの数。 値が高いほど衝突検出の精度は向上するが、より多くのオーバーヘッド(処理増加よる負荷)が発生する。
center: コライダーの中心位置。
size: コライダーのx、y、zのサイズ。
コライダーの大きさを計算で予想して設定するは現実的ではありません。 そこでプリセットを参照すると時間を節約できます。 プリセットの値をコピーし、徐々にサイズを修正していく方法をオススメします。
💡アーマーファイル
鎧用の設定ファイルの例です。
stun_armor: 数値が大きい程スタン時に次のスタンが発生するまでの間隔が長くなります。連続でスタンを受けて行動不能になる可能性が減少します。
weight: 数値が大きい程スタン状態の時間が短縮されますが、スキル発動時の消費スタミナ量が増加し 攻撃速度が低下します。
📦データパックを完成させる
以下の項目が準備できているか確認してください。 * 全てのjsonファイルとcapabilities等のフォルダが格納されたdataフォルダ * pack.mcmetaファイル
✉️ 次のステップは、データパックをzipファイルとして圧縮するための手順です。
データパックをzipにする必要はありません。datraフォルダとpack.mcmetaファイルを別のフォルダに入れるだけでいいのですが、ここでは7-Zipを使った方法を紹介します。
始めにdataフォルダとpack.mcmetaファイルを同時選択してください。
そして同時選択したまま、どちらかのファイルを右クリックし 「7-zip」→「圧縮」を選択して下さい。
圧縮が終了したら、作成されたzipファイルをワールドのdatapackフォルダに入れて楽しむだけです :)
これらのチュートリアルを読みたくない方向けに Youtubeのガイド動画 もあります

