Builder Base

Builder Base Troops & Heroes

Every unit trained in the Builder Barracks, plus the two Builder Base heroes.


Troops

builder().troops() returns a BuilderBaseTroops query over all 12 troops.

import { builder } from 'clash-of-clans-data'

const cannonCart = builder().troops().cannonCart().first()!
const airTroops = builder().troops().byTargetType('air').get()

Entities (12)

ragedBarbarian · sneakyArcher · boxerGiant · betaMinion · bomber · babyDragon · cannonCart · nightWitch · dropShip · powerPekka · hogGlider · electrofireWizard

Filters

MethodSignatureDescription
byDamageTypebyDamageType(type: BuilderTroop['damageType'])Filter by damage type.
byTargetTypebyTargetType(type: BuilderTroop['targetType'])Filter by target type ('ground', 'air', 'both').

Heroes

builder().heroes() returns a BuilderBaseHeroes query over both Builder Base heroes.

import { builder } from 'clash-of-clans-data'

const battleMachine = builder().heroes().battleMachine().first()!
console.log(battleMachine.ability?.name)

Entities (2)

battleMachine · battleCopter

Filters

MethodSignatureDescription
byBuilderHallbyBuilderHall(level: number)Filter to heroes available at a given Builder Hall level.

Type shape

Builder Base heroes carry a charge-based ability with three charge levels instead of a single special ability string:

interface BuilderHero {
  id: string
  name: string
  preferredTarget: string
  attackType: string
  ability?: BuilderHeroAbility
  images: { icon: string }
  levels: BuilderHeroLevel[]
}

interface BuilderHeroAbility {
  name: string
  cooldownPerChargeLevel: number
  levels: BuilderHeroAbilityLevel[]
}

interface BuilderHeroAbilityLevel {
  abilityLevel: number
  chargeLevel1: BuilderHeroAbilityChargeLevel
  chargeLevel2: BuilderHeroAbilityChargeLevel
  chargeLevel3: BuilderHeroAbilityChargeLevel
}

Next steps

Previous
Defenses & traps