DUXPLIMA Documentation

builders.yml

Every builder, its levels, its NPC appearance and its unlock rules.

Appearance and stats live together, one entry per builder. The file is validated when it loads and refused with a numbered error if a rule is broken.

builders:
  mason:
    display: "<gold>Mason</gold>"
    icon: PLAYER_HEAD
    description:
      - "<gray>A master of stone work.</gray>"
    appearance:
      type: PLAYER
      texture: ""
      signature: ""
      equipment:
        head: CHAINMAIL_HELMET
        hand: STONE_BRICKS
      trailParticle: ""
      placeSound: BLOCK_STONE_PLACE
    buildOrderOverride: ""
    unlock:
      price: 50000
      permission: ""
    levels:
      1: { name: "Stone Apprentice", blocksPerSecond: 5,  efficiency: 0.00, price: 0 }
      2: { name: "Journeyman Mason", blocksPerSecond: 8,  efficiency: 0.05, price: 75000 }
      3: { name: "Master Mason",     blocksPerSecond: 12, efficiency: 0.10, price: 150000 }

The builder

KeyMeaning
displayName in menus, MiniMessage
iconMaterial in the crew menu
descriptionLore lines in the crew menu
buildOrderOverrideForces a build order for this builder, above the package's
unlock.priceWhat buying the builder costs
unlock.permissionNeeded to buy it; empty means anyone

appearance

KeyMeaning
typePLAYER or MOB
texture, signatureA skin for PLAYER; empty uses the default skin
entityThe mob for MOB, for example ZOMBIE; unknown values become a zombie
equipment.head, equipment.handWhat the NPC wears and holds while idle
trailParticleA particle left behind as it walks
placeSoundPlayed as it places blocks

While working, the NPC holds the block it is about to place.

levels

KeyMeaning
nameThe level's title in menus and placeholders
blocksPerSecondPlacement and walking speed
efficiencyChance, 0.00 to 1.00, that a block costs no material
priceCost of reaching this level; the first level's is ignored

Validation

CodeRule
UB-060Levels start at 1 and increase without gaps; a builder has at least one
UB-061blocksPerSecond never decreases from one level to the next
UB-062builders.default in config.yml names a builder defined here
UB-063A MOB appearance has an entity

Notes

  • uxmbuilders.builder.<id> grants a builder and uxmbuilders.builder.<id>.level.<n> a level, as if bought. Both are registered so operators do not hold them by default.
  • /builders admin setbuilder <player> <builder> [level] sets a level directly and saves it at once.

Related: Builders, packages.yml