GS2-Inventory マスターデータリファレンス
{
  "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 | ✓ | 2019-02-05 | マスターデータのフォーマットバージョン | |||
| inventoryModels | List<InventoryModel> | ~ 50 items | インベントリモデル | |||
| simpleInventoryModels | List<SimpleInventoryModel> | ~ 50 items | シンプルインベントリモデル | |||
| bigInventoryModels | List<BigInventoryModel> | ~ 50 items | 巨大インベントリモデル | 
InventoryModel
インベントリモデル
インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。
インベントリには容量が設定でき、容量を超えては所有できません。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| inventoryModelId | string | ✓ | ~ 1024文字 | インベントリモデルGRN | ||
| name | string | ✓ | ~ 128文字 | インベントリモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | |||
| initialCapacity | int | ✓ | 0 ~ 2147483646 | 初期サイズ | ||
| maxCapacity | int | ✓ | 0 ~ 2147483646 | 最大サイズ | ||
| protectReferencedItem | bool? | false | 参照元が登録されているアイテムセットは削除できなくする | |||
| itemModels | List<ItemModel> | ✓ | [] | 1 ~ 1000 items | インベントリに格納可能なアイテムモデル一覧 | 
ItemModel
アイテムモデル
アイテムは ポーション×99 のようにインベントリの1容量に対して複数所有できます。
1容量で複数所有している状態を アイテムをスタック する。と呼び、アイテムごとにスタックできる最大数量を指定できます。
スタックできる最大数量に達したとき、新しくインベントリの容量を確保して所有することができるか、入手することが出来なくなるかをアイテムごとに設定できます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemModelId | string | ✓ | ~ 1024文字 | アイテムモデルGRN | ||
| name | string | ✓ | ~ 128文字 | アイテムモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | |||
| stackingLimit | long | ✓ | 1 ~ 9223372036854775805 | スタック可能な最大数量 | ||
| allowMultipleStacks | bool | ✓ | スタック可能な最大数量を超えた時複数枠にアイテムを保管することを許すか | |||
| sortValue | int | ✓ | 0 ~ 2147483646 | 表示順番 | 
SimpleInventoryModel
シンプルインベントリモデル
通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。
しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。
ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| inventoryModelId | string | ✓ | ~ 1024文字 | シンプルインベントリモデルGRN | ||
| name | string | ✓ | ~ 128文字 | シンプルインベントリモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | |||
| simpleItemModels | List<SimpleItemModel> | ✓ | [] | 1 ~ 1000 items | インベントリに格納可能なシンプルアイテムモデル一覧 | 
SimpleItemModel
シンプルアイテムモデル
通常の ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。
しかし、シンプルアイテム ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemModelId | string | ✓ | ~ 1024文字 | シンプルアイテムモデルGRN | ||
| name | string | ✓ | ~ 128文字 | シンプルアイテムモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | 
BigInventoryModel
巨大インベントリモデル
通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は 64bit 整数値の範囲に限られました。
インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。
巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| inventoryModelId | string | ✓ | ~ 1024文字 | 巨大インベントリモデルGRN | ||
| name | string | ✓ | ~ 128文字 | 巨大インベントリモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | |||
| bigItemModels | List<BigItemModel> | ✓ | [] | 1 ~ 1000 items | インベントリに格納可能な巨大アイテムモデル一覧 | 
BigItemModel
巨大アイテムモデル
通常の ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。
しかし、巨大アイテム ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemModelId | string | ✓ | ~ 1024文字 | 巨大アイテムモデルGRN | ||
| name | string | ✓ | ~ 128文字 | 巨大アイテムモデル名 | ||
| metadata | string | ~ 2048文字 | メタデータ | 
AcquireCount
シンプルアイテムの入手数量
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemName | string | ✓ | ~ 128文字 | シンプルアイテムモデルの名前 | ||
| count | long | ✓ | 1 ~ 9223372036854775805 | 入手する量 | 
ConsumeCount
シンプルアイテムの消費数量
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemName | string | ✓ | ~ 128文字 | シンプルアイテムモデルの名前 | ||
| count | long | ✓ | 1 ~ 9223372036854775805 | 消費する量 | 
HeldCount
シンプルアイテムの所持数量
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| itemName | string | ✓ | ~ 128文字 | シンプルアイテムモデルの名前 | ||
| count | long | ✓ | 0 ~ 9223372036854775805 | 所持数量 |