Build Planner GBP1 Toolkit

GBP1 format 9

Field reference

These are the fields accepted by all three encoders. Optional sections can be left out. Keep the fixed positions in skill and Champion bars, and only send an ESO ID when you know it is the right one.

Open example build Back to the toolkit
Build and setup objects

The root requires a name and at least one setup. selectedSetup is a one-based array index.

Root fieldTypeRequirement
namestringRequired; 1-100 bytes
role, patch, author, sourceUrlstringOptional; up to 512 bytes each
notesstringOptional; up to 4,000 bytes
classIdintegerOptional; Build Planner accepts 0-100
setupsarrayRequired; 1-100 setup objects
selectedSetupinteger1 through the number of setups; defaults to 1
Setup fieldTypeDefault or limit
namestringRequired; 1-100 bytes
notestringOptional; 4,000 bytes
defaultQualityinteger1-5; default 5
defaultLevelinteger1-50; default 50
defaultChampionPointsinteger0-160; default 160
equipment, alternativesobjectCanonical equipment-slot maps
skillBars, character, champion, buffAssumptionsobjectOptional sections
consumables, checklistarrayOptional ordered sections
Equipment and alternatives

Canonical keys are head, shoulders, chest, hands, waist, legs, feet, neck, ring1, ring2, frontMain, frontOff, backMain, and backOff.

FieldTypeNotes
setId, itemIdintegerOptional positive ESO IDs
setName, itemName, enchantmentNamestringOptional display and matching values; up to 512 bytes
itemLinkstringOptional ESO item link; up to 2,048 bytes
armorType, weaponType, traitTypeintegerESO constants valid for the slot family
enchantmentId, enchantmentCategoryintegerOptional ESO enchantment identity
quality, level, championPointsintegerOptional overrides for setup defaults
preferredRoutestringbuy, craft, farm, reconstruct, transmute, or unknown
notestringOptional; up to 4,000 bytes

Each alternatives array accepts up to eight compatible requirements and is only valid when that slot has primary equipment. Alternatives omit preferredRoute. A two-handed main hand cannot have an off-hand requirement.

Front- and back-bar skills

Each bar is an array of at most six positions. Positions 1-5 are active abilities and position 6 is the ultimate. Use null to preserve an empty position before a populated later position.

Skill fieldTypeRequirement
abilityIdintegerRequired positive ESO ability ID
namestringOptional display fallback; up to 100 bytes
iconstringOptional icon path; up to 512 bytes
"skillBars": {
  "front": [{ "abilityId": 1001, "name": "Deep Fissure" }, null, null, null, null,
            { "abilityId": 1006, "name": "Wild Guardian" }],
  "back": []
}
Character choices
FieldRangeNotes
attributes.health, magicka, stamina0-64 eachCombined total cannot exceed 64
raceId0-100 means unspecified
mundus0-130 means unspecified
curse0-20 none, 1 vampire, 2 werewolf
subclassLines0-3 stringsEach class-line name is at most 100 bytes
Champion allocations and slottables

champion contains craft, warfare, and fitness. Each discipline contains up to 200 allocations and four fixed slottable positions.

Allocation fieldTypeRequirement
skillIdintegerRequired and unique across every discipline
namestringRequired; up to 100 bytes
iconstringOptional; up to 512 bytes
pointsinteger1-1,000
isSlottablebooleanMust be true before its ID can be placed in slottables

A slotted ID must refer to an allocation in the same discipline and cannot appear twice. Preserve empty positions with null or zero.

Consumables, progression, and assumptions

Consumables

Up to 20 entries. category is food, drink, potion, poison, or other. name is required; optional fields are itemId, itemLink, icon, and note. quantity is 1-9,999 and defaults to 1.

Checklist

Up to 100 entries. category is passive, skillLine, unlock, or other. Each entry requires name and may contain targetRank (1-50), completed, abilityId, icon, note, and detection.

Detection kind is passive, skillLine, ability, champion, championSlotted, or trait. Its optional identifiers are id, skillType, skillLineIndex, craftingType, researchLineIndex, and traitIndex.

Buff assumptions

food and potion are optional 512-byte descriptions. selfBuffs, groupBuffs, and targetConditions each accept up to 20 non-empty 512-byte strings. These are descriptive assumptions rather than exact character-stat calculations.