Skip to content

mtgjson/mtg-sealed-content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mtg-sealed-contents

Repository that collects all sealed MTG products and maps their contents

Product contents

Product sealed contents use the following types: card, pack, deck, sealed, variable, and other.

card

A card object refers to a single card, usually a promotional card.

card objects have the following properties:

name: [str] Full card name
set: [str] Set code
number: [str or int] Collector number
foil: [bool, optional] True if card is traditional or etched foil
uuid: [str, calculated] The card's MTGJson UUID. This is calculated by the compiler and you should not enter this in the YAML.

Example card YAML input:

  Phyrexia All Will Be One Compleat Bundle:
    card:
    - set: one
      name: Phyrexian Arena
      number: 283
      foil: true
  ...

JSON result:

"contents": {
    "card": [
        {
            "foil": true, 
            "name": "Phyrexian Arena", 
            "number": "283", 
            "set": "one", 
            "uuid": "dab29a67-28a9-5847-a77e-1f0771b55be1"
        }
    ],
    "...": []
}

pack

A pack object refers to an existing object in MTGJson {set}.booster. When pack is included in the product contents, the card_count parameter is required.

pack objects have the following properties:

set: [str] Set code
code: [str] Internal reference code targeting {set}.booster. 'default' refers to the draft booster for a given set.

Example pack YAML input:

  Unlimited Edition Booster Pack:
    pack:
    - set: 2ed
      code: default

JSON result:

"contents": {
    "pack": [
        {
            "code": "default", 
            "set": "2ed"
        }
    ]
}

deck

A deck object refers to a precompiled deck object. When deck is included in the product contents, the card_count parameter is required.

deck objects have the following properties:

set: [str] Set code
name: [str] The deck's name matching its MTGJson object.

Example deck YAML input:

  7th Edition Theme Deck Armada:
    deck:
    - set: 7ed
      name: Armada

JSON result:

"contents": {
    "deck": [
        {
            "name": "Armada",
            "set": "7ed"
        }
    ]
}

sealed

A sealed object refers to another sealed object.

sealed objects have the following properties:

set: [str] Set code
name: [str] The product name
count: [int] Count of included products
uuid: [str, calculated] The MTGJson UUID of the linked product. This is calculated by the compiler and should not be added in the YAML.

Example sealed YAML input:

  Unlimited Edition Booster Box:
    sealed:
    - count: 36
      name: Unlimited Edition Booster Pack
      set: 2ed

JSON result:

"contents": {
    "sealed": [
        {
            "count": 36,
            "name": "Unlimited Booster Pack",
            "set": "2ed",
            "uuid": "3f7ddeba-52f5-5f8f-a013-309403c8a870"
        }
    ]
}

variable

A variable object contains a list of possible contents for the product.

variable products are defined in two sections: the main variable key and the variable_mode key.

The variable key defines all the possible sub-components to be chosen from randomly.

The variable_mode key defines how the components will be randomized.

variable objects have the following properties:

configs: [list[object]] A list of the possible configuration objects

variable_mode objects have the following properties:

count: [int] The number of components to pull
replacement: [bool] Whether duplicates are allowed in the randomization

Example variable YAML input:

  Amonkhet Booster Battle Pack:
    card_count: 60
    sealed:
    - count: 2
      name: Amonkhet Booster Pack
      set: akh
    variable:
    - deck:
      - name: Amonkhet Welcome Deck - White
        set: w17
    - deck:
      - name: Amonkhet Welcome Deck - Blue
        set: w17
    - deck:
      - name: Amonkhet Welcome Deck - Black
        set: w17
    - deck:
      - name: Amonkhet Welcome Deck - Red
        set: w17
    - deck:
      - name: Amonkhet Welcome Deck - Green
        set: w17
    variable_mode:
      count: 2
      replacement: false

JSON result:

"contents": {
    "sealed": [
        {
            "count": 2,
            "name": "Amonkhet Booster Pack",
            "set": "akh",
            "uuid": "bdfaa43d-9ebd-502f-856b-11eadc97b026"
        }
    ], 
    "variable": [
        {
            "configs": [
                {
                    "deck": [
                        {
                            "name": "Amonkhet Welcome Deck - White",
                            "set": "w17"
                        }, 
                        {
                            "name": "Amonkhet Welcome Deck - Blue",
                            "set": "w17"
                        }
                    ]
                }, 
                {
                    "deck": [
                        {
                            "name": "Amonkhet Welcome Deck - White",
                            "set": "w17"
                        },
                        {
                            "name": "Amonkhet Welcome Deck - Black",
                            "set": "w17"
                        }
                    ]
                },
                {"...": ""}
            ]
        }
    ]
}

other

An other object refers to things not included in MTGJson.

other objects have the following property:

name: [str] A string describing the object

Example other YAML input:

  Unlimited Edition Starter Deck:
    pack:
    - set: 2ed
      code: starter
    other:
    - name: Unlimited Edition Starter Deck Rulebook

JSON result:

"contents": {
    "other": [
        {
            "name": "Unlimited Edition Starter Deck Rulebook"
        }
    ],
    "pack": [
        {
            "code": "starter",
            "set": "2ed"
        }
    ]
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages