Skip to content

Types

Block

Block

extends UnlockableContent

field type default notes
hasItems boolean false
hasLiquids boolean false
hasPower boolean false
outputsLiquid boolean false
consumesPower boolean true
outputsPower boolean false
outputsPayload boolean false
outputFacing boolean true
acceptsItems boolean false
itemCapacity int 10
liquidCapacity float 10.0
liquidPressure float 1.0
bars BlockBars new BlockBars()
consumes Consumers new Consumers()
displayFlow boolean true whether to display flow rate
inEditor boolean true whether this block is visible in the editor
lastConfig Object null the last configuration value applied to this block.
saveConfig boolean false whether to save the last config and apply it to newly placed blocks
copyConfig boolean true whether to allow copying the config through middle click
update boolean false whether this block has a tile entity that updates
destructible boolean false whether this block has health and can be destroyed
unloadable boolean true whether unloaders work on this block
solid boolean false whether this is solid
solidifes boolean false whether this block CAN be solid.
rotate boolean false whether this is rotateable
saveData boolean false for static blocks only: if true, tile data() is saved in world data.
breakable boolean false whether you can break this with rightclick
rebuildable boolean true whether to add this block to brokenblocks
requiresWater boolean false whether this block can only be placed on water
placeableLiquid boolean false whether this block can be placed on any liquids, anywhere
placeableOn boolean true whether this floor can be placed on.
insulated boolean false whether this block has insulating properties.
squareSprite boolean true whether the sprite is a full square.
absorbLasers boolean false whether this block absorbs laser attacks.
enableDrawStatus boolean true if false, the status is never drawn
drawDisabled boolean true whether to draw disabled status
autoResetEnabled boolean true whether to automatically reset enabled status after a logic block has not interacted for a while.
noUpdateDisabled boolean false if true, the block stops updating when disabled
useColor boolean true Whether to use this block's color in the minimap. Only used for overlays.
health int -1 tile entity health
baseExplosiveness float 0.0 base block explosiveness
floating boolean false whether this block can be placed on edges of liquids.
size int 1 multiblock size
offset float 0.0 multiblock offset
expanded boolean false Whether to draw this block in the expanded draw range.
timers int 1 Max of timers used.
cacheLayer CacheLayer normal Cache layer. Only used for 'cached' rendering.
fillsTile boolean true Special flag; if false, floor will be drawn under this block even if it is cached.
alwaysReplace boolean false whether this block can be replaced in all cases
replaceable boolean true if false, this block can never be replaced.
group BlockGroup none The block group. Unless {@link #canReplace} is overriden, blocks in the same group can replace each other.
flags EnumSet of() List of block flags. Used for AI indexing.
priority TargetPriority base Targeting priority of this block, as seen by enemies .
unitCapModifier int 0 How much this block affects the unit cap by. The block flags must contain unitModifier in order for this to work.
configurable boolean false Whether the block can be tapped and selected to configure.
logicConfigurable boolean false If true, this block can be configured by logic.
consumesTap boolean false Whether this block consumes touchDown events when tapped.
drawLiquidLight boolean true Whether to draw the glow of the liquid for this block, if it has one.
sync boolean false Whether to periodically sync this block across the network.
conveyorPlacement boolean false Whether this block uses conveyor-type placement mode.
swapDiagonalPlacement boolean false Whether to swap the diagonal placement modes.
schematicPriority int 0 Build queue priority in schematics.
mapColor Color 000000ff The color of this block when displayed on the minimap or map preview. Do not set manually! This is overridden when loading for most blocks.
hasColor boolean false Whether this block has a minimap color.
targetable boolean true Whether units target this block.
canOverdrive boolean true Whether the overdrive core has any effect on this block.
outlineColor Color 404049ff Outlined icon color.
outlineIcon boolean false Whether any icon region has an outline added.
outlinedIcon int -1 Which of the icon regions gets the outline added.
hasShadow boolean true Whether this block has a shadow under it.
breakSound Sound boom Sounds made when this block breaks.
albedo float 0.0 How reflective this block is.
lightColor Color ffffffff Environmental passive light color.
emitLight boolean false Whether this environmental block passively emits light. Not valid for non-environmental blocks.
lightRadius float 60.0 Radius of the light emitted by this block.
loopSound Sound none The sound that this block makes while active. One sound loop. Do not overuse.
loopSoundVolume float 0.5 Active sound base volume.
ambientSound Sound none The sound that this block makes while idle. Uses one sound loop for all blocks.
ambientSoundVolume float 0.05 Idle sound base volume.
requirements ItemStack[] [] Cost of constructing this block.
category Category distribution Category in place menu.
buildCost float 0.0 Cost of building this block; do not modify directly!
buildVisibility BuildVisibility hidden Whether this block is visible and can currently be built.
buildCostMultiplier float 1.0 Multiplier for speed of building this block.
deconstructThreshold float 0.0 Build completion at which deconstruction finishes.
researchCostMultiplier float 1.0 Multiplier for cost of research in tech tree.
instantTransfer boolean false Whether this block has instant transfer.
quickRotate boolean true Whether you can rotate this block with Keybind rotateplaced + Scroll Wheel.
subclass Class<?> class mindustry.world.Block Main subclass. Non-anonymous.
buildType Prov null
configurations ObjectMap<Class<?>,Cons2> new ObjectMap<>()
region TextureRegion null
editorIcon TextureRegion null
teamRegion TextureRegion null
teamRegions TextureRegion[] null

Accelerator

extends Block

field type default notes
arrowRegion TextureRegion null
launching Block coreNucleus
capacities int[] []

AirBlock

extends Floor

ArmoredConduit

extends Conduit

field type default notes
capRegion TextureRegion null

ArmoredConveyor

extends Conveyor

AttributeSmelter

extends GenericSmelter

A smelter that gains efficiency from attribute tiles.

field type default notes
attribute Attribute heat
baseEfficiency float 1.0
boostScale float 1.0
maxHeatBoost float 1.0

BaseTurret

extends Block

field type default notes
range float 80.0
rotateSpeed float 5.0
acceptCoolant boolean true
coolEffect Effect fuelburn Effect displayed when coolant is used.
coolantMultiplier float 5.0 How much reload is lowered by for each unit of liquid of heat capacity.

Battery

extends PowerDistributor

field type default notes
topRegion TextureRegion null
emptyLightColor Color f8c266ff
fullLightColor Color fb9567ff

BlockForge

extends PayloadAcceptor

field type default notes
buildSpeed float 0.4
minBlockSize int 1
maxBlockSize int 2

BlockLoader

extends PayloadAcceptor

field type default notes
timerLoad int 1
loadTime float 2.0
itemsLoaded int 5
liquidsLoaded float 5.0
maxBlockSize int 2

BlockUnloader

extends BlockLoader

Boulder

extends Block

field type default notes
variants int 0

BufferedItemBridge

extends ExtendingItemBridge

field type default notes
timerAccept int 2
speed float 40.0
bufferCapacity int 50

BurnerGenerator

extends ItemLiquidGenerator

field type default notes
turbineRegions TextureRegion[] null
capRegion TextureRegion null
turbineSpeed float 2.0

Cliff

extends Block

field type default notes
size float 11.0
cliffs TextureRegion[] null

CommandCenter

extends Block

field type default notes
commandRegions TextureRegionDrawable[] []
topColor Color null
bottomColor Color 5e5e5eff
effect Effect commandSend

Conduit

extends LiquidBlock

field type default notes
timerFlow int 1
botColor Color 565656ff
topRegions TextureRegion[] null
botRegions TextureRegion[] null
leaks boolean true

Conveyor

extends Block

field type default notes
regions TextureRegion[][] null
speed float 0.0
displayedSpeed float 0.0

CoreBlock

extends StorageBlock

field type default notes
unitType UnitType alpha
timerResupply int 1
ammoAmount int 5
resupplyRate float 10.0
resupplyRange float 60.0
resupplyItem Item copper

Cultivator

extends GenericCrafter

field type default notes
plantColor Color 5541b1ff
plantColorLight Color 7457ceff
bottomColor Color 474747ff
middleRegion TextureRegion null
topRegion TextureRegion null
random Rand new Rand(0)
recurrence float 6.0
attribute Attribute spores

DecayGenerator

extends ItemLiquidGenerator

Door

extends Wall

field type default notes
timerToggle int 1
openfx Effect dooropen
closefx Effect doorclose
doorSound Sound door
openRegion TextureRegion null

DoubleOverlayFloor

extends OverlayFloor

Drill

extends Block

field type default notes
hardnessDrillMultiplier float 50.0
tier int 0 Maximum tier of blocks this drill can mine.
drillTime float 300.0 Base time to drill one ore, in frames.
liquidBoostIntensity float 1.6 How many times faster the drill will progress when boosted by liquid.
warmupSpeed float 0.02 Speed at which the drill speeds up.
drawMineItem boolean true Whether to draw the item this drill is mining.
drillEffect Effect mine Effect played when an item is produced. This is colored.
rotateSpeed float 2.0 Speed the drill bit rotates at.
updateEffect Effect pulverizeSmall Effect randomly played while drilling.
updateEffectChance float 0.02 Chance the update effect will appear.
drawRim boolean false
heatColor Color ff5512ff
rimRegion TextureRegion null
rotatorRegion TextureRegion null
topRegion TextureRegion null
itemRegion TextureRegion null

ExtendingItemBridge

extends ItemBridge

Floor

extends Block

field type default notes
variants int 3 number of different variant regions to use
edge String "stone" edge fallback, used mainly for ores
speedMultiplier float 1.0 Multiplies unit velocity by this when walked on.
dragMultiplier float 1.0 Multiplies unit drag by this when walked on.
damageTaken float 0.0 Damage taken per tick on this tile.
drownTime float 0.0 How many ticks it takes to drown on this.
walkEffect Effect none Effect when walking on this floor.
walkSound Sound none Sound made when walking.
walkSoundVolume float 0.1 Volume of sound made when walking.
walkSoundPitchMin float 0.8 Volume of sound made when walking.
walkSoundPitchMax float 1.2 Volume of sound made when walking.
drownUpdateEffect Effect bubble Effect displayed when drowning on this floor.
status StatusEffect none Status effect applied when walking on.
statusDuration float 60.0 Intensity of applied status effect.
liquidDrop Liquid null liquids that drop from this block, used for pumps
liquidMultiplier float 1.0 Multiplier for pumped liquids, used for deep water.
itemDrop Item null item that drops from this block, used for drills
isLiquid boolean false whether this block can be drowned in
playerUnmineable boolean false if true, this block cannot be mined by players. useful for annoying things like sand.
blendGroup Block this Group of blocks that this block does not draw edges on.
updateEffect Effect none Effect displayed when randomly updated.
attributes Attributes new Attributes() Array of affinities to certain things.
oreDefault boolean false Whether this ore generates in maps by default.
oreScale float 24.0 Ore generation params.
oreThreshold float 0.828 Ore generation params.
wall Block air Wall variant of this block. May be Blocks.air if not found.
decoration Block air Decoration block. Usually a rock. May be air.
needsSurface boolean true Whether this overlay needs a surface to be on. False for floating blocks, like spawns.

ForceProjector

extends Block

field type default notes
timerUse int 1
phaseUseTime float 350.0
phaseRadiusBoost float 80.0
phaseShieldBoost float 400.0
radius float 101.7
shieldHealth float 700.0
cooldownNormal float 1.75
cooldownLiquid float 1.5
cooldownBrokenBase float 0.35
basePowerDraw float 0.2
topRegion TextureRegion null

Fracker

extends SolidPump

field type default notes
itemUseTime float 100.0
liquidRegion TextureRegion null
rotatorRegion TextureRegion null
topRegion TextureRegion null

GenericCrafter

extends Block

field type default notes
outputItem ItemStack null
outputLiquid LiquidStack null
craftTime float 80.0
craftEffect Effect none
updateEffect Effect none
updateEffectChance float 0.04
drawer DrawBlock new DrawBlock()

GenericSmelter

extends GenericCrafter

A GenericCrafter with a new glowing region drawn on top.

field type default notes
flameColor Color ffc999ff
topRegion TextureRegion null

ImpactReactor

extends PowerGenerator

field type default notes
timerUse int 1
warmupSpeed float 0.001
itemDuration float 60.0
explosionRadius int 23
explosionDamage int 1900
plasma1 Color ffd06bff
plasma2 Color ff361bff
bottomRegion TextureRegion null
plasmaRegions TextureRegion[] null

Incinerator

extends Block

field type default notes
effect Effect fuelburn
flameColor Color ffad9dff

ItemBridge

extends Block

field type default notes
timerTransport int 1
range int 0
transportTime float 2.0
endRegion TextureRegion null
bridgeRegion TextureRegion null
arrowRegion TextureRegion null
lastBuild ItemBridgeBuild null

ItemLiquidGenerator

extends PowerGenerator

Power generation block which can use items, liquids or both as input sources for power production. Liquids will take priority over items.

field type default notes
minItemEfficiency float 0.2
itemDuration float 70.0 The time in number of ticks during which a single item will produce power.
minLiquidEfficiency float 0.2
maxLiquidGenerate float 0.4 Maximum liquid used per frame.
generateEffect Effect generatespark
explodeEffect Effect generatespark
heatColor Color ff9b59ff
topRegion TextureRegion null
liquidRegion TextureRegion null
randomlyExplode boolean true
defaults boolean false

ItemSource

extends Block

ItemTurret

extends Turret

field type default notes
ammoTypes ObjectMap new ObjectMap<>()

ItemVoid

extends Block

Junction

extends Block

field type default notes
speed float 26.0
capacity int 6

LaserTurret

extends PowerTurret

field type default notes
firingMoveFract float 0.25
shootDuration float 100.0

LaunchPad

extends Block

field type default notes
timerLaunch int 1
launchTime float 0.0 Time inbetween launches.
launchSound Sound none
lightRegion TextureRegion null
podRegion TextureRegion null
lightColor Color eab678ff

LegacyBlock

extends Block

Any subclass of this will be removed upon world load.

LegacyMechPad

extends LegacyBlock

LegacyUnitFactory

extends LegacyBlock

field type default notes
replacement Block air

LightBlock

extends Block

field type default notes
brightness float 0.9
radius float 200.0
topRegion TextureRegion null

LiquidBlock

extends Block

field type default notes
liquidRegion TextureRegion null
topRegion TextureRegion null
bottomRegion TextureRegion null

LiquidBridge

extends ItemBridge

LiquidConverter

extends GenericCrafter

LiquidExtendingBridge

extends ExtendingItemBridge

LiquidJunction

extends LiquidBlock

LiquidRouter

extends LiquidBlock

LiquidSource

extends Block

LiquidTurret

extends Turret

field type default notes
ammoTypes ObjectMap new ObjectMap<>()
liquidRegion TextureRegion null
topRegion TextureRegion null
extinguish boolean true

LiquidVoid

extends Block

LogicBlock

extends Block

field type default notes
maxInstructionScale int 5
instructionsPerTick int 1
range float 80.0

LogicDisplay

extends Block

field type default notes
maxSides int 25
displaySize int 64

MassDriver

extends Block

field type default notes
range float 0.0
rotateSpeed float 0.04
translation float 7.0
minDistribute int 10
knockback float 4.0
reloadTime float 100.0
bulletSpeed float 5.5
bulletLifetime float 200.0
shootEffect Effect shootBig2
smokeEffect Effect shootBigSmoke2
receiveEffect Effect mineBig
shootSound Sound shootBig
shake float 3.0
baseRegion TextureRegion null

MemoryBlock

extends Block

field type default notes
memoryCapacity int 32

MendProjector

extends Block

field type default notes
timerUse int 1
baseColor Color 84f491ff
phaseColor Color ffd59eff
topRegion TextureRegion null
reload float 250.0
range float 60.0
healPercent float 12.0
phaseBoost float 12.0
phaseRangeBoost float 50.0
useTime float 400.0

MessageBlock

extends Block

field type default notes
maxTextLength int 220
maxNewlines int 24

NuclearReactor

extends PowerGenerator

field type default notes
timerFuel int 1
tr Vec2 (0.0,0.0)
lightColor Color 7f19eaff
coolColor Color ffffff00
hotColor Color ff9575a3
itemDuration float 120.0 ticks to consume 1 fuel
heating float 0.01 heating per frame * fullness
smokeThreshold float 0.3 threshold at which block starts smoking
flashThreshold float 0.46 heat threshold at which lights start flashing
explosionRadius int 19
explosionDamage int 1250
coolantPower float 0.5 heat removed per unit of coolant
topRegion TextureRegion null
lightsRegion TextureRegion null

OverdriveProjector

extends Block

field type default notes
timerUse int 1
topRegion TextureRegion null
reload float 60.0
range float 80.0
speedBoost float 1.5
speedBoostPhase float 0.75
useTime float 400.0
phaseRangeBoost float 20.0
hasBoost boolean true
baseColor Color feb380ff
phaseColor Color ffd59eff

OverflowGate

extends Block

field type default notes
speed float 1.0
invert boolean false

OverlayFloor

extends Floor

A type of floor that is overlaid on top of other floors.

OreBlock

extends OverlayFloor

An overlay ore for a specific item type.

PayloadAcceptor

extends Block

field type default notes
payloadSpeed float 0.5
payloadRotateSpeed float 5.0
topRegion TextureRegion null
outRegion TextureRegion null
inRegion TextureRegion null

PayloadConveyor

extends Block

field type default notes
moveTime float 40.0
moveForce float 201.0
topRegion TextureRegion null
edgeRegion TextureRegion null
interp Interp pow5
payloadLimit float 2.5

PayloadRouter

extends PayloadConveyor

field type default notes
overRegion TextureRegion null

PointDefenseTurret

extends ReloadTurret

field type default notes
timerTarget int 1
retargetTime float 5.0
baseRegion TextureRegion null
color Color ffffffff
beamEffect Effect pointBeam
hitEffect Effect pointHit
shootEffect Effect sparkShoot
shootSound Sound lasershoot
shootCone float 5.0
bulletDamage float 10.0
shootLength float 3.0

PowerBlock

extends Block

PowerDiode

extends Block

field type default notes
arrow TextureRegion null

PowerDistributor

extends PowerBlock

PowerGenerator

extends PowerDistributor

field type default notes
powerProduction float 0.0 The amount of power produced per tick in case of an efficiency of 1.0, which represents 100%.
generationType Stat basePowerGeneration

PowerNode

extends PowerBlock

field type default notes
laser TextureRegion null
laserEnd TextureRegion null
laserRange float 6.0
maxNodes int 3
laserColor1 Color ffffffff
laserColor2 Color fbd367ff

PowerSource

extends PowerNode

field type default notes
powerProduction float 10000.0

PowerTurret

extends Turret

field type default notes
shootType BulletType null
powerUse float 1.0

PowerVoid

extends PowerBlock

Pump

extends LiquidBlock

field type default notes
pumpAmount float 0.2 Pump amount per tile.

Reconstructor

extends UnitBlock

field type default notes
constructTime float 120.0
upgrades Seq new Seq<>()
capacities int[] []

ReloadTurret

extends BaseTurret

field type default notes
reloadTime float 10.0

RepairPoint

extends Block

field type default notes
timerTarget int 1
repairRadius float 50.0
repairSpeed float 0.3
powerUse float 0.0
baseRegion TextureRegion null
laser TextureRegion null
laserEnd TextureRegion null
laserColor Color e8ffd7ff

ResupplyPoint

extends Block

field type default notes
timerResupply int 1
ammoAmount int 10
resupplyRate float 5.0
range float 60.0
ammoColor Color d99d73ff

Router

extends Block

field type default notes
speed float 8.0

Separator

extends Block

Extracts a random list of items from an input item and an input liquid.

field type default notes
results ItemStack[] null
craftTime float 0.0
liquidRegion TextureRegion null
spinnerRegion TextureRegion null
spinnerSpeed float 3.0

ShallowLiquid

extends Floor

Do not use in mods. This class provides no new functionality, and is only used for the Mindustry sprite generator. Use the standard Floor class instead.

field type default notes
liquidBase Floor null
floorBase Floor null
liquidOpacity float 0.35

ShockMine

extends Block

field type default notes
timerDamage int 1
cooldown float 80.0
tileDamage float 5.0
damage float 13.0
length int 10
tendrils int 6
lightningColor Color a9d8ffff

SingleTypeGenerator

extends ItemLiquidGenerator

SolarGenerator

extends PowerGenerator

SolidPump

extends Pump

Pump that makes liquid from solids and takes in power. Only works on solid floor blocks.

field type default notes
result Liquid water
updateEffect Effect none
updateEffectChance float 0.02
rotateSpeed float 1.0
baseEfficiency float 1.0
attribute Attribute null Attribute that is checked when calculating output.
rotatorRegion TextureRegion null

Sorter

extends Block

field type default notes
invert boolean false

SpawnBlock

extends OverlayFloor

StackConveyor

extends Block

field type default notes
regions TextureRegion[] null
edgeRegion TextureRegion null
stackRegion TextureRegion null
speed float 0.0
splitOut boolean true
recharge float 2.0 (minimum) amount of loading docks needed to fill a line.
loadEffect Effect plasticburn
unloadEffect Effect plasticburn

StaticWall

extends Boulder

field type default notes
large TextureRegion null
split TextureRegion[][] null

StaticTree

extends StaticWall

StorageBlock

extends Block

SwitchBlock

extends Block

field type default notes
onRegion TextureRegion null

ThermalGenerator

extends PowerGenerator

field type default notes
generateEffect Effect none
attribute Attribute heat

TractorBeamTurret

extends BaseTurret

field type default notes
timerTarget int 1
retargetTime float 5.0
baseRegion TextureRegion null
laser TextureRegion null
laserEnd TextureRegion null
shootCone float 6.0
shootLength float 5.0
laserWidth float 0.6
force float 0.3
scaledForce float 0.0
damage float 0.0
targetAir boolean true
targetGround boolean false
laserColor Color ffffffff
status StatusEffect none
statusDuration float 300.0
shootSound Sound tractorbeam
shootSoundVolume float 0.9

UnitFactory

extends UnitBlock

field type default notes
capacities int[] []
plans Seq new Seq<>(4)

Wall

extends Block

field type default notes
variants int 0
lightningChance float -1.0 Lighting chance. -1 to disable
lightningDamage float 20.0
lightningLength int 17
lightningColor Color f3e979ff
lightningSound Sound spark
chanceDeflect float -1.0 Bullet deflection chance. -1 to disable
flashHit boolean false
flashColor Color ffffffff
deflectSound Sound none

Thruster

extends Wall

field type default notes
topRegion TextureRegion null

TreeBlock

extends Block

field type default notes
shadow TextureRegion null
shadowOffset float -4.0

Turret

extends ReloadTurret

field type default notes
timerTarget int 1
targetInterval int 20
heatColor Color ab3400ff
shootEffect Effect none
smokeEffect Effect none
ammoUseEffect Effect none
shootSound Sound shoot
maxAmmo int 30
ammoPerShot int 1
ammoEjectBack float 1.0
inaccuracy float 0.0
velocityInaccuracy float 0.0
shots int 1
spread float 4.0
recoilAmount float 1.0
restitution float 0.02
cooldown float 0.02
coolantUsage float 0.2
shootCone float 8.0
shootShake float 0.0
shootLength float -1.0
xRand float 0.0
minRange float 0.0 Currently used for artillery only.
burstSpacing float 0.0
alternate boolean false
targetAir boolean true
targetGround boolean true
chargeTime float -1.0
chargeEffects int 5
chargeMaxDelay float 10.0
chargeEffect Effect none
chargeBeginEffect Effect none
chargeSound Sound none
unitSort Sortf Unit::dst2
baseRegion TextureRegion null
heatRegion TextureRegion null
elevation float -1.0
drawer Cons rotation - 90)
heatDrawer Cons color();
}

UnitBlock

extends PayloadAcceptor

Unloader

extends Block

field type default notes
speed float 1.0
timerUnload int 1

Effect

Built-in constants:

none unitSpawn unitCapKill unitControl unitDespawn unitSpirit itemTransfer pointBeam pointHit lightning commandSend upgradeCore placeBlock tapBlock breakBlock select smoke fallSmoke unitWreck rocketSmoke rocketSmokeLarge magmasmoke spawn padlaunch vtolHover unitDrop unitLand unitLandSmall unitPickup landShock pickup greenBomb greenLaserCharge greenLaserChargeSmall healWaveDynamic healWave heal shieldWave shieldApply hitBulletSmall hitFuse hitBulletBig hitFlameSmall hitLiquid hitLaserBlast hitLancer hitBeam hitMeltdown hitMeltHeal instBomb instTrail instShoot instHit hitLaser hitYellowLaser despawn flakExplosion plasticExplosion plasticExplosionFlak blastExplosion sapExplosion massiveExplosion artilleryTrail incendTrail missileTrail absorb forceShrink flakExplosionBig burning fire fireSmoke steam fireballsmoke ballfire freezing melting wet muddy sapped sporeSlowed oily overdriven overclocked dropItem shockwave bigShockwave nuclearShockwave impactShockwave spawnShockwave explosion dynamicExplosion blockExplosion blockExplosionSmoke shootSmall shootHeal shootHealYellow shootSmallSmoke shootBig shootBig2 shootBigSmoke shootBigSmoke2 shootSmallFlame shootPyraFlame shootLiquid casing1 casing2 casing3 casing4 casing2Double casing3Double railShoot railTrail railHit lancerLaserShoot lancerLaserShootSmoke lancerLaserCharge lancerLaserChargeBegin lightningCharge sparkShoot lightningShoot thoriumShoot reactorsmoke nuclearsmoke cloudsmoke nuclearcloud impactsmoke impactcloud redgeneratespark generatespark fuelburn coreBurn plasticburn pulverize pulverizeRed pulverizeRedder pulverizeSmall pulverizeMedium producesmoke smokeCloud smeltsmoke formsmoke blastsmoke lava dooropen doorclose dooropenlarge doorcloselarge purify purifyoil purifystone generate mine mineBig mineHuge smelt teleportActivate teleport teleportOut ripple bubble launch launchPod healWaveMend overdriveWave healBlock healBlockFull rotateBlock lightBlock overdriveBlockFull shieldBreak unitShieldBreak coreLand

Effect

extends Object

field type default notes
id int 174
renderer Cons {code}
lifetime float 50.0
clip float 0.0 Clip size.
layer float 110.0
layerDuration float 0.0

MultiEffect

extends Effect

Renders multiple particle effects at once.

field type default notes
effects Effect[] []

ParticleEffect

extends Effect

The most essential effect class. Can create particles in various shapes.

field type default notes
colorFrom Color ffffffff
colorTo Color ffffffff
particles int 6
cone float 180.0
length float 20.0
baseLength float 0.0
interp Interp linear
sizeFrom float 2.0
sizeTo float 0.0
offset float 0.0
region String "circle"
line boolean false
strokeFrom float 2.0
strokeTo float 0.0
lenFrom float 4.0
lenTo float 2.0

WaveEffect

extends Effect

Effect that renders a basic shockwave.

field type default notes
colorFrom Color ffffffff
colorTo Color ffffffff
sizeFrom float 0.0
sizeTo float 100.0
sides int -1
rotation float 0.0
strokeFrom float 2.0
strokeTo float 0.0
interp Interp linear

Item

extends UnlockableContent

field type default notes
color Color 000000ff
explosiveness float 0.0 how explosive this item is.
flammability float 0.0 flammability above 0.3 makes this eleigible for item burners.
radioactivity float 0.0 how radioactive this item is. 0=none, 1=chernobyl ground zero
charge float 0.0 how electrically potent this item is.
hardness int 0 drill hardness of the item
cost float 1.0 base material cost of this item, used for calculating place times 1 cost = 1 tick added to build time
lowPriority boolean false if true, this item is of lowest priority to drills.

Liquid

extends UnlockableContent

field type default notes
color Color 000000ff Color used in pipes and on the ground.
barColor Color null Color used in bars.
lightColor Color 00000000 Color used to draw lights. Note that the alpha channel is used to dictate brightness.
flammability float 0.0 0-1, 0 is completely inflammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable.
temperature float 0.5 temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot
heatCapacity float 0.5 how much heat this liquid can store. 0.4=water (decent), anything lower is probably less dense and bad at cooling.
viscosity float 0.5 how thick this liquid is. 0.5=water (relatively viscous), 1 would be something like tar (very slow)
explosiveness float 0.0 how prone to exploding this liquid is, when heated. 0 = nothing, 1 = nuke
effect StatusEffect none The associated status effect.

Status

Built-in constants:

none burning freezing unmoving slow wet muddy melting sapped tarred overdrive overclock shielded shocked blasted corroded boss sporeSlowed disarmed

extends UnlockableContent

field type default notes
damageMultiplier float 1.0 Damage dealt by the unit with the effect.
healthMultiplier float 1.0 Unit health multiplier.
speedMultiplier float 1.0 Unit speed multiplier.
reloadMultiplier float 1.0 Unit reload multiplier.
buildSpeedMultiplier float 1.0 Unit build speed multiplier.
dragMultiplier float 1.0 Unit drag multiplier.
transitionDamage float 0.0 Damage dealt upon transition to an affinity.
disarm boolean false Unit weapon(s) disabled.
damage float 0.0 Damage per frame.
effectChance float 0.15 Chance of effect appearing.
permanent boolean false If true, the effect never disappears.
reactive boolean false If true, this effect will only react with other effects and cannot be applied.
color Color ffffffff Tint color of effect.
effect Effect none Effect that happens randomly on top of the affected unit.
affinities ObjectSet new ObjectSet<>()
opposites ObjectSet new ObjectSet<>()

Unit

extends UnlockableContent

field type default notes
flying boolean false If true, the unit is always at elevation 1.
constructor Prov<? extends Unit> null
defaultController Prov<? extends UnitController> {code}
speed float 1.1
boostMultiplier float 1.0
rotateSpeed float 5.0
baseRotateSpeed float 5.0
drag float 0.3
accel float 0.5
landShake float 0.0
rippleScale float 1.0
riseSpeed float 0.08
fallSpeed float 0.018
health float 200.0
range float -1.0
miningRange float 70.0
armor float 0.0
maxRange float -1.0
crashDamageMultiplier float 1.0
targetAir boolean true
targetGround boolean true
faceTarget boolean true
rotateShooting boolean true
isCounted boolean true
lowAltitude boolean false
circleTarget boolean false
canBoost boolean false
destructibleWreck boolean true
groundLayer float 60.0
payloadCapacity float 8.0
aimDst float -1.0
buildBeamOffset float 3.8
commandLimit int 8
visualElevation float -1.0
allowLegStep boolean false
hovering boolean false
omniMovement boolean true
fallEffect Effect fallSmoke
fallThrusterEffect Effect fallSmoke
abilities Seq new Seq<>()
targetFlag BlockFlag generator
legCount int 4
legGroupSize int 2
legLength float 10.0
legSpeed float 0.1
legTrns float 1.0
legBaseOffset float 0.0
legMoveSpace float 1.0
legExtension float 0.0
legPairOffset float 0.0
legLengthScl float 1.0
kinematicScl float 1.0
maxStretch float 1.75
legSplashDamage float 0.0
legSplashRange float 5.0
flipBackLegs boolean true
ammoResupplyAmount int 10
ammoResupplyRange float 100.0
mechSideSway float 0.54
mechFrontSway float 0.1
mechStride float -1.0
mechStepShake float -1.0
mechStepParticles boolean false
mechLegColor Color 6e7080ff
itemCapacity int -1
ammoCapacity int -1
ammoType AmmoType copper
mineTier int -1
buildSpeed float -1.0
mineSpeed float 1.0
mineSound Sound minebeam
mineSoundVolume float 0.6
dpsEstimate float -1.0 This is a VERY ROUGH estimate of unit DPS.
clipSize float -1.0
canDrown boolean true
engineOffset float 5.0
engineSize float 2.5
strafePenalty float 0.5
hitSize float 6.0
itemOffsetY float 3.0
lightRadius float 60.0
lightOpacity float 0.6
lightColor Color fbd367ff
drawCell boolean true
drawItems boolean true
drawShields boolean true
trailLength int 3
trailX float 4.0
trailY float -3.0
trailScl float 1.0
canHeal boolean false Whether the unit can heal blocks. Initialized in init()
singleTarget boolean false
immunities ObjectSet new ObjectSet<>()
deathSound Sound bang
weapons Seq new Seq<>()
baseRegion TextureRegion null
legRegion TextureRegion null
region TextureRegion null
shadowRegion TextureRegion null
cellRegion TextureRegion null
softShadowRegion TextureRegion null
jointRegion TextureRegion null
footRegion TextureRegion null
legBaseRegion TextureRegion null
baseJointRegion TextureRegion null
outlineRegion TextureRegion null
wreckRegions TextureRegion[] null

Weather

Weather

extends UnlockableContent

field type default notes
duration float 36000.0 Default duration of this weather event in ticks.
opacityMultiplier float 1.0
attrs Attributes new Attributes()
sound Sound none
soundVol float 0.1
soundVolMin float 0.0
soundVolOscMag float 0.0
soundVolOscScl float 20.0
rand Rand new Rand()
type Prov WeatherState::create
status StatusEffect none
statusDuration float 120.0
statusAir boolean true
statusGround boolean true

ParticleWeather

extends Weather

field type default notes
particleRegion String "circle-shadow"
color Color ffffffff
region TextureRegion null
yspeed float -2.0
xspeed float 0.25
padding float 16.0
sizeMin float 2.4
sizeMax float 12.0
density float 1200.0
minAlpha float 1.0
maxAlpha float 1.0
force float 0.0
noiseScale float 2000.0
baseSpeed float 6.1
sinSclMin float 30.0
sinSclMax float 80.0
sinMagMin float 1.0
sinMagMax float 7.0
noiseColor Color ffffffff
drawNoise boolean false
drawParticles boolean true
useWindVector boolean false
randomParticleRotation boolean false
noiseLayers int 1
noiseLayerSpeedM float 1.1
noiseLayerAlphaM float 0.8
noiseLayerSclM float 0.99
noiseLayerColorM float 1.0
noisePath String "noiseAlpha"
noise Texture null

RainWeather

extends Weather

field type default notes
yspeed float 5.0
xspeed float 1.5
padding float 16.0
density float 1200.0
stroke float 0.75
sizeMin float 8.0
sizeMax float 40.0
splashTimeScale float 22.0
liquid Liquid water
splashes TextureRegion[] []
color Color 7a95eaff

Other

ForceFieldAbility

extends Ability

field type default notes
radius float 60.0 Shield radius.
regen float 0.1 Shield regen speed in damage/tick.
max float 200.0 Maximum shield.
cooldown float 300.0 Cooldown after the shield is broken, in ticks.

MoveLightningAbility

extends Ability

field type default notes
damage float 35.0 Lightning damage
chance float 0.15 Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed.
length int 12 Length of the lightning. <= 0 to disable
minSpeed float 0.8 Speeds for when to start lightninging and when to stop getting faster
maxSpeed float 1.2 Speeds for when to start lightninging and when to stop getting faster
color Color a9d8ffff Lightning color
offset float 0.0 Shifts where the lightning spawns along the Y axis
heatRegion String "error" Jittering heat sprite like the shield on v5 Javelin
bullet BulletType null Bullet type that is fired. Can be null
bulletAngle float 0.0 Bullet angle parameters
bulletSpread float 0.0 Bullet angle parameters
shootEffect Effect sparkShoot
shootSound Sound spark

RepairFieldAbility

extends Ability

field type default notes
amount float 1.0
reload float 100.0
range float 60.0
healEffect Effect heal
activeEffect Effect healWaveDynamic

ShieldRegenFieldAbility

extends Ability

field type default notes
amount float 1.0
max float 100.0
reload float 100.0
range float 60.0
applyEffect Effect shieldApply
activeEffect Effect shieldWave

StatusFieldAbility

extends Ability

field type default notes
effect StatusEffect null
duration float 60.0
reload float 100.0
range float 20.0
applyEffect Effect heal
activeEffect Effect overdriveWave

UnitSpawnAbility

extends Ability

field type default notes
unit UnitType null
spawnTime float 60.0
spawnX float 0.0
spawnY float 0.0
spawnEffect Effect spawn

Weapon

extends Object

field type default notes
name String "" displayed weapon region
bullet BulletType null bullet shot
ejectEffect Effect none shell ejection effect
mirror boolean true whether to create a flipped copy of this weapon upon initialization. default: true
flipSprite boolean false whether to flip the weapon's sprite when rendering
alternate boolean true whether to shoot the weapons in different arms one after another, rather than all at once; only valid when mirror = true
rotate boolean false whether to rotate toward the target independently of unit
top boolean true whether to draw the outline on top.
continuous boolean false whether to hold the bullet in place while firing
rotateSpeed float 20.0 rotation speed of weapon when rotation is enabled, in degrees/t
reload float 0.0 weapon reload in frames
shots int 1 amount of shots per fire
spacing float 0.0 spacing in degrees between multiple shots, if applicable
inaccuracy float 0.0 inaccuracy of degrees of each shot
shake float 0.0 intensity and duration of each shot's screen shake
recoil float 1.5 visual weapon knockback.
shootX float 0.0 projectile/effect offsets from center of weapon
shootY float 3.0 projectile/effect offsets from center of weapon
x float 5.0 offsets of weapon position on unit
y float 0.0 offsets of weapon position on unit
xRand float 0.0 random spread on the X axis
shadow float -1.0 radius of shadow drawn under the weapon; <0 to disable
velocityRnd float 0.0 fraction of velocity that is random
firstShotDelay float 0.0 delay in ticks between shots
shotDelay float 0.0 delay in ticks between shots
shootCone float 5.0 The half-radius of the cone in which shooting will start.
cooldownTime float 20.0 ticks to cool down the heat region
soundPitchMin float 0.8 random sound pitch range
soundPitchMax float 1.0 random sound pitch range
ignoreRotation boolean false whether shooter rotation is ignored when shooting.
minShootVelocity float -1.0 min velocity required for this weapon to shoot
otherSide int -1 internal value used for alternation - do not change!
shootSound Sound pew sound used for shooting
chargeSound Sound none sound used for weapons that have a delay
noAmmoSound Sound noammo sound played when there is nothing to shoot
region TextureRegion null displayed region (autoloaded)
heatRegion TextureRegion null heat region, must be same size as region (optional)
outlineRegion TextureRegion null outline region to display if top is false
heatColor Color ab3400ff heat region tint
shootStatus StatusEffect none status effect applied when shooting
shootStatusDuration float 300.0 status effect duration when shot

BuildVisibility

A flag used by the game to change a few special-case things. It may be one of the following strings:

  • hidden
  • shown (default)
  • debugOnly
  • sandboxOnly
  • campaignOnly
  • lightingOnly

BlockGroup

Groups for blocks to build on top of each other:

  • none
  • walls
  • turrets
  • transportation
  • power
  • liquids
  • drills

ItemStack

A ItemStack can be a string or an object. It's used to describe the type and amount of items to a machine.

As a string:

copper/5

As an object:

item: copper
amount: 5
field type notes
item string The name of an Item.
amount int The amount of said item.

LiquidStack

A LiquidStack can be a string or an object. It's used to describe the type and amount of liquid to a machine.

As a string:

water/0.5

As an object:

liquid: water
amount: 0.5
field type notes
liquid string The name of a Liquid.
amount float The amount of said liquid.

Category

Categories for building menu:

  • turret Offensive turrets;
  • production Blocks that produce raw resources, such as drills;
  • distribution Blocks that move items around;
  • liquid Blocks that move liquids around;
  • power Blocks that generate or transport power;
  • defense Walls and other defensive structures;
  • crafting Blocks that craft things;
  • units Blocks that create units;
  • logic Blocks that are related to logic operations;
  • effect Things for storage or passive effects.

Color

Color is a hexadecimal string, <rr><gg><bb> for example:

  • ff0000 is red,
  • 00ff00 is green,
  • 0000ff is blue,
  • ffff00 is yellow,
  • 00ffff is cyan,
  • etc.

CacheLayer

Flags used by for cache render:

  • normal normal layer;
  • walls walls layer;
  • water water layer, adding tile water shaders, and giving wave reflections;
  • tar tar layer, adding tar shaders, making it darker and giving it some bubble reflections;

TargetPriority

A higher ordinal means a higher priority. Higher priority blocks will always get targeted over those of lower priority, regardless of distance.

  1. base
  2. turret