Summary
- Description
- An Item from the games, like “Poké Ball” or “Bicycle”.
- Data path
- resources/data/item/
- Schema
- https://poketools.gamestuff.info/data/schema/item.json
Filename
Item identifier
A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
Top-level keys
Version group identifier
A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
Fields
name
The entity’s user-facing name. All of UTF-8 is valid here, so use “é” where appropriate.
- type
-
string
- required
category
Item Category identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
Item Pocket identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
buy
Item purchase price. Omit if this item cannot be purchased.
- type
- integer
- minimum
- 1
sell
Item sell price, usually half the purchase price. Omit if this item cannot be sold.
- type
- integer
- minimum
- 1
flags
A list of Item Flag identifiers. Flags are special attributes that affect how the game treats this item.
- type
- list[string]
fling_effect
Fling effect identifier; i.e. the effect the move Fling has when used by a Pokémon holding this item.
A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
fling_power
The power the move Fling has when used by a Pokémon holding this item.
- type
- integer
- minimum
- 0
machine
TM/HM data; omit if this item is not a machine.
- type
- mapping
type
The type of machine
- type
- string
- values
-
-
TM -
HM
-
- required
number
Machine number
- type
- integer
- minimum
- 1
- required
move
Identifier for the Move this machine teaches.
A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
berry
Berry data; omit if this item is not a berry.
- type
- mapping
number
Berry number, used for flavor.
- type
- integer
- minimum
- 1
firmness
Berry Firmness identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
natural_gift_type
Identifier for the Type the move Natural Gift has when used by a Pokémon holding this item. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
- string
- pattern
-
^[a-z0-9\-]+$(Test)
natural_gift_power
The power the move Natural Gift has when used by a Pokémon holding this item.
- type
- integer
- minimum
- 0
size
Berry size, in millimeters.
- type
- integer
- minimum
- 1
growth_time
The length of one growth stage, in hours. Berries go through several of these growth stages before they can be picked, although the number of stages varies by generation.
- type
- integer
- minimum
- 1
water
The speed at which this Berry dries out the soil as it grows. A higher rate means the soil dries more quickly. This is an arbitrary scale.
- type
- integer
- minimum
- 1
smoothness
The smoothness of this Berry, used in making Pokéblocks or Poffins. This is an arbitrary scale
- type
- integer
- minimum
- 1
flavors
A mapping of Berry flavor intensity. The keys are Berry flavor identifiers, the values are flavor levels.
- type
- mapping[string: integer]
- values
-
- minimum
- 1
harvest
The number of berries that can grow on one tree.
A range is either a single integer or two integers separated by a hyphen, e.g.
5 or 1-10.
- minimum
- 1
flavor_text
The game displays this on the “tag”.
How this entity is described in-game. Include line breaks where appropriate.
- type
- string
decoration
Decoration data; omit if this item is not a decoration
width
How many tiles wide this decoration is.
- type
- integer
- minimum
- 1
height
How many tiles high this decoration is.
- type
- integer
- minimum
- 1
short_description
A short version of the description, usually used in lists.
Textual content formatted with Markdown. See the CommonMark Spec for details.
- type
- string
description
A full description of the entity, usually used on entity pages.
Textual content formatted with Markdown. See the CommonMark Spec for details.
- type
- string
flavor_text
How this entity is described in-game. Include line breaks where appropriate.
- type
- string
icon
The path to the asset, relative to the entity type’s asset directory.
- type
- string
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://poketools.gamestuff.info/data/schema/item.json",
"title": "Item",
"description": "An Item from the games, like “Poké Ball” or “Bicycle”.",
"type": "object",
"propertyNames": {
"title": "Version Group identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "versionGroupIdentifier"
}
]
},
"minProperties": 1,
"additionalProperties": {
"type": "object",
"properties": {
"name": {
"$ref": "types/name.json"
},
"category": {
"title": "Category",
"description": "Identifier for the ItemCategory this item belongs to.",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "categoryIdentifier"
}
]
},
"pocket": {
"title": "Pocket",
"description": "Identifier for the ItemPocket this item appears in.",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": [
"pocketIdentifier",
{
"$func": "pocketInVersionGroup",
"$vars": {
"versionGroup": {
"$ref": "1#"
}
}
}
]
}
]
},
"buy": {
"title": "Item purchase price",
"description": "Omit if this item cannot be purchased.",
"oneOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
},
"sell": {
"title": "Item sell price",
"description": "Usually half the purchase price. Omit if this item cannot be sold.",
"oneOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
]
},
"flags": {
"title": "Flags",
"description": "Special attributes that affect how the game treats this item.",
"type": "array",
"items": {
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "flagIdentifier"
}
]
}
},
"fling_effect": {
"title": "Fling effect",
"description": "The identifier of the effect the move *Fling* has when used by a Pokemon holding this item.",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "flingEffectIdentifier"
}
]
},
"fling_power": {
"title": "Fling power",
"description": "The power the move *Fling* has when used by a Pokemon holding this item.",
"type": "integer",
"minimum": 0
},
"machine": {
"title": "TM/HM data",
"description": "Omit if this item is not a machine.",
"type": "object",
"properties": {
"type": {
"title": "Machine type",
"type": "string",
"enum": [
"TM",
"HM"
]
},
"number": {
"title": "Machine number",
"type": "integer",
"minimum": 1
},
"move": {
"title": "Move taught",
"description": "The identifier for the move taught",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": [
"moveIdentifier",
{
"$func": "moveInVersionGroup",
"$vars": {
"versionGroup": {
"$ref": "2#"
}
}
}
]
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"number",
"move"
]
},
"berry": {
"title": "Berry data",
"description": "Omit if this item is not a berry",
"type": "object",
"properties": {
"number": {
"title": "Number",
"type": "integer",
"minimum": 1
},
"firmness": {
"title": "Firmness",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "berryFirmnessIdentifier"
}
]
},
"natural_gift_type": {
"title": "Natural Gift move type",
"description": "The type the move *Natural Gift* has when used by a Pokemon holding this item.",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": [
"typeIdentifier",
{
"$func": "typeInVersionGroup",
"$vars": {
"versionGroup": {
"$ref": "2#"
}
}
}
]
}
]
},
"natural_gift_power": {
"title": "Natural Gift move power",
"description": "The power the move *Natural Gift* has when used by a Pokemon holding this item.",
"type": "integer",
"minimum": 0
},
"size": {
"title": "Size (mm)",
"type": "integer",
"minimum": 1
},
"growth_time": {
"title": "Growth time (hours)",
"description": "The length of one growth stage. Berries go through several of these growth stages before they can be picked.",
"type": "integer",
"minimum": 1
},
"water": {
"title": "Water usage",
"description": "The speed at which this Berry dries out the soil as it grows. A higher rate means the soil dries more quickly.",
"type": "integer",
"minimum": 0
},
"smoothness": {
"title": "Smoothness",
"description": "The smoothness of this Berry, used in making Pokéblocks or Poffins.",
"type": "integer",
"minimum": 1
},
"flavors": {
"title": "Berry flavors",
"type": "object",
"propertyNames": {
"title": "BerryFlavor identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "berryFlavorIdentifier"
}
]
},
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"harvest": {
"title": "The number of berries that can grow on one tree",
"allOf": [
{
"$ref": "types/range.json"
},
{
"type": "string",
"$filters": {
"$func": "range",
"$vars": {
"min": 1
}
}
}
]
},
"flavor_text": {
"$ref": "types/flavor_text.json"
}
},
"additionalProperties": false
},
"decoration": {
"title": "Decoration",
"description": "Omit if this item is not a Decoration",
"type": "object",
"properties": {
"width": {
"title": "Width",
"type": "number",
"minimum": 1
},
"height": {
"title": "Height",
"type": "number",
"minimum": 1
}
},
"required": [
"width",
"height"
]
},
"short_description": {
"title": "Short description",
"$ref": "types/markdown.json"
},
"description": {
"title": "Description",
"$ref": "types/markdown.json"
},
"flavor_text": {
"$ref": "types/flavor_text.json"
},
"icon": {
"title": "Icon",
"$ref": "types/asset_path.json"
}
},
"additionalProperties": false,
"required": [
"name",
"category",
"pocket",
"short_description",
"description"
]
}
}