> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Inventory マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス




## マスターデータのフォーマット


**JSON**
```json
{
  "version": "2019-02-05",
  "inventoryModels": [
    {
      "name": "[string]インベントリモデル名",
      "metadata": "[string?]メタデータ",
      "initialCapacity": "[int]初期サイズ",
      "maxCapacity": "[int]最大サイズ",
      "protectReferencedItem": "[bool?]参照元保護",
      "itemModels": [
        {
          "itemModelId": "[string]アイテムモデルGRN",
          "name": "[string]アイテムモデル名",
          "metadata": "[string?]メタデータ",
          "stackingLimit": "[long]スタック可能な最大数量",
          "allowMultipleStacks": "[bool]複数スタック許可",
          "sortValue": "[int]表示順番"
        }
      ]
    }
  ],
  "simpleInventoryModels": [
    {
      "name": "[string]シンプルインベントリモデル名",
      "metadata": "[string?]メタデータ",
      "simpleItemModels": [
        {
          "itemModelId": "[string]シンプルアイテムモデルGRN",
          "name": "[string]シンプルアイテムモデル名",
          "metadata": "[string?]メタデータ"
        }
      ]
    }
  ],
  "bigInventoryModels": [
    {
      "name": "[string]巨大インベントリモデル名",
      "metadata": "[string?]メタデータ",
      "bigItemModels": [
        {
          "itemModelId": "[string]巨大アイテムモデルGRN",
          "name": "[string]巨大アイテムモデル名",
          "metadata": "[string?]メタデータ"
        }
      ]
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2019-02-05 | | マスターデータのフォーマットバージョン |
| inventoryModels | [List&lt;InventoryModel&gt;](#inventorymodel) |  |  |  |  ~ 50 items | インベントリモデル<br>インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。<br>インベントリには容量が設定でき、容量を超えては所有できません。 |
| simpleInventoryModels | [List&lt;SimpleInventoryModel&gt;](#simpleinventorymodel) |  |  |  |  ~ 50 items | シンプルインベントリモデル<br>通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。<br>しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。<br><br>ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。 |
| bigInventoryModels | [List&lt;BigInventoryModel&gt;](#biginventorymodel) |  |  |  |  ~ 50 items | 巨大インベントリモデル<br>通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。<br>インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。<br><br>巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。 |

## モデル

### InventoryModel

インベントリモデル<br>

インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。<br>
インベントリには容量が設定でき、容量を超えては所有できません。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| inventoryModelId | string |  | ※ |  |  ~ 1024文字 | インベントリモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | インベントリモデル名<br>インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| initialCapacity | int |  | ✓ |  | 0 ~ 2147483646 | 初期サイズ<br>インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 |
| maxCapacity | int |  | ✓ |  | 0 ~ 2147483646 | 最大サイズ<br>ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 |
| protectReferencedItem | bool? |  |  | false |  | 参照元保護<br>有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 |
| itemModels | [List&lt;ItemModel&gt;](#itemmodel) |  |  | [] | 1 ~ 1000 items | アイテムモデル一覧<br>このインベントリに格納可能なアイテムの種類です。各アイテムモデルは1種類のアイテムのスタックおよび入手動作を定義します。インベントリモデルあたり最大1000アイテムモデルです。 |

---

### ItemModel

アイテムモデル<br>

アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。<br>
このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。<br>

スタック上限に達した場合の挙動もアイテムごとに設定できます。<br>
具体的には、以下のどちらかを選べます：<br>

- 新しいインベントリ枠を追加して、さらに所持できるようにする<br>
- 上限に達したため、これ以上入手できないようにする

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| itemModelId | string |  | ※ |  |  ~ 1024文字 | アイテムモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | アイテムモデル名<br>アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。<br>詳細は [マイクロサービス紹介 / GS2-Enhance](/microservices/enhance/#強化レート) の項で解説しています。 |
| stackingLimit | long |  | ✓ |  | 1 ~ 9223372036854775805 | スタック可能な最大数量<br>1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 |
| allowMultipleStacks | bool |  | ✓ |  |  | 複数スタック許可<br>有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 |
| sortValue | int |  | ✓ |  | 0 ~ 2147483646 | 表示順番<br>インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 |

---

### SimpleInventoryModel

シンプルインベントリモデル<br>

通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。<br>
しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。<br>

ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| inventoryModelId | string |  | ※ |  |  ~ 1024文字 | シンプルインベントリモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | シンプルインベントリモデル名<br>シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| simpleItemModels | [List&lt;SimpleItemModel&gt;](#simpleitemmodel) |  |  | [] | 1 ~ 1000 items | シンプルアイテムモデル一覧<br>このシンプルインベントリに格納可能なアイテムの種類です。通常のインベントリと異なり、シンプルアイテムにはスタック上限や容量制約がありません。シンプルインベントリモデルあたり最大1000アイテムモデルです。 |

---

### SimpleItemModel

シンプルアイテムモデル<br>

ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。<br>
シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| itemModelId | string |  | ※ |  |  ~ 1024文字 | シンプルアイテムモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | シンプルアイテムモデル名<br>シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |

---

### BigInventoryModel

巨大インベントリモデル<br>

通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。<br>
インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。<br>

巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| inventoryModelId | string |  | ※ |  |  ~ 1024文字 | 巨大インベントリモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | 巨大インベントリモデル名<br>巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| bigItemModels | [List&lt;BigItemModel&gt;](#bigitemmodel) |  |  | [] | 1 ~ 1000 items | 巨大アイテムモデル一覧<br>この巨大インベントリに格納可能なアイテムの種類です。各巨大アイテムモデルは最大1024桁の整数文字列として表される数量を保持できます。巨大インベントリモデルあたり最大1000アイテムモデルです。 |

---

### BigItemModel

巨大アイテムモデル<br>

巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。<br>
巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| itemModelId | string |  | ※ |  |  ~ 1024文字 | 巨大アイテムモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | 巨大アイテムモデル名<br>巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |

---



