您的足迹: types-v7-temp

(临时)v7开发接口表

(临时)v7开发接口表

译者吐槽:时间紧迫没有调整为doku语法,另外anuke终于在注释里写人话了,之前完全不知所云。

以下为md语法!

# Block

## Block

*继承于 [UnlockableContent](#unlockablecontent)*

fieldtypedefaultnotes
hasItemsbooleanfalse建筑是否拥有物品槽
hasLiquidsbooleanfalse建筑是否拥有流体槽
hasPowerbooleanfalse建筑是否拥有电力槽
outputsLiquidbooleanfalse决定方块是否在某个地方输出液体的旗标变量,用于连接
consumesPowerbooleantrue用于特定的电力方块(例如节点)以标记不耗费电力,默认就是true,即使没有电力槽
outputsPowerbooleanfalse是否为发电机,即提供电力
conductivePowerbooleanfalse是否直角式传输电力
outputsPayloadbooleanfalse是否输出载荷,影响于混合载荷的工厂
acceptsPayloadbooleanfalse 是否允许载荷进入此方块
acceptsItemsbooleanfalse虚拟标记,用于混带
separateItemCapacitybooleanfalse是否让全部物品总和为上限,抑或各自拥有上限
itemCapacityint10此方块物品数量最大值(通常是每种各自拥有上限)
liquidCapacityfloat10.0在 hasLiquids 设置为 true时,这个值是液体数量总计最大值
liquidPressurefloat1.0值越大,输出流体就越快,TODO:换成更好的流体系统
outputFacingbooleantrue 如果可用,是否向面朝方向输出
noSideBlendbooleanfalse是否允许侧向输入(用于装甲传送带)
displayFlowbooleantrue是否显示流速
inEditorbooleantrue是否在编辑器中可见
lastConfigObjectnull上一个配置值将会直接应用在此建筑
saveConfigbooleanfalse是否保存配置并应用于下一个建筑(译者注:是否产生分类器保存选择物品的效果)
copyConfigbooleantrue是否允许使用中键复制时保存配置并应用于对应建筑
clearOnDoubleTapbooleanfalse是否双击即可清空配置
updatebooleanfalse是否拥有实体,即能否动态更新
destructiblebooleanfalse是否拥有血量且允许被破坏
unloadablebooleantrue是否允许装卸器在此方块上工作
allowResupplybooleanfalse是否允许单位在此通过拿取物品装弹
solidbooleanfalse是否是solid的
solidifesbooleanfalse是否可以为solid
teamPassablebooleanfalse是否计算成队伍中成非solid的方块
underBulletsbooleanfalse是否让炮塔除精确打中时都不能攻击此方块
rotatebooleanfalse是否可以转向
rotateDrawbooleantrue如果rotate为true而此字段为false,那么旋转时贴图不会转动
invertFlipbooleanfalse如果为true,那么包含此方块的蓝图翻转时此物品相反改变 。
variantsint0变体贴图的数量
drawArrowbooleantrue是否绘制示意方向的箭头,连续放置不会绘制
saveDatabooleanfalse仅用于静态方块,是否将格子处的data()存储于世界数据
breakablebooleanfalse右键能否拆除
rebuildablebooleantrue是否在损坏后重建
privilegedbooleanfalse如果为true,那么这个逻辑相关的方块仅可用于特权处理器(也可能是它自己)
requiresWaterbooleanfalse是否仅可放置于水上
placeableLiquidbooleanfalse是否可以放置于流体上
placeablePlayerbooleantrue方块是否可以直接由玩家通过PlacementFragment放置
placeableOnbooleantrue此地板是否可以在其上建筑
insulatedbooleanfalse是否具有绝缘性质
squareSpritebooleantrue贴图是否为正方形
absorbLasersbooleanfalse是否隔绝激光攻击
enableDrawStatusbooleantrue是否绘制方块状态
drawDisabledbooleantrue是否绘制禁用状态
autoResetEnabledbooleantrue是否在设置enable为false之后一会就恢复运转
noUpdateDisabledbooleanfalse是否在禁用时停止更新
updateInUnitsbooleantrue是否在为单位所载的载荷时保持更新
alwaysUpdateInUnitsbooleanfalse是否载为单位所载时无视一切规则继续更新
useColorbooleantrue是否在小地图显示为方块颜色,仅用于Overlays
itemDropItemnull此方块掉落的物品,用于钻头
playerUnmineablebooleanfalse是否禁止玩家开采,用于烦人的沙子
attributesAttributesnew Attributes()特定事物的影响
scaledHealthfloat-1.0每平方格的平均生命值,通常乘以边长的平方,如果health大于零则health优先,如果此值小于零,默认为40
healthint-1建筑血量,-1一值则意味着使用scaledHealth
armorfloat0.0伤害吸收,类似单位护盾
baseExplosivenessfloat0.0方块基础爆炸性值
destroyBulletBulletTypenull 被摧毁时生成的炮弹
floatingbooleanfalse是否可放置于流体边缘
sizeint1方块尺寸
offsetfloat0.0方块迭代
sizeOffsetint0迭代器 (仅用于内部类)
clipSizefloat-1.0方块的剪切大小,应该和长得一样大
placeOverlapRangefloat50.0启用时,敌方方块会有范围检查
crushDamageMultiplierfloat1.0坦克的对此方块伤害倍率,对爬爬无效
timersint1计时器最大市场
cacheLayerCacheLayernormal缓存层,仅用于底层缓存
fillsTilebooleantrue特殊标记,如果值为false,地板即使被缓存也会在方块下绘制
forceDarkbooleanfalse如果值为true,即使synthetic,也会显示黑暗或迷雾
alwaysReplacebooleanfalse是否无论何时都能被覆盖
replaceablebooleantrue如果值为false,那么就不能被覆盖
groupBlockGroupnone方块的组别,除非canReplace(可能是replaceable的意思)设置为false,否则同组方块皆可覆盖
flagsEnumSet<BlockFlag>of()方块的标记,用于AI寻路
priorityfloat0.0敌军的攻击优先级.
unitCapModifierint0对单位数量的影响,此标记需与unitModifier搭配使用
configurablebooleanfalse此方块是否单击并弹出选择框
commandablebooleanfalse如果为true,此方块可以像单位一样被指挥
allowConfigInventorybooleantrue是否在配置上显示内容物存量
logicConfigurablebooleanfalse是否可被逻辑设置
consumesTapbooleanfalse是否在被按下时发出TouchDown事件
drawLiquidLightbooleantrue如果有液体,是否绘制液体发出的光
envRequiredint0全部必须的环境标记,0为任何环境
envEnabledint1任一必须的环境标记,1为所有环境
envDisabledint0任一禁止的环境标记,有一个则禁用方块
syncbooleanfalse是否定期在网络上同步
conveyorPlacementbooleanfalse是否使用传送带建造模式.
allowDiagonalbooleantrue如果值为false,则斜线建造不起作用
swapDiagonalPlacementbooleanfalse是否交换直线与斜线建造模式
schematicPriorityint0蓝图建造优先级
mapColorColor000000ff小地图颜色,最好不要手动设置,大多数情况下都会被覆盖
hasColorbooleanfalse是否拥有小地图颜色
targetablebooleantrue单位是否能向此建筑射击
attacksbooleanfalseIf true, this block attacks and is considered a turret in the indexer. Building must implement Ranged.
suppressablebooleanfalseIf true, this block is mending-related and can be suppressed with special units/missiles.
canOverdrivebooleantrueWhether the overdrive core has any effect on this block.
outlineColorColor404049ffOutlined icon color.
outlineIconbooleanfalseWhether any icon region has an outline added.
outlineRadiusint4Outline icon radius.
outlinedIconint-1Which of the icon regions gets the outline added. Uses last icon if ⇐ 0.
hasShadowbooleantrueWhether this block has a shadow under it.
customShadowbooleanfalseIf true, a custom shadow (name-shadow) is drawn under this block.
placePitchChangebooleantrueShould the sound made when this block is built change in pitch.
breakPitchChangebooleantrueShould the sound made when this block is deconstructed change in pitch.
placeSoundSoundplaceSound made when this block is built.
breakSoundSoundbreaksSound made when this block is deconstructed.
destroySoundSoundboomSounds made when this block is destroyed.
albedofloat0.0How reflective this block is.
lightColorColorffffffffEnvironmental passive light color.
emitLightbooleanfalseWhether this environmental block passively emits light. Does not change behavior for non-environmental blocks, but still updates clipSize.
lightRadiusfloat60.0Radius of the light emitted by this block.
fogRadiusint-1How much fog this block uncovers, in tiles. Cannot be dynamic. ⇐ 0 to disable.
loopSoundSoundnoneThe sound that this block makes while active. One sound loop. Do not overuse.
loopSoundVolumefloat0.5Active sound base volume.
ambientSoundSoundnoneThe sound that this block makes while idle. Uses one sound loop for all blocks.
ambientSoundVolumefloat0.05Idle sound base volume.
requirementsItemStack[][]Cost of constructing this block.
categoryCategorydistributionCategory in place menu.
buildCostfloat20.0Time to build this block in ticks; do not modify directly!
buildVisibilityBuildVisibilityhiddenWhether this block is visible and can currently be built.
buildCostMultiplierfloat1.0Multiplier for speed of building this block.
deconstructThresholdfloat0.0Build completion at which deconstruction finishes.
instantDeconstructbooleanfalseIf true, this block deconstructs immediately. Instant deconstruction implies no resource refund.
breakEffectEffectbreakBlockEffect for breaking the block. Passes size as rotation.
destroyEffectEffectdynamicExplosionEffect for destroying the block.
researchCostMultiplierfloat1.0Multiplier for cost of research in tech tree.
researchCostMultipliersObjectFloatMap<Item>new ObjectFloatMap<>()Cost multipliers per-item.
researchCostItemStack[]nullOverride for research cost. Uses multipliers above and building requirements if not set.
instantTransferbooleanfalseWhether this block has instant transfer.
quickRotatebooleantrueWhether you can rotate this block after it is placed.
subclassClass<?>class mindustry.world.BlockMain subclass. Non-anonymous.
highUnloadPrioritybooleanfalseDetermines if this block gets a higher unloader priority.
selectScrollfloat0.0Scroll position for certain blocks.
buildTypeProv<Building>nullBuilding that is created for this block. Initialized in init() via reflection. Set manually if modded.
configurationsObjectMap<Class<?>,Cons2>new ObjectMap<>()Configuration handlers by type.
itemFilterboolean[][]Consumption filters.
liquidFilterboolean[][]Consumption filters.
consumersConsume[][]Array of consumers used by this block. Only populated after init().
optionalConsumersConsume[][]Array of consumers used by this block. Only populated after init().
nonOptionalConsumersConsume[][]Array of consumers used by this block. Only populated after init().
updateConsumersConsume[][]Array of consumers used by this block. Only populated after init().
hasConsumersbooleanfalseSet to true if this block has any consumers in its array.
consPowerConsumePowernullThe single power consumer, if applicable.
regionRotated1int-1Regions indexes from icons() that are rotated. If either of these is not -1, other regions won't be rotated in ConstructBlocks.
regionRotated2int-1Regions indexes from icons() that are rotated. If either of these is not -1, other regions won't be rotated in ConstructBlocks.
regionTextureRegionnull
editorIconTextureRegionnull
customShadowRegionTextureRegionnull
teamRegionTextureRegionnull
teamRegionsTextureRegion[]null
variantRegionsTextureRegion[]null
variantShadowRegionsTextureRegion[]null

## Accelerator

*extends [Block](#block)*

fieldtypedefaultnotes
arrowRegionTextureRegionnull
launchingBlockcoreNucleus
capacitiesint[][]

## AirBlock

*extends [Floor](#floor)*

## ArmoredConduit

*extends [Conduit](#conduit)*

## ArmoredConveyor

*extends [Conveyor](#conveyor)*

## AttributeCrafter

*extends [GenericCrafter](#genericcrafter)*

A crafter that gains efficiency from attribute tiles.

fieldtypedefaultnotes
attributeAttributeheat
baseEfficiencyfloat1.0
boostScalefloat1.0
maxBoostfloat1.0
minEfficiencyfloat-1.0
displayEfficiencyScalefloat1.0
displayEfficiencybooleantrue

## AutoDoor

*extends [Wall](#wall)*

fieldtypedefaultnotes
timerToggleint1
checkIntervalfloat20.0
openfxEffectdooropen
closefxEffectdoorclose
doorSoundSounddoor
openRegionTextureRegionnull
triggerMarginfloat10.0

## BaseShield

*extends [Block](#block)*

fieldtypedefaultnotes
radiusfloat200.0
sidesint24

## BaseTurret

*extends [Block](#block)*

fieldtypedefaultnotes
rangefloat80.0
placeOverlapMarginfloat56.0
rotateSpeedfloat5.0
coolEffectEffectfuelburnEffect displayed when coolant is used.
coolantMultiplierfloat5.0How much reload is lowered by for each unit of liquid of heat capacity.
coolantConsumeLiquidBasenull

## Battery

*extends [PowerDistributor](#powerdistributor)*

fieldtypedefaultnotes
topRegionTextureRegionnull
emptyLightColorColorf8c266ff
fullLightColorColorfb9567ff

## BeamDrill

*extends [Block](#block)*

fieldtypedefaultnotes
laserTextureRegionnull
laserEndTextureRegionnull
laserCenterTextureRegionnull
laserBoostTextureRegionnull
laserEndBoostTextureRegionnull
laserCenterBoostTextureRegionnull
topRegionTextureRegionnull
glowRegionTextureRegionnull
drillTimefloat200.0
rangeint5
tierint1
laserWidthfloat0.65
optionalBoostIntensityfloat2.5How many times faster the drill will progress when boosted by an optional consumer.
sparkColorColorfd9e81ff
glowColorColorffffffff
glowIntensityfloat0.2
pulseIntensityfloat0.07
glowSclfloat3.0
sparksint7
sparkRangefloat10.0
sparkLifefloat27.0
sparkRecurrencefloat4.0
sparkSpreadfloat45.0
sparkSizefloat3.5
boostHeatColorColor75b3ccff
heatColorColorff5959e5
heatPulsefloat0.3
heatPulseSclfloat7.0

## BeamNode

*extends [PowerBlock](#powerblock)*

fieldtypedefaultnotes
rangeint5
laserTextureRegionnull
laserEndTextureRegionnull
laserColor1Colorffffffff
laserColor2Colorffd9c2ff
pulseSclfloat7.0
pulseMagfloat0.05
laserWidthfloat0.4

## BufferedItemBridge

*extends [ItemBridge](#itembridge)*

fieldtypedefaultnotes
timerAcceptint2
speedfloat40.0
bufferCapacityint50

## BuildTurret

*extends [BaseTurret](#baseturret)*

fieldtypedefaultnotes
timerTargetint1
timerTarget2int2
targetIntervalint15
baseRegionTextureRegionnull
glowRegionTextureRegionnull
buildSpeedfloat1.0
buildBeamOffsetfloat5.0
unitTypeUnitTypenull
elevationfloat-1.0
heatColorColorffd37fe5

## BurstDrill

*extends [Drill](#drill)*

fieldtypedefaultnotes
shakefloat2.0
speedCurveInterppow2In
topInvertRegionTextureRegionnull
glowRegionTextureRegionnull
arrowRegionTextureRegionnull
arrowBlurRegionTextureRegionnull
invertedTimefloat200.0
arrowSpacingfloat4.0
arrowOffsetfloat0.0
arrowsint3
arrowColorColorfeb380ff
baseArrowColorColor6e7080ff
glowColorColorfeb380ff

## CanvasBlock

*extends [Block](#block)*

fieldtypedefaultnotes
paddingfloat0.0
canvasSizeint8
paletteint[]{ 0x634b7dff, 0xc45d9f_ff, 0xe39aac_ff, 0xf0dab1_ff, 0x6461c2_ff, 0x2ba9b4_ff, 0x93d4b5_ff, 0xf0f6e8_ff }
bitsPerPixelint0
colorToIndexIntIntMapnew IntIntMap()

## Cliff

*extends [Block](#block)*

fieldtypedefaultnotes
sizefloat11.0
cliffsTextureRegion[]null
editorCliffsTextureRegion[]null

## Conduit

*extends [LiquidBlock](#liquidblock)*

fieldtypedefaultnotes
timerFlowint1
botColorColor565656ff
topRegionsTextureRegion[]null
botRegionsTextureRegion[]null
capRegionTextureRegionnull
rotateRegionsTextureRegion[][][]nullindices: [rotation] [fluid type] [frame]
leaksbooleantrue
junctionReplacementBlocknull
bridgeReplacementBlocknull
rotBridgeReplacementBlocknull

## Constructor

*extends [BlockProducer](#blockproducer)*

Configurable BlockProducer variant.

fieldtypedefaultnotes
filterSeq<Block>new Seq<>()Empty seq for no filter.
buildSpeedfloat0.4
minBlockSizeint1
maxBlockSizeint2

## Duct

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat5.0
armoredbooleanfalse
transparentColorColor66666619
topRegionsTextureRegion[]null
botRegionsTextureRegion[]null

## PowerGenerator

*extends [PowerDistributor](#powerdistributor)*

fieldtypedefaultnotes
powerProductionfloat0.0The amount of power produced per tick in case of an efficiency of 1.0, which represents 100%.
generationTypeStatbasePowerGeneration
drawerDrawBlocknew DrawDefault()

## ConsumeGenerator

*extends [PowerGenerator](#powergenerator)*

A generator that just takes in certain items or liquids. Basically SingleTypeGenerator, but not unreliable garbage.

fieldtypedefaultnotes
itemDurationfloat120.0The time in number of ticks during which a single item will produce power.
effectChancefloat0.01
generateEffectEffectnone
consumeEffectEffectnone
generateEffectRangefloat3.0
liquidOutputLiquidStacknull
filterItemConsumeItemFilternull
filterLiquidConsumeLiquidFilternull

## ContinuousTurret

*extends [Turret](#turret)*

A turret that fires a continuous beam bullet with no reload or coolant necessary. The bullet only disappears when the turret stops shooting.

fieldtypedefaultnotes
shootTypeBulletTypeplaceholder

## ContinuousLiquidTurret

*extends [ContinuousTurret](#continuousturret)*

fieldtypedefaultnotes
ammoTypesObjectMap<Liquid,BulletType>new ObjectMap<>()
liquidConsumedfloat0.016666668

## Conveyor

*extends [Block](#block)*

fieldtypedefaultnotes
regionsTextureRegion[][]null
speedfloat0.0
displayedSpeedfloat0.0
junctionReplacementBlocknull
bridgeReplacementBlocknull

## CoreBlock

*extends [StorageBlock](#storageblock)*

fieldtypedefaultnotes
thruster1TextureRegionnull
thruster2TextureRegionnull
thrusterLengthfloat3.5
isFirstTierbooleanfalse
incinerateNonBuildablebooleanfalse
unitTypeUnitTypealpha
captureInvicibilityfloat900.0

## DirectionBridge

*extends [Block](#block)*

fieldtypedefaultnotes
bridgeRegionTextureRegionnull
bridgeBotRegionTextureRegionnull
bridgeLiquidRegionTextureRegionnull
arrowRegionTextureRegionnull
dirRegionTextureRegionnull
rangeint4

## DirectionLiquidBridge

*extends [DirectionBridge](#directionbridge)*

fieldtypedefaultnotes
timerFlowint1
speedfloat5.0
liquidPaddingfloat1.0
bottomRegionTextureRegionnull

## DirectionalForceProjector

*extends [Block](#block)*

fieldtypedefaultnotes
widthfloat30.0
shieldHealthfloat3000.0
cooldownNormalfloat1.75
cooldownLiquidfloat1.5
cooldownBrokenBasefloat0.35
absorbEffectEffectabsorb
shieldBreakEffectEffectshieldBreak
topRegionTextureRegionnull
lengthfloat40.0
padSizefloat40.0

## DirectionalUnloader

*extends [Block](#block)*

fieldtypedefaultnotes
centerRegionTextureRegionnull
topRegionTextureRegionnull
arrowRegionTextureRegionnull
speedfloat1.0
allowCoreUnloadbooleanfalse

## Door

*extends [Wall](#wall)*

fieldtypedefaultnotes
timerToggleint1
openfxEffectdooropen
closefxEffectdoorclose
doorSoundSounddoor
openRegionTextureRegionnull

## Drill

*extends [Block](#block)*

fieldtypedefaultnotes
hardnessDrillMultiplierfloat50.0
tierint0Maximum tier of blocks this drill can mine.
drillTimefloat300.0Base time to drill one ore, in frames.
liquidBoostIntensityfloat1.6How many times faster the drill will progress when boosted by liquid.
warmupSpeedfloat0.015Speed at which the drill speeds up.
blockedItemItemnullSpecial exemption item that this drill can't mine.
drawMineItembooleantrueWhether to draw the item this drill is mining.
drillEffectEffectmineEffect played when an item is produced. This is colored.
drillEffectRndfloat-1.0Drill effect randomness. Block size by default.
rotateSpeedfloat2.0Speed the drill bit rotates at.
updateEffectEffectpulverizeSmallEffect randomly played while drilling.
updateEffectChancefloat0.02Chance the update effect will appear.
drawRimbooleanfalse
drawSpinSpritebooleantrue
heatColorColorff5512ff
rimRegionTextureRegionnull
rotatorRegionTextureRegionnull
topRegionTextureRegionnull
itemRegionTextureRegionnull

## DroneCenter

*extends [Block](#block)*

fieldtypedefaultnotes
unitsSpawnedint4
droneTypeUnitTypenull
statusStatusEffectoverdrive
droneConstructTimefloat180.0
statusDurationfloat120.0
droneRangefloat50.0

## DuctBridge

*extends [DirectionBridge](#directionbridge)*

fieldtypedefaultnotes
speedfloat5.0

## DuctRouter

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat5.0
topRegionTextureRegionnull

## Floor

*extends [Block](#block)*

fieldtypedefaultnotes
edgeString“stone”edge fallback, used mainly for ores
speedMultiplierfloat1.0Multiplies unit velocity by this when walked on.
dragMultiplierfloat1.0Multiplies unit drag by this when walked on.
damageTakenfloat0.0Damage taken per tick on this tile.
drownTimefloat0.0How many ticks it takes to drown on this. 0 to disable.
walkEffectEffectnoneEffect when walking on this floor.
walkSoundSoundnoneSound made when walking.
walkSoundVolumefloat0.1Volume of sound made when walking.
walkSoundPitchMinfloat0.8Volume of sound made when walking.
walkSoundPitchMaxfloat1.2Volume of sound made when walking.
drownUpdateEffectEffectbubbleEffect displayed when drowning on this floor.
statusStatusEffectnoneStatus effect applied when walking on.
statusDurationfloat60.0Intensity of applied status effect.
liquidDropLiquidnullliquids that drop from this block, used for pumps.
liquidMultiplierfloat1.0Multiplier for pumped liquids, used for deep water.
isLiquidbooleanfalsewhether this block is liquid.
overlayAlphafloat0.65for liquid floors, this is the opacity of the overlay drawn on top.
supportsOverlaybooleanfalsewhether this floor supports an overlay floor
shallowbooleanfalseshallow water flag used for generation
blendGroupBlockthisGroup of blocks that this block does not draw edges on.
oreDefaultbooleanfalseWhether this ore generates in maps by default.
oreScalefloat24.0Ore generation params.
oreThresholdfloat0.828Ore generation params.
wallBlockairWall variant of this block. May be Blocks.air if not found.
decorationBlockairDecoration block. Usually a rock. May be air.
canShadowbooleantrueWhether units can draw shadows over this.
needsSurfacebooleantrueWhether this overlay needs a surface to be on. False for floating blocks, like spawns.
allowCorePlacementbooleanfalseIf true, cores can be placed on this floor.
wallOrebooleanfalseIf true, this ore is allowed on walls.
blendIdint-1Actual ID used for blend groups. Internal.

## EmptyFloor

*extends [Floor](#floor)*

Empty floor is *not* equivalent to air. Unlike air, it is solid, and still draws neighboring tile edges.

## ForceProjector

*extends [Block](#block)*

fieldtypedefaultnotes
timerUseint1
phaseUseTimefloat350.0
phaseRadiusBoostfloat80.0
phaseShieldBoostfloat400.0
radiusfloat101.7
shieldHealthfloat700.0
cooldownNormalfloat1.75
cooldownLiquidfloat1.5
cooldownBrokenBasefloat0.35
coolantConsumptionfloat0.1
consumeCoolantbooleantrue
absorbEffectEffectabsorb
shieldBreakEffectEffectshieldBreak
topRegionTextureRegionnull
itemConsumerConsumenull
coolantConsumerConsumemindustry.world.consumers.ConsumeCoolant@35d53cd8

## Fracker

*extends [SolidPump](#solidpump)*

fieldtypedefaultnotes
itemUseTimefloat100.0

## GenericCrafter

*extends [Block](#block)*

fieldtypedefaultnotes
outputItemItemStacknullWritten to outputItems as a single-element array if outputItems is null.
outputItemsItemStack[]nullOverwrites outputItem if not null.
outputLiquidLiquidStacknullWritten to outputLiquids as a single-element array if outputLiquids is null.
outputLiquidsLiquidStack[]nullOverwrites outputLiquid if not null.
liquidOutputDirectionsint[]{ -1 }Liquid output directions, specified in the same order as outputLiquids. Use -1 to dump in every direction. Rotations are relative to block.
dumpExtraLiquidbooleantrueif true, crafters with multiple liquid outputs will dump excess when there's still space for at least one liquid type
ignoreLiquidFullnessbooleanfalse
craftTimefloat80.0
craftEffectEffectnone
updateEffectEffectnone
updateEffectChancefloat0.04
warmupSpeedfloat0.019
legacyReadWarmupbooleanfalseOnly used for legacy cultivator blocks.
drawerDrawBlocknew DrawDefault()

## HeatConductor

*extends [Block](#block)*

fieldtypedefaultnotes
visualMaxHeatfloat15.0
drawerDrawBlocknew DrawDefault()

## HeatCrafter

*extends [GenericCrafter](#genericcrafter)*

A crafter that requires contact from heater blocks to craft.

fieldtypedefaultnotes
heatRequirementfloat10.0Base heat requirement for 100% efficiency.
overheatScalefloat1.0After heat meets this requirement, excess heat will be scaled by this number.
maxEfficiencyfloat4.0Maximum possible efficiency after overheat.

## HeatProducer

*extends [GenericCrafter](#genericcrafter)*

fieldtypedefaultnotes
heatOutputfloat10.0
warmupRatefloat0.15

## ImpactReactor

*extends [PowerGenerator](#powergenerator)*

fieldtypedefaultnotes
timerUseint1
warmupSpeedfloat0.001
itemDurationfloat60.0
explosionRadiusint23
explosionDamageint1900
explodeEffectEffectimpactReactorExplosion
plasma1Colorffd06bff
plasma2Colorff361bff
bottomRegionTextureRegionnull
plasmaRegionsTextureRegion[]null

## Incinerator

*extends [Block](#block)*

fieldtypedefaultnotes
effectEffectfuelburn
flameColorColorffad9dff

## ItemBridge

*extends [Block](#block)*

fieldtypedefaultnotes
timerCheckMovedint1
rangeint0
transportTimefloat2.0
endRegionTextureRegionnull
bridgeRegionTextureRegionnull
arrowRegionTextureRegionnull
fadeInbooleantrue
moveArrowsbooleantrue
pulsebooleanfalse
arrowSpacingfloat4.0
arrowOffsetfloat2.0
arrowPeriodfloat0.4
arrowTimeSclfloat6.2
lastBuildItemBridgeBuildnull

## ItemIncinerator

*extends [Block](#block)*

Incinerator that accepts only items and optionally requires a liquid, e.g. slag.

fieldtypedefaultnotes
effectEffectincinerateSlag
effectChancefloat0.2
liquidRegionTextureRegionnull
topRegionTextureRegionnull

## ItemSource

*extends [Block](#block)*

fieldtypedefaultnotes
itemsPerSecondint100

## ItemTurret

*extends [Turret](#turret)*

fieldtypedefaultnotes
ammoTypesObjectMap<Item,BulletType>new ObjectMap<>()

## ItemVoid

*extends [Block](#block)*

## Junction

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat26.0
capacityint6

## LaserTurret

*extends [PowerTurret](#powerturret)*

A turret that fires a continuous beam with a delay between shots. Liquid coolant is required. Yes, this class name is awful. NEEDS RENAME

fieldtypedefaultnotes
firingMoveFractfloat0.25
shootDurationfloat100.0

## LaunchPad

*extends [Block](#block)*

fieldtypedefaultnotes
launchTimefloat1.0Time inbetween launches.
launchSoundSoundnone
lightRegionTextureRegionnull
podRegionTextureRegionnull
lightColorColoreab678ff

## LightBlock

*extends [Block](#block)*

fieldtypedefaultnotes
brightnessfloat0.9
radiusfloat200.0
topRegionTextureRegionnull

## LiquidBlock

*extends [Block](#block)*

fieldtypedefaultnotes
liquidRegionTextureRegionnull
topRegionTextureRegionnull
bottomRegionTextureRegionnull

## LiquidBridge

*extends [ItemBridge](#itembridge)*

## LiquidJunction

*extends [LiquidBlock](#liquidblock)*

## LiquidRouter

*extends [LiquidBlock](#liquidblock)*

fieldtypedefaultnotes
liquidPaddingfloat0.0

## LiquidSource

*extends [Block](#block)*

fieldtypedefaultnotes
crossRegionTextureRegionnull
bottomRegionTextureRegionnull

## LiquidTurret

*extends [Turret](#turret)*

fieldtypedefaultnotes
ammoTypesObjectMap<Liquid,BulletType>new ObjectMap<>()
extinguishbooleantrue

## LiquidVoid

*extends [Block](#block)*

## LogicBlock

*extends [Block](#block)*

fieldtypedefaultnotes
maxInstructionScaleint5
instructionsPerTickint1
maxInstructionsPerTickint40
rangefloat80.0

## LogicDisplay

*extends [Block](#block)*

fieldtypedefaultnotes
maxSidesint25
displaySizeint64
scaleFactorfloat1.0

## LongPowerNode

*extends [PowerNode](#powernode)*

fieldtypedefaultnotes
glowTextureRegionnull
glowColorColorcbfd8172
glowSclfloat16.0
glowMagfloat0.6

## MassDriver

*extends [Block](#block)*

fieldtypedefaultnotes
rangefloat0.0
rotateSpeedfloat5.0
translationfloat7.0
minDistributeint10
knockbackfloat4.0
reloadTimefloat100.0
bulletMassDriverBoltnew MassDriverBolt()
bulletSpeedfloat5.5
bulletLifetimefloat200.0
shootEffectEffectshootBig2
smokeEffectEffectshootBigSmoke2
receiveEffectEffectmineBig
shootSoundSoundshootBig
shakefloat3.0
baseRegionTextureRegionnull

## MemoryBlock

*extends [Block](#block)*

fieldtypedefaultnotes
memoryCapacityint32

## MendProjector

*extends [Block](#block)*

fieldtypedefaultnotes
timerUseint1
baseColorColor84f491ff
phaseColorColor84f491ff
topRegionTextureRegionnull
reloadfloat250.0
rangefloat60.0
healPercentfloat12.0
phaseBoostfloat12.0
phaseRangeBoostfloat50.0
useTimefloat400.0

## MessageBlock

*extends [Block](#block)*

fieldtypedefaultnotes
maxTextLengthint220
maxNewlinesint24

## NuclearReactor

*extends [PowerGenerator](#powergenerator)*

fieldtypedefaultnotes
timerFuelint1
trVec2(0.0,0.0)
lightColorColor7f19eaff
coolColorColorffffff00
hotColorColorff9575a3
explodeEffectEffectreactorExplosion
itemDurationfloat120.0ticks to consume 1 fuel
heatingfloat0.01heating per frame * fullness
smokeThresholdfloat0.3threshold at which block starts smoking
flashThresholdfloat0.46heat threshold at which lights start flashing
explosionRadiusint19
explosionDamageint1250
coolantPowerfloat0.5heat removed per unit of coolant
smoothLightfloat0.0
fuelItemItemthorium
topRegionTextureRegionnull
lightsRegionTextureRegionnull

## OreBlock

*extends [OverlayFloor](#overlayfloor)*

An overlay ore for a specific item type.

## OverdriveProjector

*extends [Block](#block)*

fieldtypedefaultnotes
timerUseint1
topRegionTextureRegionnull
reloadfloat60.0
rangefloat80.0
speedBoostfloat1.5
speedBoostPhasefloat0.75
useTimefloat400.0
phaseRangeBoostfloat20.0
hasBoostbooleantrue
baseColorColorfeb380ff
phaseColorColorffd59eff

## OverflowDuct

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat5.0
topRegionTextureRegionnull

## OverflowGate

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat1.0
invertbooleanfalse

## OverlayFloor

*extends [Floor](#floor)*

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

## PayloadAmmoTurret

*extends [Turret](#turret)*

fieldtypedefaultnotes
ammoTypesObjectMap<UnlockableContent,BulletType>new ObjectMap<>()

## PayloadBlock

*extends [Block](#block)*

fieldtypedefaultnotes
payloadSpeedfloat0.7
payloadRotateSpeedfloat5.0
regionSuffixString““
topRegionTextureRegionnull
outRegionTextureRegionnull
inRegionTextureRegionnull

## PayloadConveyor

*extends [Block](#block)*

fieldtypedefaultnotes
moveTimefloat45.0
moveForcefloat201.0
topRegionTextureRegionnull
edgeRegionTextureRegionnull
interpInterppow5
payloadLimitfloat3.0

## PayloadDeconstructor

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
maxPayloadSizefloat4.0
deconstructSpeedfloat2.5
dumpRateint4

## PayloadLoader

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
timerLoadint1
loadTimefloat2.0
itemsLoadedint8
liquidsLoadedfloat40.0
maxBlockSizeint3
maxPowerConsumptionfloat40.0
loadPowerDynamicbooleantrue

## PayloadMassDriver

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
rangefloat100.0
rotateSpeedfloat2.0
lengthfloat11.125
knockbackfloat5.0
reloadTimefloat30.0
chargeTimefloat100.0
maxPayloadSizefloat3.0
grabWidthfloat8.0
grabHeightfloat2.75
shootEffectEffectshootBig2
smokeEffectEffectshootPayloadDriver
receiveEffectEffectpayloadReceive
shootSoundSoundshootBig
shakefloat3.0
transferEffectEffectflyingUnitLow - 1)
baseRegionTextureRegionnull
capRegionTextureRegionnull
leftRegionTextureRegionnull
rightRegionTextureRegionnull
capOutlineRegionTextureRegionnull
leftOutlineRegionTextureRegionnull
rightOutlineRegionTextureRegionnull
arrowTextureRegionnull

## PayloadRouter

*extends [PayloadConveyor](#payloadconveyor)*

fieldtypedefaultnotes
overRegionTextureRegionnull

## PayloadSource

*extends [PayloadBlock](#payloadblock)*

Generic building that produces other buildings.

## PayloadUnloader

*extends [PayloadLoader](#payloadloader)*

fieldtypedefaultnotes
offloadSpeedint4
maxPowerUnloadfloat80.0

## PayloadVoid

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
incinerateEffectEffectblastExplosion
incinerateSoundSoundbang

## PointDefenseTurret

*extends [ReloadTurret](#reloadturret)*

fieldtypedefaultnotes
timerTargetint1
retargetTimefloat5.0
baseRegionTextureRegionnull
colorColorffffffff
beamEffectEffectpointBeam
hitEffectEffectpointHit
shootEffectEffectsparkShoot
shootSoundSoundlasershoot
shootConefloat5.0
bulletDamagefloat10.0
shootLengthfloat3.0

## PowerBlock

*extends [Block](#block)*

## PowerDiode

*extends [Block](#block)*

fieldtypedefaultnotes
arrowTextureRegionnull

## PowerDistributor

*extends [PowerBlock](#powerblock)*

## PowerNode

*extends [PowerBlock](#powerblock)*

fieldtypedefaultnotes
laserTextureRegionnull
laserEndTextureRegionnull
laserRangefloat6.0
maxNodesint3
autolinkbooleantrue
drawRangebooleantrue
laserScalefloat0.25
laserColor1Colorffffffff
laserColor2Colorfbd367ff

## PowerSource

*extends [PowerNode](#powernode)*

fieldtypedefaultnotes
powerProductionfloat10000.0

## ReloadTurret

*extends [BaseTurret](#baseturret)*

fieldtypedefaultnotes
reloadfloat10.0

## PowerTurret

*extends [Turret](#turret)*

fieldtypedefaultnotes
shootTypeBulletTypenull

## PowerVoid

*extends [PowerBlock](#powerblock)*

## Prop

*extends [Block](#block)*

## Pump

*extends [LiquidBlock](#liquidblock)*

fieldtypedefaultnotes
pumpAmountfloat0.2Pump amount per tile.
consumeTimefloat300.0Interval in-between item consumptions, if applicable.
drawerDrawBlocknew DrawMulti(new DrawDefault(), new DrawPumpLiquid())

## Radar

*extends [Block](#block)*

fieldtypedefaultnotes
discoveryTimefloat600.0
rotateSpeedfloat2.0
baseRegionTextureRegionnull
glowRegionTextureRegionnull
glowColorColorab3400ff
glowSclfloat5.0
glowMagfloat0.6

## Reconstructor

*extends [UnitBlock](#unitblock)*

fieldtypedefaultnotes
constructTimefloat120.0
upgradesSeq<UnitType[]>new Seq<>()
capacitiesint[][]

## RegenProjector

*extends [Block](#block)*

fieldtypedefaultnotes
rangeint14
healPercentfloat0.2
optionalMultiplierfloat2.0
optionalUseTimefloat480.0
drawerDrawBlocknew DrawDefault()
effectChancefloat0.003
baseColorColorffd37fff
effectEffectregenParticle

## RepairTower

*extends [Block](#block)*

fieldtypedefaultnotes
rangefloat80.0
circleColorColor98ffa9ff
glowColorColor98ffa97f
circleSpeedfloat120.0
circleStrokefloat3.0
squareRadfloat3.0
squareSpinSclfloat0.8
glowMagfloat0.5
glowSclfloat8.0
healAmountfloat1.0
glowTextureRegionnull

## RepairTurret

*extends [Block](#block)*

fieldtypedefaultnotes
timerTargetint1
timerEffectint2
repairRadiusfloat50.0
repairSpeedfloat0.3
powerUsefloat0.0
lengthfloat5.0
beamWidthfloat1.0
pulseRadiusfloat6.0
pulseStrokefloat2.0
acceptCoolantbooleanfalse
coolantUsefloat0.5
coolEffectEffectfuelburnEffect displayed when coolant is used.
coolantMultiplierfloat1.0How much healing is increased by with heat capacity.
baseRegionTextureRegionnull
laserTextureRegionnull
laserEndTextureRegionnull
laserTopTextureRegionnull
laserTopEndTextureRegionnull
laserColorColor98ffa9ff
laserTopColorColorffffffff

## Router

*extends [Block](#block)*

fieldtypedefaultnotes
speedfloat8.0

## SeaBush

*extends [Prop](#prop)*

fieldtypedefaultnotes
botRegionTextureRegionnull
centerRegionTextureRegionnull
lobesMinint7
lobesMaxint7
botAnglefloat60.0
originfloat0.1
sclMinfloat30.0
sclMaxfloat50.0
magMinfloat5.0
magMaxfloat15.0
timeRangefloat40.0
spreadfloat0.0

## Seaweed

*extends [Prop](#prop)*

## Separator

*extends [Block](#block)*

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

fieldtypedefaultnotes
resultsItemStack[]null
craftTimefloat0.0
liquidRegionTextureRegionnull
spinnerRegionTextureRegionnull
spinnerSpeedfloat3.0

## ShallowLiquid

*extends [Floor](#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.

fieldtypedefaultnotes
liquidBaseFloornull
floorBaseFloornull
liquidOpacityfloat0.35

## ShieldBreaker

*extends [Block](#block)*

fieldtypedefaultnotes
toDestroyBlock[][]
effectEffectshockwave
breakEffectEffectreactorExplosion
selfKillEffectEffectmassiveExplosion

## ShockMine

*extends [Block](#block)*

fieldtypedefaultnotes
timerDamageint1
cooldownfloat80.0
tileDamagefloat5.0
damagefloat13.0
lengthint10
tendrilsint6
lightningColorColora9d8ffff
shotsint6
inaccuracyfloat0.0
bulletBulletTypenull
teamAlphafloat0.3
teamRegionTextureRegionnull

## SingleBlockProducer

*extends [BlockProducer](#blockproducer)*

fieldtypedefaultnotes
resultBlockrouter

## SolarGenerator

*extends [PowerGenerator](#powergenerator)*

## SolidPump

*extends [Pump](#pump)*

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

fieldtypedefaultnotes
resultLiquidwater
updateEffectEffectnone
updateEffectChancefloat0.02
rotateSpeedfloat1.0
baseEfficiencyfloat1.0
attributeAttributenullAttribute that is checked when calculating output.
rotatorRegionTextureRegionnull

## Sorter

*extends [Block](#block)*

fieldtypedefaultnotes
invertbooleanfalse

## SpawnBlock

*extends [OverlayFloor](#overlayfloor)*

## StackConveyor

*extends [Block](#block)*

fieldtypedefaultnotes
regionsTextureRegion[]null
edgeRegionTextureRegionnull
stackRegionTextureRegionnull
glowRegionTextureRegionnullrequires power to work properly
glowAlphafloat1.0
glowColorColorfeb380ff
baseEfficiencyfloat0.0
speedfloat0.0
outputRouterbooleantrue
rechargefloat2.0(minimum) amount of loading docks needed to fill a line.
loadEffectEffectconveyorPoof
unloadEffectEffectconveyorPoof

## StackRouter

*extends [DuctRouter](#ductrouter)*

fieldtypedefaultnotes
baseEfficiencyfloat0.0
glowRegionTextureRegionnull
glowAlphafloat1.0
glowColorColorfeb380ff

## StaticWall

*extends [Prop](#prop)*

fieldtypedefaultnotes
largeTextureRegionnull
splitTextureRegion[][]null

## StaticTree

*extends [StaticWall](#staticwall)*

## SteamVent

*extends [Floor](#floor)*

fieldtypedefaultnotes
parentBlockair
effectEffectventSteam
effectColorColor6b4e4eff
effectSpacingfloat15.0

## StorageBlock

*extends [Block](#block)*

fieldtypedefaultnotes
coreMergebooleantrue

## SwitchBlock

*extends [Block](#block)*

fieldtypedefaultnotes
onRegionTextureRegionnull

## TallBlock

*extends [Block](#block)*

fieldtypedefaultnotes
shadowOffsetfloat-3.0
layerfloat71.0
rotationRandfloat20.0
shadowAlphafloat0.6

## ThermalGenerator

*extends [PowerGenerator](#powergenerator)*

fieldtypedefaultnotes
generateEffectEffectnone
effectChancefloat0.05
minEfficiencyfloat0.0
spinSpeedfloat1.0
displayEfficiencyScalefloat1.0
spinnersbooleanfalse
displayEfficiencybooleantrue
outputLiquidLiquidStacknull
attributeAttributeheat
rotatorRegionTextureRegionnull
blurRegionTextureRegionnull

## Thruster

*extends [Wall](#wall)*

fieldtypedefaultnotes
topRegionTextureRegionnull

## TractorBeamTurret

*extends [BaseTurret](#baseturret)*

fieldtypedefaultnotes
timerTargetint1
retargetTimefloat5.0
shootConefloat6.0
shootLengthfloat5.0
laserWidthfloat0.6
forcefloat0.3
scaledForcefloat0.0
damagefloat0.0
targetAirbooleantrue
targetGroundbooleanfalse
laserColorColorffffffff
statusStatusEffectnone
statusDurationfloat300.0
shootSoundSoundtractorbeam
shootSoundVolumefloat0.9
baseRegionTextureRegionnull
laserTextureRegionnull
laserStartTextureRegionnull
laserEndTextureRegionnull

## TreeBlock

*extends [Block](#block)*

fieldtypedefaultnotes
shadowTextureRegionnull
shadowOffsetfloat-4.0

## Turret

*extends [ReloadTurret](#reloadturret)*

fieldtypedefaultnotes
timerTargetint1
targetIntervalfloat20.0Ticks between attempt at finding a target.
maxAmmoint30Maximum ammo units stored.
ammoPerShotint1Ammo units used per shot.
consumeAmmoOncebooleanfalseIf true, ammo is only consumed once per shot regardless of bullet count.
heatRequirementfloat-1.0Minimum input heat required to fire.
maxHeatEfficiencyfloat3.0Maximum efficiency possible, if this turret uses heat.
inaccuracyfloat0.0Bullet angle randomness in degrees.
velocityRndfloat0.0Fraction of bullet velocity that is random.
shootConefloat8.0Maximum angle difference in degrees at which turret will still try to shoot.
shootXfloat0.0Turret shoot point.
shootYfloat-InfinityTurret shoot point.
minRangefloat0.0Minimum bullet range. Used for artillery only.
minWarmupfloat0.0Minimum warmup needed to fire.
accurateDelaybooleantrueIf true, this turret will accurately target moving targets with respect to charge time.
moveWhileChargingbooleantrueIf false, this turret can't move while charging.
shootShootPatternnew ShootPattern()pattern used for bullets
targetAirbooleantrueIf true, this block targets air units.
targetGroundbooleantrueIf true, this block targets ground units and structures.
targetHealingbooleanfalseIf true, this block targets friend blocks, to heal them.
playerControllablebooleantrueIf true, this turret can be controlled by players.
displayAmmoMultiplierbooleantrueIf true, this block will display ammo multipliers in its stats (irrelevant for certain types of turrets).
unitSortSortfclosestFunction for choosing which unit to target.
unitFilterBoolf<Unit>{code}Filter for types of units to attack.
buildingFilterBoolf<Building>underBulletsFilter for types of buildings to attack.
heatColorColorab3400ffColor of heat region drawn on top (if found)
shootEffectEffectnullOptional override for all shoot effects.
smokeEffectEffectnullOptional override for all smoke effects.
ammoUseEffectEffectnoneEffect created when ammo is used. Not optional.
shootSoundSoundshootSound emitted when a single bullet is shot.
chargeSoundSoundnoneSound emitted when shoot.firstShotDelay is >0 and shooting begins.
soundPitchMinfloat0.9Range for pitch of shoot sound.
soundPitchMaxfloat1.1Range for pitch of shoot sound.
ammoEjectBackfloat1.0Backwards Y offset of ammo eject effect.
shootWarmupSpeedfloat0.1Lerp speed of turret warmup.
linearWarmupbooleanfalseIf true, turret warmup is linear instead of a curve.
recoilfloat1.0Visual amount by which the turret recoils back per shot.
recoilTimefloat-1.0ticks taken for turret to return to starting position in ticks. uses reload time by default
recoilPowfloat1.8power curve applied to visual recoil
cooldownTimefloat20.0ticks to cool down the heat region
elevationfloat-1.0Visual elevation of turret shadow, -1 to use defaults.
shakefloat0.0How much the screen shakes per shot.
drawerDrawBlocknew DrawTurret()Defines drawing behavior for this turret.

## UnitAssembler

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
sideRegion1TextureRegionnull
sideRegion2TextureRegionnull
areaSizeint11
droneTypeUnitTypeassemblyDrone
dronesCreatedint4
droneConstructTimefloat240.0
plansSeq<AssemblerUnitPlan>new Seq<>(4)

## UnitAssemblerModule

*extends [PayloadBlock](#payloadblock)*

fieldtypedefaultnotes
sideRegion1TextureRegionnull
sideRegion2TextureRegionnull
tierint1

## UnitBlock

*extends [PayloadBlock](#payloadblock)*

## UnitCargoLoader

*extends [Block](#block)*

fieldtypedefaultnotes
unitTypeUnitTypemanifold
buildTimefloat480.0
polyStrokefloat1.8
polyRadiusfloat8.0
polySidesint6
polyRotateSpeedfloat1.0
polyColorColorffd37fff

## UnitCargoUnloadPoint

*extends [Block](#block)*

fieldtypedefaultnotes
staleTimeDurationfloat360.0If a block is full for this amount of time, it will not be flown to anymore.
topRegionTextureRegionnull

## UnitFactory

*extends [UnitBlock](#unitblock)*

fieldtypedefaultnotes
capacitiesint[][]
plansSeq<UnitPlan>new Seq<>(4)

## Unloader

*extends [Block](#block)*

fieldtypedefaultnotes
centerRegionTextureRegionnull
speedfloat1.0

## Wall

*extends [Block](#block)*

fieldtypedefaultnotes
lightningChancefloat-1.0Lighting chance. -1 to disable
lightningDamagefloat20.0
lightningLengthint17
lightningColorColorf3e979ff
lightningSoundSoundspark
chanceDeflectfloat-1.0Bullet deflection chance. -1 to disable
flashHitbooleanfalse
flashColorColorffffffff
deflectSoundSoundnone

## WallCrafter

*extends [Block](#block)*

fieldtypedefaultnotes
topRegionTextureRegionnull
rotatorBottomRegionTextureRegionnull
rotatorRegionTextureRegionnull
drillTimefloat150.0Time to produce one item at 100% efficiency.
updateEffectEffectmineWallSmallEffect randomly played while drilling.
updateEffectChancefloat0.02
rotateSpeedfloat2.0
attributeAttributesandAttribute to check for wall output.
outputItemsand

## WobbleProp

*extends [Prop](#prop)*

fieldtypedefaultnotes
wsclfloat25.0
wmagfloat0.4
wtsclfloat1.0
wmag2float1.0

# Bullet Built-in constants:

`placeholder` `spaceLiquid` `damageLightning` `damageLightningGround` `fireball`

## BulletType

*extends [Content](#content)*

fieldtypedefaultnotes
lifetimefloat40.0Lifetime in ticks.
speedfloat1.0Speed in units/tick.
damagefloat1.0Direct damage dealt on hit.
hitSizefloat4.0Hitbox size.
drawSizefloat40.0Clipping hitbox.
dragfloat0.0Drag as fraction of velocity.
piercebooleanfalseWhether to pierce units.
pierceBuildingbooleanfalseWhether to pierce buildings.
pierceCapint-1Maximum # of pierced objects.
removeAfterPiercebooleantrueIf false, this bullet isn't removed after pierceCap is exceeded. Expert usage only.
laserAbsorbbooleantrueFor piercing lasers, setting this to true makes it get absorbed by plastanium walls.
optimalLifeFractfloat0.0Life fraction at which this bullet has the best range/damage/etc. Used for lasers and continuous turrets.
layerfloat100.0Z layer to drawn on.
hitEffectEffecthitBulletSmallEffect shown on direct hit.
despawnEffectEffecthitBulletSmallEffect shown when bullet despawns.
shootEffectEffectshootSmallEffect created when shooting.
chargeEffectEffectnoneEffect created when charging starts; only usable in single-shot weapons with a firstShotDelay / shotDelay.
smokeEffectEffectshootSmallSmokeExtra smoke effect created when shooting.
hitSoundSoundnoneSound made when hitting something or getting removed.
despawnSoundSoundnoneSound made when hitting something or getting removed.
hitSoundPitchfloat1.0Pitch of the sound made when hitting something
hitSoundVolumefloat1.0Volume of the sound made when hitting something
inaccuracyfloat0.0Extra inaccuracy when firing.
ammoMultiplierfloat2.0How many bullets get created per ammo item/liquid.
reloadMultiplierfloat1.0Multiplied by turret reload speed to get final shoot speed.
buildingDamageMultiplierfloat1.0Multiplier of how much base damage is done to tiles.
recoilfloat0.0Recoil from shooter entities.
killShooterbooleanfalseWhether to kill the shooter when this is shot. For suicide bombers.
instantDisappearbooleanfalseWhether to instantly make the bullet disappear.
splashDamagefloat0.0Damage dealt in splash. 0 to disable.
scaledSplashDamagebooleanfalseIf true, splash damage is “correctly” affected by unit hitbox size. Used for projectiles that do not collide / have splash as their main source of damage.
knockbackfloat0.0Knockback in velocity.
impactbooleanfalseShould knockback follow the bullet's direction
statusStatusEffectnoneStatus effect applied on hit.
statusDurationfloat480.0Intensity of applied status effect in terms of duration.
collidesTilesbooleantrueWhether this bullet type collides with tiles.
collidesTeambooleanfalseWhether this bullet type collides with tiles that are of the same team.
collidesAirbooleantrueWhether this bullet type collides with air/ground units.
collidesGroundbooleantrueWhether this bullet type collides with air/ground units.
collidesbooleantrueWhether this bullet types collides with anything at all.
collideFloorbooleanfalseIf true, this projectile collides with non-surface floors.
collideTerrainbooleanfalseIf true, this projectile collides with static walls
keepVelocitybooleantrueWhether velocity is inherited from the shooter.
scaleLifebooleanfalseWhether to scale lifetime (not actually velocity!) to disappear at the target position. Used for artillery.
hittablebooleantrueWhether this bullet can be hit by point defense.
reflectablebooleantrueWhether this bullet can be reflected.
absorbablebooleantrueWhether this projectile can be absorbed by shields.
backMovebooleantrueWhether to move the bullet back depending on delta to fix some delta-time related issues. Do not change unless you know what you're doing.
maxRangefloat-1.0Bullet range positive override.
rangeOverridefloat-1.0When > 0, overrides range even if smaller than base range.
rangeChangefloat0.0When used in a turret with multiple ammo types, this can be set to a non-zero value to influence range.
rangefloat0.0Range initialized in init().
healPercentfloat0.0% of block health healed *
healAmountfloat0.0flat amount of block health healed
makeFirebooleanfalseWhether to make fire on impact
despawnHitbooleanfalseWhether to create hit effects on despawn. Forced to true if this bullet has any special effects like splash damage.
fragOnHitbooleantrueIf true, this bullet will create bullets when it hits anything, not just when it despawns.
pierceArmorbooleanfalseIf true, unit armor is ignored in damage calculations. Ignored for building armor.
setDefaultsbooleantrueWhether status and despawnHit should automatically be set.
hitShakefloat0.0Amount of shaking produced when this bullet hits something or despawns.
despawnShakefloat0.0Amount of shaking produced when this bullet hits something or despawns.
fragBulletBulletTypenullBullet type that is created when this bullet expires.
fragRandomSpreadfloat360.0Degree spread range of fragmentation bullets.
fragSpreadfloat0.0Uniform spread between each frag bullet in degrees.
fragAnglefloat0.0Angle offset of fragmentation bullets.
fragBulletsint9Number of fragmentation bullets created.
fragVelocityMinfloat0.2Random range of frag velocity as a multiplier.
fragVelocityMaxfloat1.0Random range of frag velocity as a multiplier.
fragLifeMinfloat1.0Random range of frag lifetime as a multiplier.
fragLifeMaxfloat1.0Random range of frag lifetime as a multiplier.
intervalBulletBulletTypenullBullet that is created at a fixed interval.
bulletIntervalfloat20.0Interval, in ticks, between which bullet spawn.
intervalBulletsint1Number of bullet spawned per interval.
hitColorColorffffffffColor used for hit/despawn effects.
healColorColor98ffa9ffColor used for block heal effects.
healEffectEffecthealBlockFullEffect emitted upon blocks that are healed.
spawnBulletsSeq<BulletType>new Seq<>()Bullets spawned when this bullet is created. Rarely necessary, used for visuals.
spawnUnitUnitTypenullUnit spawned _instead of_ this bullet. Useful for missiles.
trailColorColore58956ffColor of trail behind bullet.
trailChancefloat-1.0E-4Chance of trail effect spawning on bullet per tick.
trailIntervalfloat0.0Uniform interval in which trail effect is spawned.
trailEffectEffectmissileTrailTrail effect that is spawned.
trailParamfloat2.0Rotation/size parameter that is passed to trail. Usually, this controls size.
trailRotationbooleanfalseWhether the parameter passed to the trail is the bullet rotation, instead of a flat value.
trailInterpInterponeInterpolation for trail width as function of bullet lifetime
trailLengthint-1Length of trail quads. Any value ⇐ 0 disables the trail.
trailWidthfloat2.0Width of trail, if trailLength > 0
trailSinMagfloat0.0If trailSinMag > 0, these values are applied as a sine curve to trail width.
trailSinSclfloat3.0If trailSinMag > 0, these values are applied as a sine curve to trail width.
splashDamageRadiusfloat-1.0Use a negative value to disable splash damage.
incendAmountint0Amount of fires attempted around bullet.
incendSpreadfloat8.0Spread of fires around bullet.
incendChancefloat1.0Chance of fire being created.
homingPowerfloat0.0Power of bullet ability. Usually a number between 0 and 1; try 0.1 as a starting point.
homingRangefloat50.0Range of homing effect around bullet.
homingDelayfloat-1.0Use a negative value to disable homing delay.
suppressionRangefloat-1.0Range of healing block suppression effect.
suppressionDurationfloat480.0Duration of healing block suppression effect.
suppressionEffectChancefloat50.0Chance of suppression effect occurring on block, scaled down by number of blocks.
lightningColorColorf3e979ffColor of lightning created by bullet.
lightningint0Number of separate lightning “roots”.
lightningLengthint5Length of each lightning strand.
lightningLengthRandint0Extra random length added onto base length of lightning.
lightningDamagefloat-1.0Use a negative value to use default bullet damage.
lightningConefloat360.0Spread of lightning, relative to bullet rotation.
lightningAnglefloat0.0Offset of lightning relative to bullet rotation.
lightningTypeBulletTypenullThe bullet created at lightning points.
weaveScalefloat1.0Scale of bullet weave pattern. Higher → less vibration.
weaveMagfloat0.0Intensity of bullet weaving. Note that this may make bullets inaccurate.
weaveRandombooleantrueIf true, the bullet weave will randomly switch directions on spawn.
puddlesint0Number of individual puddles created.
puddleRangefloat0.0Range of puddles around bullet position.
puddleAmountfloat5.0Liquid count of each puddle created.
puddleLiquidLiquidwaterLiquid that puddles created are made of.
displayAmmoMultiplierbooleantrueWhether to display the ammo multiplayer for this bullet type in its stats.
lightRadiusfloat-1.0Radius of light emitted by this bullet; <0 to use defaults.
lightOpacityfloat0.3Opacity of light color.
lightColorColorfbd367ffColor of light emitted by this bullet.

## BasicBulletType

*extends [BulletType](#bullettype)*

An extended BulletType for most ammo-based bullets shot from turrets and units.

fieldtypedefaultnotes
backColorColorf9c27aff
frontColorColorfff8e8ff
mixColorFromColorffffff00
mixColorToColorffffff00
widthfloat5.0
heightfloat7.0
shrinkXfloat0.0
shrinkYfloat0.5
spinfloat0.0
rotationOffsetfloat0.0
spriteStringbullet
backSpriteStringnull
backRegionTextureRegionnull
frontRegionTextureRegionnull

## ArtilleryBulletType

*extends [BasicBulletType](#basicbullettype)*

fieldtypedefaultnotes
trailMultfloat1.0
trailSizefloat4.0

## BombBulletType

*extends [BasicBulletType](#basicbullettype)*

## ContinuousBulletType

*extends [BulletType](#bullettype)*

Basic continuous bullet type that does not draw itself. Essentially abstract.

fieldtypedefaultnotes
lengthfloat220.0
shakefloat0.0
damageIntervalfloat5.0
largeHitbooleanfalse
continuousbooleantrue

## ContinuousFlameBulletType

*extends [ContinuousBulletType](#continuousbullettype)*

fieldtypedefaultnotes
lightStrokefloat40.0
widthfloat3.7
oscSclfloat1.2
oscMagfloat0.02
divisionsint25
drawFlarebooleantrue
flareColorColore189f5ff
flareWidthfloat3.0
flareInnerSclfloat0.5
flareLengthfloat40.0
flareInnerLenSclfloat0.5
flareLayerfloat99.9999
flareRotSpeedfloat1.2
rotateFlarebooleanfalse
lengthInterpInterpslope
lengthWidthPansfloat[][1.12, 1.3, 0.32, 1.0, 1.0, 0.3, 0.8, 0.9, 0.2, 0.5, 0.8, 0.15, 0.25, 0.7, 0.1]Lengths, widths, ellipse panning, and offsets, all as fractions of the base width and length. Stored as an 'interleaved' array of values: LWPO1 LWPO2 LWPO3…
colorsColor[][eb7abe8c, e189f5b2, 907ef7cc, 91a4ffff, ffffffff]

## ContinuousLaserBulletType

*extends [ContinuousBulletType](#continuousbullettype)*

fieldtypedefaultnotes
fadeTimefloat16.0
lightStrokefloat40.0
divisionsint13
colorsColor[][ec745855, ec7458aa, ff9c5aff, ffffffff]
strokeFromfloat2.0
strokeTofloat0.5
pointyScalingfloat0.75
backLengthfloat7.0
frontLengthfloat35.0
widthfloat9.0
oscSclfloat0.8
oscMagfloat1.5

## EmpBulletType

*extends [BasicBulletType](#basicbullettype)*

fieldtypedefaultnotes
radiusfloat100.0
timeIncreasefloat2.5
timeDurationfloat600.0
powerDamageSclfloat2.0
powerSclDecreasefloat0.2
hitPowerEffectEffecthitEmpSpark
chainEffectEffectchainEmp
applyEffectEffectheal
hitUnitsbooleantrue
unitDamageSclfloat0.7

## ExplosionBulletType

*extends [BulletType](#bullettype)*

## FireBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
colorFromColorffdd55ff
colorMidColordb401cff
colorToColor7f7f7fff
radiusfloat3.0
velMinfloat0.6
velMaxfloat2.6
fireTrailChancefloat0.04
trailEffect2Effectballfire
fireEffectChancefloat0.1
fireEffectChance2float0.1

## FlakBulletType

*extends [BasicBulletType](#basicbullettype)*

fieldtypedefaultnotes
explodeRangefloat30.0
explodeDelayfloat5.0

## LaserBoltBulletType

*extends [BasicBulletType](#basicbullettype)*

fieldtypedefaultnotes
widthfloat2.0
heightfloat7.0

## LaserBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
colorsColor[][a9d8ff66, a9d8ffff, ffffffff]
laserEffectEffectlancerLaserShootSmoke
lengthfloat160.0
widthfloat15.0
lengthFallofffloat0.5
sideLengthfloat29.0
sideWidthfloat0.7
sideAnglefloat90.0
lightningSpacingfloat-1.0
lightningDelayfloat0.1
lightningAngleRandfloat0.0
largeHitbooleanfalse

## LightningBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
lightningColorColora9d8ffff
lightningLengthint25
lightningLengthRandint0

## LiquidBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
liquidLiquidnull
puddleSizefloat6.0
orbSizefloat3.0
boilTimefloat5.0

## MassDriverBolt

*extends [BulletType](#bullettype)*

## MissileBulletType

*extends [BasicBulletType](#basicbullettype)*

## PointBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
trailSpacingfloat10.0

## RailBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
pierceEffectEffecthitBulletSmall
pointEffectEffectnone
lineEffectEffectnone
endEffectEffectnone
pierceDamageFactorfloat1.0Multiplier of damage decreased per health pierced.
lengthfloat100.0
pointEffectSpacefloat20.0

## SapBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
lengthfloat100.0
sapStrengthfloat0.5
colorColorffffffff
widthfloat0.4

## ShrapnelBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
lengthfloat100.0
widthfloat20.0
fromColorColorffffffff
toColorColora9d8ffff
hitLargebooleanfalse
serrationsint7
serrationLenSclfloat10.0
serrationWidthfloat4.0
serrationSpacingfloat8.0
serrationSpaceOffsetfloat80.0
serrationFadeOffsetfloat0.5

## SpaceLiquidBulletType

*extends [BulletType](#bullettype)*

fieldtypedefaultnotes
orbSizefloat5.5

# Effect Built-in constants:

`rand` `v` `none` `blockCrash` `trailFade` `unitSpawn` `unitCapKill` `unitEnvKill` `unitControl` `unitDespawn` `unitSpirit` `itemTransfer` `pointBeam` `pointHit` `lightning` `coreBuildShockwave` `coreBuildBlock` `moveCommand` `attackCommand` `commandSend` `upgradeCore` `upgradeCoreBloom` `placeBlock` `coreLaunchConstruct` `tapBlock` `breakBlock` `payloadDeposit` `select` `smoke` `fallSmoke` `unitWreck` `rocketSmoke` `rocketSmokeLarge` `magmasmoke` `spawn` `unitAssemble` `padlaunch` `breakProp` `unitDrop` `unitLand` `unitDust` `unitLandSmall` `unitPickup` `crawlDust` `landShock` `pickup` `titanExplosion` `titanSmoke` `dynamicSpikes` `greenBomb` `greenLaserCharge` `greenLaserChargeSmall` `greenCloud` `healWaveDynamic` `healWave` `heal` `shieldWave` `shieldApply` `disperseTrail` `hitBulletSmall` `hitBulletColor` `hitSquaresColor` `hitFuse` `hitBulletBig` `hitFlameSmall` `hitFlamePlasma` `hitLiquid` `hitLaserBlast` `hitEmpSpark` `hitLancer` `hitBeam` `hitFlameBeam` `hitMeltdown` `hitMeltHeal` `instBomb` `instTrail` `instShoot` `instHit` `hitLaser` `hitLaserColor` `despawn` `airBubble` `flakExplosion` `plasticExplosion` `plasticExplosionFlak` `blastExplosion` `sapExplosion` `massiveExplosion` `artilleryTrail` `incendTrail` `missileTrail` `missileTrailShort` `absorb` `forceShrink` `flakExplosionBig` `burning` `fireRemove` `fire` `fireHit` `fireSmoke` `neoplasmHeal` `steam` `ventSteam` `drillSteam` `vapor` `vaporSmall` `fireballsmoke` `ballfire` `freezing` `melting` `wet` `muddy` `sapped` `electrified` `sporeSlowed` `oily` `overdriven` `overclocked` `dropItem` `shockwave` `bigShockwave` `spawnShockwave` `explosion` `dynamicExplosion` `reactorExplosion` `impactReactorExplosion` `blockExplosionSmoke` `shootSmall` `shootSmallColor` `shootHeal` `shootHealYellow` `shootSmallSmoke` `shootBig` `shootBig2` `shootBigColor` `shootTitan` `shootBigSmoke` `shootBigSmoke2` `shootSmokeDisperse` `shootSmokeSquare` `shootSmokeSquareSparse` `shootSmokeSquareBig` `shootSmokeTitan` `regenParticle` `regenSuppressParticle` `regenSuppressSeek` `surgeCruciSmoke` `heatReactorSmoke` `circleColorSpark` `colorSpark` `colorSparkBig` `randLifeSpark` `shootPayloadDriver` `shootSmallFlame` `shootPyraFlame` `shootLiquid` `casing1` `casing2` `casing3` `casing4` `casing2Double` `casing3Double` `railShoot` `railTrail` `railHit` `lancerLaserShoot` `lancerLaserShootSmoke` `lancerLaserCharge` `lancerLaserChargeBegin` `lightningCharge` `sparkShoot` `lightningShoot` `thoriumShoot` `reactorsmoke` `redgeneratespark` `turbinegenerate` `generatespark` `fuelburn` `incinerateSlag` `coreBurn` `plasticburn` `conveyorPoof` `pulverize` `pulverizeRed` `pulverizeSmall` `pulverizeMedium` `producesmoke` `smokeCloud` `smeltsmoke` `coalSmeltsmoke` `formsmoke` `blastsmoke` `lava` `dooropen` `doorclose` `dooropenlarge` `doorcloselarge` `generate` `mineWallSmall` `mineSmall` `mine` `mineBig` `mineHuge` `mineImpact` `mineImpactWave` `payloadReceive` `teleportActivate` `teleport` `teleportOut` `ripple` `bubble` `launch` `launchPod` `healWaveMend` `overdriveWave` `healBlock` `healBlockFull` `rotateBlock` `lightBlock` `overdriveBlockFull` `shieldBreak` `coreLandDust` `unitShieldBreak` `chainLightning` `chainEmp` `legDestroy`

## Effect

*extends [Object](#object)*

fieldtypedefaultnotes
idint345
rendererCons<EffectContainer>{code}
lifetimefloat50.0
clipfloat0.0Clip size.
startDelayfloat0.0Time delay before the effect starts
baseRotationfloat0.0Amount added to rotation
followParentbooleantrueIf true, parent unit is data are followed.
rotWithParentbooleanfalseIf this and followParent are true, the effect will offset and rotate with the parent's rotation.
layerfloat110.0
layerDurationfloat0.0

## ExplosionEffect

*extends [Effect](#effect)*

fieldtypedefaultnotes
waveColorColorffd2aeff
smokeColorColor7f7f7fff
sparkColorColore58956ff
waveLifefloat6.0
waveStrokefloat3.0
waveRadfloat15.0
waveRadBasefloat2.0
sparkStrokefloat1.0
sparkRadfloat23.0
sparkLenfloat3.0
smokeSizefloat4.0
smokeSizeBasefloat0.5
smokeRadfloat23.0
smokesint5
sparksint4

## MultiEffect

*extends [Effect](#effect)*

Renders multiple particle effects at once.

fieldtypedefaultnotes
effectsEffect[][]

## ParticleEffect

*extends [Effect](#effect)*

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

fieldtypedefaultnotes
colorFromColorffffffff
colorToColorffffffff
particlesint6
randLengthbooleantrue
casingFlipbooleanfalseGives the effect flipping compatability like casing effects.
conefloat180.0
lengthfloat20.0
baseLengthfloat0.0
interpInterplinearParticle size/length/radius interpolation.
sizeInterpInterpnullParticle size interpolation. Null to use interp.
offsetXfloat0.0
offsetYfloat0.0
lightSclfloat2.0
lightOpacityfloat0.6
lightColorColornull
spinfloat0.0Spin in degrees per tick.
sizeFromfloat2.0Controls the initial and final sprite sizes.
sizeTofloat0.0Controls the initial and final sprite sizes.
useRotationbooleantrueWhether the rotation adds with the parent
offsetfloat0.0Rotation offset.
regionString“circle”Sprite to draw.
linebooleanfalse
strokeFromfloat2.0
strokeTofloat0.0
lenFromfloat4.0
lenTofloat2.0

## RadialEffect

*extends [Effect](#effect)*

Renders one particle effect repeatedly at specified angle intervals.

fieldtypedefaultnotes
effectEffectnone
rotationSpacingfloat90.0
rotationOffsetfloat0.0
lengthOffsetfloat0.0
amountint4

## SeqEffect

*extends [Effect](#effect)*

Renders multiple particle effects in sequence. Will not work correctly for effects that modify life dynamically. Z layer of child effects is ignored.

fieldtypedefaultnotes
effectsEffect[][]

## WaveEffect

*extends [Effect](#effect)*

Effect that renders a basic shockwave.

fieldtypedefaultnotes
colorFromColorffffffff
colorToColorffffffff
lightColorColornull
sizeFromfloat0.0
sizeTofloat100.0
lightSclfloat3.0
lightOpacityfloat0.8
sidesint-1
rotationfloat0.0
strokeFromfloat2.0
strokeTofloat0.0
interpInterplinear
lightInterpInterpreverse
offsetXfloat0.0
offsetYfloat0.0

## WrapEffect

*extends [Effect](#effect)*

Wraps an effect with some parameters.

fieldtypedefaultnotes
effectEffectnone
colorColorffffffff
rotationfloatNaN

# Item

*extends [UnlockableContent](#unlockablecontent)*

fieldtypedefaultnotes
colorColor000000ff
explosivenessfloat0.0how explosive this item is.
flammabilityfloat0.0flammability above 0.3 makes this eligible for item burners.
radioactivityfloat0.0how radioactive this item is.
chargefloat0.0how electrically potent this item is.
hardnessint0drill hardness of the item
costfloat1.0base material cost of this item, used for calculating place times 1 cost = 1 tick added to build time
healthScalingfloat0.0When this item is present in the build cost, a block's <b>default</b> health is multiplied by 1 + scaling, where 'scaling' is summed together for all item requirement types.
lowPrioritybooleanfalseif true, this item is of the lowest priority to drills.
framesint0If >0, this item is animated.
transitionFramesint0Number of generated transition frames between each frame
frameTimefloat5.0Ticks in-between animation frames.
buildablebooleantrueIf true, this material is used by buildings. If false, this material will be incinerated in certain cores.
hiddenbooleanfalse

# Liquid

## Liquid

*extends [UnlockableContent](#unlockablecontent)*

A better name for this class would be “fluid”, but it's too late for that.

fieldtypedefaultnotes
gasbooleanfalseIf true, this fluid is treated as a gas (and does not create puddles)
colorColor000000ffColor used in pipes and on the ground.
gasColorColorbfbfbfffColor of this liquid in gas form.
barColorColornullColor used in bars.
lightColorColor00000000Color used to draw lights. Note that the alpha channel is used to dictate brightness.
flammabilityfloat0.00-1, 0 is completely not flammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable.
temperaturefloat0.5temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot
heatCapacityfloat0.5how much heat this liquid can store. 0.4=water (decent), anything lower is probably less dense and bad at cooling.
viscosityfloat0.5how thick this liquid is. 0.5=water (relatively viscous), 1 would be something like tar (very slow).
explosivenessfloat0.0how prone to exploding this liquid is, when heated. 0 = nothing, 1 = nuke
coolantbooleantrueif false, this liquid cannot be a coolant
effectStatusEffectnoneThe associated status effect.
particleEffectEffectnoneEffect shown in puddles.
particleSpacingfloat60.0Particle effect rate spacing in ticks.
boilPointfloat2.0Temperature at which this liquid vaporizes. This isn't just boiling.
capPuddlesbooleantrueIf true, puddle size is capped.
vaporEffectEffectvaporEffect when this liquid vaporizes.
hiddenbooleanfalseIf true, this liquid is hidden in most UI.

## CellLiquid

*extends [Liquid](#liquid)*

fieldtypedefaultnotes
colorFromColorffffffff
colorToColorffffffff
cellsint8

# Status Built-in constants:

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

*extends [UnlockableContent](#unlockablecontent)*

fieldtypedefaultnotes
damageMultiplierfloat1.0Damage dealt by the unit with the effect.
healthMultiplierfloat1.0Unit health multiplier.
speedMultiplierfloat1.0Unit speed multiplier.
reloadMultiplierfloat1.0Unit reload multiplier.
buildSpeedMultiplierfloat1.0Unit build speed multiplier.
dragMultiplierfloat1.0Unit drag multiplier.
transitionDamagefloat0.0Damage dealt upon transition to an affinity.
disarmbooleanfalseUnit weapon(s) disabled.
damagefloat0.0Damage per frame.
effectChancefloat0.15Chance of effect appearing.
parentizeEffectbooleanfalseShould the effect be given a parent
permanentbooleanfalseIf true, the effect never disappears.
reactivebooleanfalseIf true, this effect will only react with other effects and cannot be applied.
showbooleantrueWhether to show this effect in the database.
colorColorffffffffTint color of effect.
effectEffectnoneEffect that happens randomly on top of the affected unit.
affinitiesObjectSet<StatusEffect>new ObjectSet<>()Affinity & opposite values for stat displays.
oppositesObjectSet<StatusEffect>new ObjectSet<>()Affinity & opposite values for stat displays.
outlinebooleantrueSet to false to disable outline generation.

# Unit

## UnitType

*extends [UnlockableContent](#unlockablecontent)*

fieldtypedefaultnotes
envRequiredint0Environmental flags that are *all* required for this unit to function. 0 = any environment
envEnabledint1The environment flags that this unit can function in. If the env matches any of these, it will be enabled.
envDisabledint16The environment flags that this unit *cannot* function in. If the env matches any of these, it will explode or be disabled.
speedfloat1.1movement speed (world units/t)
boostMultiplierfloat1.0movement speed (world units/t)
rotateSpeedfloat5.0movement speed (world units/t)
baseRotateSpeedfloat5.0movement speed (world units/t)
dragfloat0.3movement speed (world units/t)
accelfloat0.5movement speed (world units/t)
hitSizefloat6.0movement speed (world units/t)
stepShakefloat-1.0movement speed (world units/t)
rippleScalefloat1.0movement speed (world units/t)
riseSpeedfloat0.08movement speed (world units/t)
fallSpeedfloat0.018movement speed (world units/t)
healthfloat200.0movement speed (world units/t)
armorfloat0.0movement speed (world units/t)
rangefloat-1.0movement speed (world units/t)
maxRangefloat-1.0movement speed (world units/t)
mineRangefloat70.0movement speed (world units/t)
buildRangefloat220.0movement speed (world units/t)
crashDamageMultiplierfloat1.0movement speed (world units/t)
dpsEstimatefloat-1.0movement speed (world units/t)
clipSizefloat-1.0movement speed (world units/t)
drownTimeMultiplierfloat1.0movement speed (world units/t)
strafePenaltyfloat0.5movement speed (world units/t)
researchCostMultiplierfloat50.0movement speed (world units/t)
groundLayerfloat60.0movement speed (world units/t)
payloadCapacityfloat8.0movement speed (world units/t)
buildSpeedfloat-1.0movement speed (world units/t)
aimDstfloat-1.0movement speed (world units/t)
buildBeamOffsetfloat3.8movement speed (world units/t)
targetPriorityfloat0.0movement speed (world units/t)
shadowElevationfloat-1.0movement speed (world units/t)
shadowElevationSclfloat1.0movement speed (world units/t)
engineOffsetfloat5.0movement speed (world units/t)
engineSizefloat2.5movement speed (world units/t)
engineLayerfloat-1.0movement speed (world units/t)
itemOffsetYfloat3.0movement speed (world units/t)
lightRadiusfloat-1.0movement speed (world units/t)
lightOpacityfloat0.6movement speed (world units/t)
fogRadiusfloat-1.0movement speed (world units/t)
waveTrailXfloat4.0movement speed (world units/t)
waveTrailYfloat-3.0movement speed (world units/t)
tailSclfloat1.0movement speed (world units/t)
isEnemybooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
flyingbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
targetAirbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
targetGroundbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
faceTargetbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
circleTargetbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
canBoostbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
logicControllablebooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
playerControllablebooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
allowedInPayloadsbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
hittablebooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
killablebooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
targetablebooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
vulnerableWithPayloadsbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
pickupUnitsbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
physicsbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
canDrownbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
useUnitCapbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
coreUnitDockbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
createWreckbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
createScorchbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
lowAltitudebooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
rotateToBuildingbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
allowLegStepbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
legPhysicsLayerbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
hoveringbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
omniMovementbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
rotateMoveFirstbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
healFlashbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
canHealbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
singleTargetbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
forceMultiTargetbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
canAttackbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
hiddenbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
internalbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
navalbooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
alwaysCreateOutlinebooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
squareShapebooleanfalseif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
drawBuildBeambooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
drawCellbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
drawItemsbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
drawShieldsbooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
drawBodybooleantrueif true, this unit counts as an enemy in the wave counter (usually false for support-only units)
aiControllerProv<? extends UnitController>{code}The default AI controller to assign on creation.
controllerFunc<Unit,? extends UnitController>get() : new CommandAI()Function that chooses AI controller based on unit entity.
constructorProv<? extends Unit>nullCreates a new instance of this unit class.
abilitiesSeq<Ability>new Seq<>()list of “abilities”, which are various behaviors that update each frame
weaponsSeq<Weapon>new Seq<>()All weapons that this unit will shoot with.
immunitiesObjectSet<StatusEffect>new ObjectSet<>()None of the status effects in this set can be applied to this unit.
healColorColor98ffa9ffcolor that this unit flashes when getting healed (if healFlash is true)
lightColorColorfbd367ffColor of light that this unit produces when lighting is enabled in the map.
deathSoundSoundbangsound played when this unit explodes (*not* when it is shot down)
fallEffectEffectfallSmokeeffect that this unit emits when falling
fallEngineEffectEffectfallSmokeeffect created at engine when unit falls.
deathExplosionEffectEffectdynamicExplosioneffect created when this unit dies
treadEffectEffectnulloptional effect created when this tank moves
partsSeq<DrawPart>class)extra (usually animated) visual parts
enginesSeq<UnitEngine>new Seq<>()list of engines, or “thrusters”
useEngineElevationbooleantrueif false, the thruster is always displayed at its normal size regardless of elevation
engineColorColornulloverride for all engine colors
engineColorInnerColorffffffffcolor for inner portions of engines
trailLengthint0length of engine trail (if flying) or wave trail (if naval)
trailColorColornulloverride for engine trail color
pathCostPathCostnullFunction used for calculating cost of moving with ControlPathfinder. Does not affect “normal” flow field pathfinding.
sampleUnitnullA sample of the unit that this type creates. Do not modify!
targetFlagsBlockFlag[][null]Flags to target based on priority. Null indicates that the closest target should be found. The closest enemy core is used as a fallback.
outlineColorColor565666ffcolor for outline generated around sprites
outlineRadiusint3thickness for sprite outline
outlinesbooleantrueif false, no sprite outlines are generated
itemCapacityint-1amount of items this unit can carry; <0 to determine based on hitSize.
ammoCapacityint-1amount of ammo this unit can hold (if the rule is enabled); <0 to determine based on weapon fire rate.
ammoTypeAmmoTypecopper)ammo this unit uses, if that system is enabled.
mineTierint-1max hardness of ore that this unit can mine (<0 to disable)
mineSpeedfloat1.0mining speed in weird arbitrary units
mineWallsbooleanfalsewhether this unit can mine ores from floors/walls, respectively
mineFloorbooleantruewhether this unit can mine ores from floors/walls, respectively
mineHardnessScalingbooleantrueif true, harder materials will take longer to mine
mineSoundSoundminebeamcontinuous sound emitted when mining.
mineSoundVolumefloat0.6volume of mining sound.
mineItemsSeq<Item>thorium)Target items to mine. Used in MinerAI
legCountint4number of legs this unit has (must have the correct type to function!)
legGroupSizeint2size of groups in which legs move. for example, insects (6 legs) usually move legs in groups of 3.
legLengthfloat10.0total length of a leg (both segments)
legSpeedfloat0.1total length of a leg (both segments)
legForwardSclfloat1.0total length of a leg (both segments)
legBaseOffsetfloat0.0total length of a leg (both segments)
legMoveSpacefloat1.0total length of a leg (both segments)
legExtensionfloat0.0total length of a leg (both segments)
legPairOffsetfloat0.0total length of a leg (both segments)
legLengthSclfloat1.0total length of a leg (both segments)
legStraightLengthfloat1.0total length of a leg (both segments)
legMaxLengthfloat1.75total length of a leg (both segments)
legMinLengthfloat0.0total length of a leg (both segments)
legSplashDamagefloat0.0total length of a leg (both segments)
legSplashRangefloat5.0total length of a leg (both segments)
baseLegStraightnessfloat0.0total length of a leg (both segments)
legStraightnessfloat0.0total length of a leg (both segments)
lockLegBasebooleanfalseIf true, legs are locked to the base of the unit instead of being on an implicit rotating “mount”.
legContinuousMovebooleanfalseIf true, legs always try to move around even when the unit is not moving (leads to more natural behavior)
flipBackLegsbooleantrueTODO neither of these appear to do much
flipLegSidebooleanfalseTODO neither of these appear to do much
mechLandShakefloat0.0screen shake amount for when this mech lands after boosting
mechSideSwayfloat0.54parameters for mech swaying animation
mechFrontSwayfloat0.1parameters for mech swaying animation
mechStridefloat-1.0parameters for mech swaying animation
mechStepParticlesbooleanfalsewhether particles are created when this mech takes a step
mechLegColorColor6e7080ffcolor that legs change to when moving, to simulate depth
treadRectsRect[][]list of treads as rectangles in IMAGE COORDINATES, relative to the center. these are mirrored.
treadFramesint18number of frames of movement in a tread
treadPullOffsetint0how much of a top part of a tread sprite is “cut off” relative to the pattern; this is corrected for
segmentsint0number of independent segments
segmentMagfloat2.0magnitude of sine offset between segments
segmentSclfloat4.0magnitude of sine offset between segments
segmentPhasefloat5.0magnitude of sine offset between segments
segmentRotSpeedfloat1.0magnitude of sine offset between segments
segmentMaxRotfloat30.0magnitude of sine offset between segments
crawlSlowdownfloat0.5magnitude of sine offset between segments
crushDamagefloat0.0magnitude of sine offset between segments
crawlSlowdownFracfloat0.55magnitude of sine offset between segments
lifetimefloat300.0lifetime of this missile.
homingDelayfloat10.0ticks that must pass before this missile starts homing.
baseRegionTextureRegionnull
legRegionTextureRegionnull
regionTextureRegionnull
previewRegionTextureRegionnull
shadowRegionTextureRegionnull
cellRegionTextureRegionnull
itemCircleRegionTextureRegionnull
softShadowRegionTextureRegionnull
jointRegionTextureRegionnull
footRegionTextureRegionnull
legBaseRegionTextureRegionnull
baseJointRegionTextureRegionnull
outlineRegionTextureRegionnull
treadRegionTextureRegionnull
wreckRegionsTextureRegion[]null
segmentRegionsTextureRegion[]null
segmentOutlineRegionsTextureRegion[]null
treadRegionsTextureRegion[][]null

## ErekirUnitType

*extends [UnitType](#unittype)*

Config class for special Erekir unit properties.

## MissileUnitType

*extends [UnitType](#unittype)*

Field template for unit types. No new functionality.

## NeoplasmUnitType

*extends [UnitType](#unittype)*

This is just a preset. Contains no new behavior.

## TankUnitType

*extends [ErekirUnitType](#erekirunittype)*

# Weather

## Weather

*extends [UnlockableContent](#unlockablecontent)*

fieldtypedefaultnotes
durationfloat36000.0Default duration of this weather event in ticks.
opacityMultiplierfloat1.0
attrsAttributesnew Attributes()
soundSoundnone
soundVolfloat0.1
soundVolMinfloat0.0
soundVolOscMagfloat0.0
soundVolOscSclfloat20.0
hiddenbooleanfalse
typeProv<WeatherState>WeatherState::create
statusStatusEffectnone
statusDurationfloat120.0
statusAirbooleantrue
statusGroundbooleantrue

## MagneticStorm

*extends [Weather](#weather)*

## ParticleWeather

*extends [Weather](#weather)*

fieldtypedefaultnotes
particleRegionString“circle-shadow”
colorColorffffffff
regionTextureRegionnull
yspeedfloat-2.0
xspeedfloat0.25
paddingfloat16.0
sizeMinfloat2.4
sizeMaxfloat12.0
densityfloat1200.0
minAlphafloat1.0
maxAlphafloat1.0
forcefloat0.0
noiseScalefloat2000.0
baseSpeedfloat6.1
sinSclMinfloat30.0
sinSclMaxfloat80.0
sinMagMinfloat1.0
sinMagMaxfloat7.0
noiseColorColorffffffff
drawNoisebooleanfalse
drawParticlesbooleantrue
useWindVectorbooleanfalse
randomParticleRotationbooleanfalse
noiseLayersint1
noiseLayerSpeedMfloat1.1
noiseLayerAlphaMfloat0.8
noiseLayerSclMfloat0.99
noiseLayerColorMfloat1.0
noisePathString“noiseAlpha”
noiseTexturenull

## RainWeather

*extends [Weather](#weather)*

fieldtypedefaultnotes
yspeedfloat5.0
xspeedfloat1.5
paddingfloat16.0
densityfloat1200.0
strokefloat0.75
sizeMinfloat8.0
sizeMaxfloat40.0
splashTimeScalefloat22.0
liquidLiquidwater
splashesTextureRegion[][null, null, null, null, null, null, null, null, null, null, null, null]
colorColor7a95eaff

## SolarFlare

*extends [Weather](#weather)*

# Other

## Ability

*extends [Object](#object)*

fieldtypedefaultnotes
datafloat0.0

## ArmorPlateAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
plateRegionTextureRegionnull
colorColord1efffff
healthMultiplierfloat0.2
zfloat110.0

## BuildWeapon

*extends [Weapon](#weapon)*

Purely visual turret. Does not shoot anything.

## DrawArcSmelt

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
flameColorColorf58349ff
midColorColorf2d585ff
flameRadfloat1.0
circleSpacefloat2.0
flameRadiusSclfloat3.0
flameRadiusMagfloat0.3
circleStrokefloat1.5
alphafloat0.68
particlesint25
particleLifefloat40.0
particleRadfloat7.0
particleStrokefloat1.1
particleLenfloat3.0
drawCenterbooleantrue
blendingBlendingadditive

## DrawBlurSpin

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
regionTextureRegionnull
blurRegionTextureRegionnull
suffixString”“
rotateSpeedfloat1.0
xfloat0.0
yfloat0.0
blurThreshfloat0.7

## DrawBubbles

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
colorColor7457ceff
amountint12
sidesint8
strokeMinfloat0.2
spreadfloat3.0
timeSclfloat30.0
recurrencefloat6.0
radiusfloat3.0
fillbooleanfalse

## DrawCells

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
middleTextureRegionnull
colorColorffffffff
particleColorFromColor000000ff
particleColorToColor000000ff
particlesint12
rangefloat4.0
recurrencefloat6.0
radiusfloat3.0
lifetimefloat60.0

## DrawCircles

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
colorColor7457ceff
amountint5
sidesint15
strokeMinfloat0.2
strokeMaxfloat2.0
timeSclfloat160.0
radiusfloat12.0
radiusOffsetfloat0.0
xfloat0.0
yfloat0.0
strokeInterpInterppow3In

## DrawCrucibleFlame

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
flameColorColorf58349ff
midColorColorf2d585ff
flameRadfloat1.0
circleSpacefloat2.0
flameRadiusSclfloat10.0
flameRadiusMagfloat0.6
circleStrokefloat1.5
alphafloat0.5
particlesint30
particleLifefloat70.0
particleRadfloat7.0
particleSizefloat3.0
fadeMarginfloat0.4
rotateSclfloat1.5
particleInterpInterp5f)

## DrawCultivator

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
plantColorColor5541b1ff
plantColorLightColor7457ceff
bottomColorColor474747ff
bubblesint12
sidesint8
strokeMinfloat0.2
spreadfloat3.0
timeSclfloat70.0
recurrencefloat6.0
radiusfloat3.0
middleTextureRegionnull

## DrawDefault

*extends [DrawBlock](#drawblock)*

## DrawFade

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
suffixString”-top”
alphafloat0.6
scalefloat3.0
regionTextureRegionnull

## DrawFlame

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
flameColorColorffc999ff
topTextureRegionnull
lightRadiusfloat60.0
lightAlphafloat0.65
lightSinSclfloat10.0
lightSinMagfloat5.0
flameRadiusfloat3.0
flameRadiusInfloat1.9
flameRadiusSclfloat5.0
flameRadiusMagfloat2.0
flameRadiusInMagfloat1.0

## DrawFrames

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
framesint3Number of frames to draw.
intervalfloat5.0Ticks between frames.
sinebooleantrueIf true, frames wil alternate back and forth in a sine wave.
regionsTextureRegion[]null

## DrawGlowRegion

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
blendingBlendingadditive
suffixString“-glow”
alphafloat0.9
glowScalefloat10.0
glowIntensityfloat0.5
rotateSpeedfloat0.0
layerfloat31.0
rotatebooleanfalse
colorColorff0000ff
regionTextureRegionnull

## DrawHeatInput

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
suffixString“-heat”
heatColorColorff3838cc
heatPulsefloat0.3
heatPulseSclfloat10.0
heatTextureRegionnull

## DrawHeatOutput

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
heatTextureRegionnull
glowTextureRegionnull
top1TextureRegionnull
top2TextureRegionnull
heatColorColorff3838cc
heatPulsefloat0.3
heatPulseSclfloat10.0
glowMultfloat1.2

## DrawHeatRegion

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
colorColorff3838cc
pulsefloat0.3
pulseSclfloat10.0
heatTextureRegionnull
suffixString“-glow”

## DrawLiquidOutputs

*extends [DrawBlock](#drawblock)*

This must be used in conjunction with another DrawBlock; it only draws outputs.

fieldtypedefaultnotes
liquidOutputRegionsTextureRegion[][]null

## DrawLiquidRegion

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
drawLiquidLiquidnull
liquidTextureRegionnull
suffixString“-liquid”
alphafloat1.0

## DrawLiquidTile

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
drawLiquidLiquidnull
paddingfloat0.0
alphafloat1.0

## DrawMulti

*extends [DrawBlock](#drawblock)*

combined several DrawBlocks into one

fieldtypedefaultnotes
drawersDrawBlock[][]

## DrawMultiWeave

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
weaveTextureRegionnull
glowTextureRegionnull
rotateSpeedfloat1.0
rotateSpeed2float-0.9
glowColorColorff6666cc
pulsefloat0.3
pulseSclfloat10.0

## DrawParticles

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
colorColorf2d585ff
alphafloat0.5
particlesint30
particleLifefloat70.0
particleRadfloat7.0
particleSizefloat3.0
fadeMarginfloat0.4
rotateSclfloat3.0
reversebooleanfalse
particleInterpInterp5f)
particleSizeInterpInterpslope
blendingBlendingnormal

## DrawPistons

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
sinMagfloat4.0
sinSclfloat6.0
sinOffsetfloat50.0
sideOffsetfloat0.0
lenOffsetfloat-1.0
sidesint4
region1TextureRegionnull
region2TextureRegionnull
regiontTextureRegionnull

## DrawPulseShape

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
colorColorffd37fff
strokefloat2.0
timeSclfloat100.0
minStrokefloat0.2
radiusSclfloat1.0
layerfloat-1.0
squarebooleantrue

## DrawPumpLiquid

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
liquidTextureRegionnull

## DrawRegion

*extends [DrawBlock](#drawblock)*

Not standalone.

fieldtypedefaultnotes
regionTextureRegionnull
suffixString““
spinSpritebooleanfalse
drawPlanbooleantrue
rotateSpeedfloat0.0
xfloat0.0
yfloat0.0
layerfloat-1.0Any number ⇐0 disables layer changes.

## DrawShape

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
colorColorffd37fff
sidesint4
radiusfloat2.0
timeSclfloat1.0
layerfloat-1.0
xfloat0.0
yfloat0.0
useWarmupRadiusbooleanfalse

## DrawSideRegion

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
top1TextureRegionnull
top2TextureRegionnull

## DrawSpikes

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
colorColor7457ceff
amountint10
layersint1
strokefloat2.0
rotateSpeedfloat0.8
radiusfloat6.0
lengthfloat4.0
xfloat0.0
yfloat0.0
layerSpeedfloat-1.0

## DrawTurbines

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
turbinesTextureRegion[][null, null]
capTextureRegionnull
turbineSpeedfloat2.0

## DrawTurret

*extends [DrawBlock](#drawblock)*

Extend to implement custom drawing behavior for a turret.

fieldtypedefaultnotes
partsSeq<DrawPart>new Seq<>()
basePrefixString”“Prefix to use when loading base region.
liquidDrawLiquidnullOverrides the liquid to draw in the liquid region.
baseTextureRegionnull
liquidTextureRegionnull
topTextureRegionnull
heatTextureRegionnull
previewTextureRegionnull
outlineTextureRegionnull

## DrawWarmupRegion

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
sinMagfloat0.6
sinSclfloat8.0
colorColorff9b59ff
regionTextureRegionnull

## DrawWeave

*extends [DrawBlock](#drawblock)*

fieldtypedefaultnotes
weaveTextureRegionnull

## EnergyFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
damagefloat1.0
reloadfloat100.0
rangefloat60.0
healEffectEffectheal
hitEffectEffecthitLaserBlast
damageEffectEffectchainLightning
statusStatusEffectelectrified
shootSoundSoundspark
statusDurationfloat360.0
xfloat0.0
yfloat0.0
targetGroundbooleantrue
targetAirbooleantrue
hitBuildingsbooleantrue
hitUnitsbooleantrue
maxTargetsint25
healPercentfloat3.0
layerfloat99.999
blinkSclfloat20.0
blinkSizefloat0.1
effectRadiusfloat5.0
sectorRadfloat0.14
rotateSpeedfloat0.5
sectorsint5
colorColor98ffa9ff
useAmmobooleantrue

## ForceFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
radiusfloat60.0Shield radius.
regenfloat0.1Shield regen speed in damage/tick.
maxfloat200.0Maximum shield.
cooldownfloat300.0Cooldown after the shield is broken, in ticks.

## LiquidExplodeAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
liquidLiquidwater
amountfloat120.0
radAmountScalefloat5.0
radScalefloat1.0
noiseMagfloat6.5
noiseSclfloat5.0

## LiquidRegenAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
liquidLiquidnull
slurpSpeedfloat9.0
regenPerSlurpfloat2.9
slurpEffectChancefloat0.4
slurpEffectEffectheal

## MoveEffectAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
minVelocityfloat0.08
intervalfloat3.0
xfloat0.0
yfloat0.0
rotateEffectbooleanfalse
effectParamfloat3.0
teamColorbooleanfalse
colorColorffffffff
effectEffectmissileTrail

## MoveLightningAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
damagefloat35.0Lightning damage
chancefloat0.15Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed
lengthint12Length of the lightning. ⇐ 0 to disable
minSpeedfloat0.8Speeds for when to start lightninging and when to stop getting faster
maxSpeedfloat1.2Speeds for when to start lightninging and when to stop getting faster
colorColora9d8ffffLightning color
yfloat0.0Shifts where the lightning spawns along the Y axis
xfloat0.0Offset along the X axis
alternatebooleantrueWhether the spawn side alternates
heatRegionString“error”Jittering heat sprite like the shield on v5 Javelin
bulletBulletTypenullBullet type that is fired. Can be null
bulletAnglefloat0.0Bullet angle parameters
bulletSpreadfloat0.0Bullet angle parameters
shootEffectEffectsparkShoot
parentizeEffectsbooleanfalse
shootSoundSoundspark

## RegenAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
percentAmountfloat0.0Amount healed as percent per tick.
amountfloat0.0Amount healed as a flat amount per tick.

## RepairFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
amountfloat1.0
reloadfloat100.0
rangefloat60.0
healEffectEffectheal
activeEffectEffecthealWaveDynamic
parentizeEffectsbooleanfalse

## UnitSpawnAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
unitUnitTypenull
spawnTimefloat60.0
spawnXfloat0.0
spawnYfloat0.0
spawnEffectEffectspawn
parentizeEffectsbooleanfalse

## Weapon

*extends [Object](#object)*

fieldtypedefaultnotes
nameString__typeofWeapondisplayed weapon region
bulletBulletTypeplaceholderbullet shot
ejectEffectEffectnoneshell ejection effect
useAmmobooleantruewhether to consume ammo when ammo is enabled in rules
mirrorbooleantruewhether to create a flipped copy of this weapon upon initialization. default: true
flipSpritebooleanfalsewhether to flip the weapon's sprite when rendering
alternatebooleantruewhether to shoot the weapons in different arms one after another, rather than all at once; only valid when mirror = true
rotatebooleanfalsewhether to rotate toward the target independently of unit
baseRotationfloat0.0rotation at which this weapon is locked to if rotate = false. TODO buggy!
topbooleantruewhether to draw the outline on top.
continuousbooleanfalsewhether to hold the bullet in place while firing
controllablebooleantruewhether this weapon can be aimed manually by players
autoTargetbooleanfalsewhether to automatically target relevant units in update(); only works when controllable = false.
predictTargetbooleantruewhether to perform target trajectory prediction
targetIntervalfloat40.0ticks to wait in-between targets
targetSwitchIntervalfloat70.0ticks to wait in-between targets
rotateSpeedfloat20.0rotation speed of weapon when rotation is enabled, in degrees/t
reloadfloat1.0weapon reload in frames
inaccuracyfloat0.0inaccuracy of degrees of each shot
shakefloat0.0intensity and duration of each shot's screen shake
recoilfloat1.5visual weapon knockback.
recoilTimefloat-1.0time taken for weapon to return to starting position in ticks. uses reload time by default
recoilPowfloat1.8power curve applied to visual recoil
cooldownTimefloat20.0ticks to cool down the heat region
shootXfloat0.0projectile/effect offsets from center of weapon
shootYfloat3.0projectile/effect offsets from center of weapon
xfloat5.0offsets of weapon position on unit
yfloat0.0offsets of weapon position on unit
shootShootPatternnew ShootPattern()pattern used for bullets
shadowfloat-1.0radius of shadow drawn under the weapon; <0 to disable
velocityRndfloat0.0fraction of velocity that is random
shootConefloat5.0The half-radius of the cone in which shooting will start.
rotationLimitfloat361.0Cone in which the weapon can rotate relative to its mount.
minWarmupfloat0.0minimum weapon warmup before firing (this is not linear, do NOT use 1!)
shootWarmupSpeedfloat0.1lerp speed for shoot warmup, only used for parts
smoothReloadSpeedfloat0.15lerp speed for shoot warmup, only used for parts
soundPitchMinfloat0.8random sound pitch range
soundPitchMaxfloat1.0random sound pitch range
ignoreRotationbooleanfalsewhether shooter rotation is ignored when shooting.
noAttackbooleanfalseIf true, this weapon cannot be used to attack targets.
minShootVelocityfloat-1.0min velocity required for this weapon to shoot
parentizeEffectsbooleanfalseshould the shoot effects follow the unit (effects need followParent set to true for this to work)
otherSideint-1internal value used for alternation - do not change!
layerOffsetfloat0.0draw Z offset relative to the default value
shootSoundSoundpewsound used for shooting
chargeSoundSoundnonesound used for weapons that have a delay
noAmmoSoundSoundnoammosound played when there is nothing to shoot
regionTextureRegionnulldisplayed region (autoloaded)
heatRegionTextureRegionnullheat region, must be same size as region (optional)
cellRegionTextureRegionnullcell region, must be same size as region (optional)
outlineRegionTextureRegionnulloutline region to display if top is false
heatColorColorab3400ffheat region tint
shootStatusStatusEffectnonestatus effect applied when shooting
mountTypeFunc<Weapon,WeaponMount>WeaponMount::newtype of weapon mount to be used
shootStatusDurationfloat300.0status effect duration when shot
shootOnDeathbooleanfalsewhether this weapon should fire when its owner dies
partsSeq<DrawPart>class)extra animated parts

## PointDefenseWeapon

*extends [Weapon](#weapon)*

Note that this requires several things: - A bullet with positive maxRange - A bullet with positive damage - Rotation

fieldtypedefaultnotes
colorColorffffffff
beamEffectEffectpointBeam

## RepairBeamWeapon

*extends [Weapon](#weapon)*

Note that this weapon requires a bullet with a positive maxRange. Rotation must be set to true. Fixed repair points are not supported.

fieldtypedefaultnotes
targetBuildingsbooleanfalse
targetUnitsbooleantrue
repairSpeedfloat0.3
fractionRepairSpeedfloat0.0
beamWidthfloat1.0
pulseRadiusfloat6.0
pulseStrokefloat2.0
widthSinMagfloat0.0
widthSinSclfloat4.0
recentDamageMultiplierfloat0.1
laserTextureRegionnull
laserEndTextureRegionnull
laserTopTextureRegionnull
laserTopEndTextureRegionnull
laserColorColor98ffa9ff
laserTopColorColorffffffff
healColorColor98ffa9ff
healEffectEffecthealBlockFull

## ShieldArcAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
radiusfloat60.0Shield radius.
regenfloat0.1Shield regen speed in damage/tick.
maxfloat200.0Maximum shield.
cooldownfloat300.0Cooldown after the shield is broken, in ticks.
anglefloat80.0Angle of shield arc.
angleOffsetfloat0.0Offset parameters for shield.
xfloat0.0Offset parameters for shield.
yfloat0.0Offset parameters for shield.
whenShootingbooleantrueIf true, only activates when shooting.
widthfloat6.0Width of shield line.
drawArcbooleantrueWhether to draw the arc line.
regionStringnullIf not null, will be drawn on top.
offsetRegionbooleanfalseIf true, sprite position will be influenced by x/y.

## ShieldRegenFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
amountfloat1.0
maxfloat100.0
reloadfloat100.0
rangefloat60.0
applyEffectEffectshieldApply
activeEffectEffectshieldWave
parentizeEffectsbooleanfalse

## StatusFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
effectStatusEffectnull
durationfloat60.0
reloadfloat100.0
rangefloat20.0
applyEffectEffectnone
activeEffectEffectoverdriveWave
effectXfloat0.0
effectYfloat0.0
parentizeEffectsbooleanfalse

## SuppressionFieldAbility

*extends [Ability](#ability)*

fieldtypedefaultnotes
reloadfloat90.0
rangefloat200.0
orbRadiusfloat4.1
orbMidSclfloat0.33
orbSinSclfloat8.0
orbSinMagfloat1.0
colorColora393feff
layerfloat110.0
xfloat0.0
yfloat0.0
particlesint15
particleSizefloat4.0
particleLenfloat7.0
rotateSclfloat3.0
particleLifefloat110.0
activebooleantrue
particleInterpInterpapply(f))
particleColorColor665c9fff
applyParticleChancefloat13.0
modding/types-v7-temp.txt · 最后更改: 2022/10/04 01:58 由 127.0.0.1
CC Attribution-Share Alike 4.0 International