Skip to content

Data Pack Reference

messire edited this page Sep 26, 2026 · 5 revisions

Siegeworks loads engine and projectile profiles from server data packs. A higher-priority file with the same namespace and path replaces the built-in profile after /reload.

Engine profiles

Path:

data/<namespace>/definitions/siege_engines/<engine_id>.json

The file name must match the entity path, such as culverin.json or trebuchet.json.

{
  "baseDamage": 78.0,
  "projectileSpeed": 145.0,
  "accuracyMultiplier": 0.07,
  "scattershot": {
    "capacity": 12,
    "minPellets": 1,
    "maxPellets": 12,
    "pelletsPerLoadedItemMin": 2,
    "pelletsPerLoadedItemMax": 3,
    "spreadDegrees": 5.5,
    "baseDamagePerPellet": 47.3
  }
}

baseDamage, projectileSpeed and accuracyMultiplier control the machine's attack. The optional scattershot object controls capacity, pellet count, spread and pellet damage for machines that support it.

An optional damageConfig object determines what can damage the machine. Its entityDamageSources, itemDamageSources and damageTypeSources maps check an exact registry ID before *. entityDamageMultipliers scales direct damage from accepted entity types.

Movement and loading timings are configured in siegeworks-server.toml.

Projectile profiles

Path:

data/<namespace>/definitions/projectile_physics/<projectile_entity_id>.json
Field Meaning
mass Kinetic-energy mass term.
penetration Converts energy into penetration budget.
drag Fraction of velocity removed each tick.
impactFuse Detonate on impact and stop kinetic continuation.
blockCostMultiplier Multiplier on penetration cost.
blockDamageMultiplier Structural impact multiplier.
energyLossMultiplier Energy removed while penetrating material.
armorPiercing Compensation for living-entity armour.
entityDamageMultiplier Direct entity-damage multiplier.
shockRadius / shockDamageMultiplier Radial impact damage.
baseExplosionPower / speedExplosionScale Impact explosion strength.
shrapnelFragments, shrapnelRadius, shrapnelDamage Secondary fragment burst.

See Ballistics for how these values interact.

Blueprints

Siegeworks blueprints are stored under:

data/<namespace>/blueprints/*.json

They use Axiomata's blueprint and staged-construction format. See the Axiomata Blueprint Data reference.

Clone this wiki locally