DUXPLIMA Documentation

Builders

Crews with levels, unlock prices, package affinity and an NPC appearance.

A builder is the crew a player hires. It decides how fast a job goes, how much material it wastes, and what the NPC on the site looks like. Players manage theirs in /builders crew.

The shipped builders

IdLooks likeLevelsSpeed range (blocks/s)Unlock
apprenticeA player in a leather helmet32 to 6Free, the default
masonA player with stone bricks55 to 1850,000
robotA player with redstone, electric sparks58 to 30150,000 and uxmbuilders.builder.robot
wizardA player with a blaze rod, builds in RANDOM order510 to 40250,000 and uxmbuilders.builder.wizard
zombie_crewA zombie with planks44 to 16100,000

Every number is yours to change in builders.yml.

Levels

Each level sets three things:

StatEffect
blocksPerSecondPlacement speed, and the NPC's walking speed
efficiencyThe chance a placed block takes no material from the warehouse
priceWhat buying this level costs

blocksPerSecond may not fall from one level to the next; the file is refused at load if it does. However fast a builder is, performance.blocksPerTick is the ceiling.

Owning and upgrading

ActionHow
Buy a builder/builders crew buy <builder> or the crew menu; pays unlock.price and checks unlock.permission
Select it/builders crew select <builder>; only owned builders, and only with builders.allowSwitching
Upgrade it/builders crew upgrade <builder>; pays the next level's price
Grant ituxmbuilders.builder.<id> or uxmbuilders.builder.<id>.level.<n> count as owned
Set it as staff/builders admin setbuilder <player> <builder> [level]

New players start with builders.default. A running build keeps the builder and level it started with; upgrading speeds up the next build, not the current one.

Package affinity

A package can favour a builder:

packages:
  castle_medium:
    builderAffinity:
      mason: 1.15
      robot: 1.05

Masons build this package 15% faster. Use it to make builder choice matter for specific packages rather than raising one builder's speed everywhere.

The NPC

One NPC per job, sent as packets only: no server entity, no AI, no collision, no entity-count cost. It walks to each block it places, holds that block, swings, and plays the builder's placeSound.

SettingDefaultMeaning
npc.enabledtrueTurn NPCs off entirely; builds continue without them
npc.nameFormat%builder.name% in yellow boldThe nameplate
npc.viewDistance48Who receives the NPC packets
npc.teleportThreshold24Beyond this the NPC teleports instead of walking
npc.hideFromTablisttrueKeep player-shaped NPCs out of the tab list

appearance.type is PLAYER (with an optional skin texture and signature) or MOB with an entity. A paused job's NPC lies down on the site until the job resumes. /builders admin npc killall removes every NPC while the builds keep running.

Related: Building and performance, builders.yml