{
"id": "net.anisota.beta.game.inventory",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"itemId",
"quantity",
"acquiredAt",
"createdAt"
],
"properties": {
"itemId": {
"type": "string",
"maxLength": 100,
"description": "Unique identifier for the item from gameItems.json"
},
"rarity": {
"enum": [
"veryCommon",
"common",
"uncommon",
"rare",
"veryRare",
"epic",
"legendary"
],
"type": "string",
"description": "Rarity level of the item"
},
"source": {
"enum": [
"daily_reward",
"game_card",
"quest",
"trade",
"crafted",
"found",
"purchased"
],
"type": "string",
"description": "How the item was acquired"
},
"itemName": {
"type": "string",
"maxLength": 200,
"description": "Display name of the item"
},
"itemType": {
"type": "string",
"maxLength": 50,
"description": "Type category of the item (consumable, tool, equipment, etc.)"
},
"maxStack": {
"type": "integer",
"minimum": 1,
"description": "Maximum stack size for this item"
},
"metadata": {
"type": "unknown",
"description": "Additional item-specific data (stats, attributes, enchantments, etc.)"
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Number of items in the stack"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the record was created"
},
"itemValue": {
"type": "integer",
"minimum": 0,
"description": "Base value of the item in game currency"
},
"stackable": {
"type": "boolean",
"description": "Whether this item can be stacked with others of the same type"
},
"acquiredAt": {
"type": "string",
"format": "datetime",
"description": "When the item was acquired"
},
"lastModified": {
"type": "string",
"format": "datetime",
"description": "When the record was last modified"
},
"logRecordUri": {
"type": "string",
"description": "URI of the game.log record that documents the acquisition of this item"
},
"sourceDetails": {
"ref": "#sourceDetails",
"type": "ref"
}
}
},
"description": "Beta version: Record representing an item in a player's game inventory"
},
"sourceDetails": {
"type": "object",
"properties": {
"questId": {
"type": "string",
"description": "ID of the quest that rewarded this item"
},
"gameCardUri": {
"type": "string",
"description": "URI of the game card that provided this item"
},
"rewardStreak": {
"type": "integer",
"description": "Daily reward streak when item was acquired"
}
},
"description": "Additional details about how the item was acquired"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}