-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.json
More file actions
1 lines (1 loc) · 237 KB
/
compose.json
File metadata and controls
1 lines (1 loc) · 237 KB
1
[{"type":"Ability","extends":"Object","fields":[{"name":"display","type":"boolean","defaultValue":"true","notes":"If false, this ability does not show in unit stats."},{"name":"data","type":"float","defaultValue":"0.0","notes":""}]},{"type":"Accelerator","extends":"Block","fields":[{"name":"arrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"selectArrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"launchBlock","type":"Block","defaultValue":"coreNucleus","notes":"Core block that is launched. Should match the starting core of the planet being launched to."},{"name":"powerBufferRequirement","type":"float","defaultValue":"0.0","notes":""},{"name":"launchCandidates","type":"Seq of Planet","defaultValue":"null","notes":"Override for planets that this block can launch to. If null, the planet's launch candidates are used."},{"name":"lightningSound","type":"Sound","defaultValue":"shootArc)","notes":""},{"name":"lightningSoundVolume","type":"float","defaultValue":"0.85","notes":""},{"name":"chargeSound","type":"Sound","defaultValue":"acceleratorCharge","notes":""},{"name":"launchSound","type":"Sound","defaultValue":"acceleratorLaunch","notes":""},{"name":"constructSound","type":"Sound","defaultValue":"acceleratorConstruct","notes":""},{"name":"launchDuration","type":"float","defaultValue":"120.0","notes":""},{"name":"chargeDuration","type":"float","defaultValue":"220.0","notes":""},{"name":"buildDuration","type":"float","defaultValue":"120.0","notes":""},{"name":"landZoomInterp","type":"Interp","defaultValue":"pow4In","notes":""},{"name":"chargeZoomInterp","type":"Interp","defaultValue":"pow4In","notes":""},{"name":"landZoomFrom","type":"float","defaultValue":"0.02","notes":""},{"name":"landZoomTo","type":"float","defaultValue":"4.0","notes":""},{"name":"chargeZoomTo","type":"float","defaultValue":"5.0","notes":""},{"name":"chargeRings","type":"int","defaultValue":"4","notes":""},{"name":"ringRadBase","type":"float","defaultValue":"60.0","notes":""},{"name":"ringRadSpacing","type":"float","defaultValue":"25.0","notes":""},{"name":"ringRadPow","type":"float","defaultValue":"1.6","notes":""},{"name":"ringStroke","type":"float","defaultValue":"3.0","notes":""},{"name":"ringSpeedup","type":"float","defaultValue":"1.4","notes":""},{"name":"chargeRingMerge","type":"float","defaultValue":"2.0","notes":""},{"name":"ringArrowRad","type":"float","defaultValue":"3.0","notes":""},{"name":"ringHandleTilt","type":"float","defaultValue":"0.8","notes":""},{"name":"ringHandleLen","type":"float","defaultValue":"30.0","notes":""},{"name":"ringColor","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"launchLightning","type":"int","defaultValue":"20","notes":""},{"name":"lightningColor","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"lightningDamage","type":"float","defaultValue":"40.0","notes":""},{"name":"lightningOffset","type":"float","defaultValue":"24.0","notes":""},{"name":"lightningLengthMin","type":"int","defaultValue":"5","notes":""},{"name":"lightningLengthMax","type":"int","defaultValue":"25","notes":""},{"name":"lightningLaunchChance","type":"double","defaultValue":"0.8","notes":""}]},{"type":"ArmorPlateAbility","extends":"Ability","fields":[{"name":"plateRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"shineRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"plateSuffix","type":"String","defaultValue":"\"-armor\"","notes":""},{"name":"shineSuffix","type":"String","defaultValue":"\"-shine\"","notes":""},{"name":"color","type":"Color","defaultValue":"null","notes":"Color of the shine. If null, uses team color."},{"name":"shineSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"z","type":"float","defaultValue":"-1.0","notes":""},{"name":"drawPlate","type":"boolean","defaultValue":"true","notes":"Whether to draw the plate region."},{"name":"drawShine","type":"boolean","defaultValue":"true","notes":"Whether to draw the shine over the plate region."},{"name":"healthMultiplier","type":"float","defaultValue":"0.2","notes":""}]},{"type":"ArtilleryBulletType","extends":"BasicBulletType","fields":[{"name":"trailMult","type":"float","defaultValue":"1.0","notes":""},{"name":"trailSize","type":"float","defaultValue":"4.0","notes":""}]},{"type":"AttributeCrafter","extends":"GenericCrafter","fields":[{"name":"attribute","type":"Attribute","defaultValue":"heat","notes":""},{"name":"baseEfficiency","type":"float","defaultValue":"1.0","notes":""},{"name":"boostScale","type":"float","defaultValue":"1.0","notes":""},{"name":"maxBoost","type":"float","defaultValue":"1.0","notes":""},{"name":"minEfficiency","type":"float","defaultValue":"-1.0","notes":""},{"name":"displayEfficiencyScale","type":"float","defaultValue":"1.0","notes":""},{"name":"displayEfficiency","type":"boolean","defaultValue":"true","notes":""},{"name":"scaleLiquidConsumption","type":"boolean","defaultValue":"false","notes":""}]},{"type":"AutoDoor","extends":"Wall","fields":[{"name":"timerToggle","type":"int","defaultValue":"1","notes":""},{"name":"checkInterval","type":"float","defaultValue":"20.0","notes":""},{"name":"openfx","type":"Effect","defaultValue":"dooropen","notes":""},{"name":"closefx","type":"Effect","defaultValue":"doorclose","notes":""},{"name":"doorSound","type":"Sound","defaultValue":"door","notes":""},{"name":"openRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"triggerMargin","type":"float","defaultValue":"12.0","notes":""}]},{"type":"BaseShield","extends":"Block","fields":[{"name":"radius","type":"float","defaultValue":"200.0","notes":""},{"name":"sides","type":"int","defaultValue":"24","notes":""},{"name":"shieldColor","type":"Color","defaultValue":"null","notes":""}]},{"type":"BaseTurret","extends":"Block","fields":[{"name":"range","type":"float","defaultValue":"80.0","notes":""},{"name":"placeOverlapMargin","type":"float","defaultValue":"56.0","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"5.0","notes":""},{"name":"fogRadiusMultiplier","type":"float","defaultValue":"1.0","notes":""},{"name":"disableOverlapCheck","type":"boolean","defaultValue":"false","notes":""},{"name":"activationTime","type":"float","defaultValue":"0.0","notes":"How much time to start shooting after placement."},{"name":"coolEffect","type":"Effect","defaultValue":"fuelburn","notes":"Effect displayed when coolant is used."},{"name":"coolantMultiplier","type":"float","defaultValue":"5.0","notes":"How much reload is lowered by for each unit of liquid of heat capacity."},{"name":"coolant","type":"ConsumeLiquidBase","defaultValue":"null","notes":"If not null, this consumer will be used for coolant."}]},{"type":"BasicBulletType","extends":"BulletType","fields":[{"name":"backColor","type":"Color","defaultValue":"f9c27aff","notes":""},{"name":"frontColor","type":"Color","defaultValue":"fff8e8ff","notes":""},{"name":"mixColorFrom","type":"Color","defaultValue":"ffffff00","notes":""},{"name":"mixColorTo","type":"Color","defaultValue":"ffffff00","notes":""},{"name":"width","type":"float","defaultValue":"5.0","notes":""},{"name":"height","type":"float","defaultValue":"7.0","notes":""},{"name":"shrinkX","type":"float","defaultValue":"0.0","notes":""},{"name":"shrinkY","type":"float","defaultValue":"0.5","notes":""},{"name":"shrinkInterp","type":"Interp","defaultValue":"linear","notes":""},{"name":"spin","type":"float","defaultValue":"0.0","notes":""},{"name":"rotationOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"sprite","type":"String","defaultValue":"bullet","notes":""},{"name":"backSprite","type":"String","defaultValue":"null","notes":""},{"name":"backRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"frontRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Battery","extends":"PowerDistributor","fields":[{"name":"drawer","type":"DrawBlock","defaultValue":"null","notes":""},{"name":"emptyLightColor","type":"Color","defaultValue":"f8c266ff","notes":""},{"name":"fullLightColor","type":"Color","defaultValue":"fb9567ff","notes":""}]},{"type":"BeamDrill","extends":"Block","fields":[{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserCenter","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserBoost","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEndBoost","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserCenterBoost","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"drillTime","type":"float","defaultValue":"200.0","notes":""},{"name":"range","type":"int","defaultValue":"5","notes":""},{"name":"tier","type":"int","defaultValue":"1","notes":""},{"name":"laserWidth","type":"float","defaultValue":"0.65","notes":""},{"name":"optionalBoostIntensity","type":"float","defaultValue":"2.5","notes":"How many times faster the drill will progress when boosted by an optional consumer."},{"name":"drillMultipliers","type":"ObjectFloatMap of Item","defaultValue":"new ObjectFloatMap<>()","notes":"Multipliers of drill speed for each item. Defaults to 1."},{"name":"blockedItem","type":"Item","defaultValue":"null","notes":"Special exemption item that this drill can't mine."},{"name":"blockedItems","type":"Seq of Item","defaultValue":"null","notes":"Special exemption items that this drill can't mine."},{"name":"sparkColor","type":"Color","defaultValue":"fd9e81ff","notes":""},{"name":"glowColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"glowIntensity","type":"float","defaultValue":"0.2","notes":""},{"name":"pulseIntensity","type":"float","defaultValue":"0.07","notes":""},{"name":"glowScl","type":"float","defaultValue":"3.0","notes":""},{"name":"sparks","type":"int","defaultValue":"7","notes":""},{"name":"sparkRange","type":"float","defaultValue":"10.0","notes":""},{"name":"sparkLife","type":"float","defaultValue":"27.0","notes":""},{"name":"sparkRecurrence","type":"float","defaultValue":"4.0","notes":""},{"name":"sparkSpread","type":"float","defaultValue":"45.0","notes":""},{"name":"sparkSize","type":"float","defaultValue":"3.5","notes":""},{"name":"boostHeatColor","type":"Color","defaultValue":"75b3ccff","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ff5959e5","notes":""},{"name":"heatPulse","type":"float","defaultValue":"0.3","notes":""},{"name":"heatPulseScl","type":"float","defaultValue":"7.0","notes":""}]},{"type":"BeamNode","extends":"PowerBlock","fields":[{"name":"range","type":"int","defaultValue":"5","notes":""},{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserColor1","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"laserColor2","type":"Color","defaultValue":"ffd9c2ff","notes":""},{"name":"pulseScl","type":"float","defaultValue":"7.0","notes":""},{"name":"pulseMag","type":"float","defaultValue":"0.05","notes":""},{"name":"laserWidth","type":"float","defaultValue":"0.4","notes":""}]},{"type":"Block","extends":"UnlockableContent","fields":[{"name":"hasItems","type":"boolean","defaultValue":"false","notes":"If true, buildings have an ItemModule."},{"name":"hasLiquids","type":"boolean","defaultValue":"false","notes":"If true, buildings have a LiquidModule."},{"name":"hasPower","type":"boolean","defaultValue":"false","notes":"If true, buildings have a PowerModule."},{"name":"outputsLiquid","type":"boolean","defaultValue":"false","notes":"Flag for determining whether this block outputs liquid somewhere; used for connections."},{"name":"consumesPower","type":"boolean","defaultValue":"true","notes":"Used by certain power blocks (nodes) to flag as non-consuming of power. True by default, even if this block has no power."},{"name":"outputsPower","type":"boolean","defaultValue":"false","notes":"If true, this block is a generator that can produce power."},{"name":"connectedPower","type":"boolean","defaultValue":"true","notes":"If false, power nodes cannot connect to this block."},{"name":"conductivePower","type":"boolean","defaultValue":"false","notes":"If true, this block can conduct power like a cable."},{"name":"outputsPayload","type":"boolean","defaultValue":"false","notes":"If true, this block can output payloads; affects blending."},{"name":"acceptsUnitPayloads","type":"boolean","defaultValue":"false","notes":"If true, this block can input payloads; affects unit payload enter behavior."},{"name":"acceptsPayload","type":"boolean","defaultValue":"false","notes":"If true, payloads will attempt to move into this block."},{"name":"acceptsItems","type":"boolean","defaultValue":"false","notes":"Visual flag use for blending of certain transportation blocks."},{"name":"alwaysAllowDeposit","type":"boolean","defaultValue":"false","notes":"If true, this block won't be affected by the onlyDepositCore rule."},{"name":"depositCooldown","type":"float","defaultValue":"-1.0","notes":"Cooldown, in seconds, applied to player item depositing when any item is deposited to this block. Overrides the itemDepositCooldown if non-negative."},{"name":"separateItemCapacity","type":"boolean","defaultValue":"false","notes":"If true, all item capacities of this block are separate instead of pooled as one number."},{"name":"itemCapacity","type":"int","defaultValue":"10","notes":"maximum items this block can carry (usually, this is per-type of item)"},{"name":"liquidCapacity","type":"float","defaultValue":"-1.0","notes":"maximum total liquids this block can carry if hasLiquids = true. Default value is 10, scales with max liquid consumption in ConsumeLiquid"},{"name":"liquidPressure","type":"float","defaultValue":"1.0","notes":"higher numbers increase liquid output speed; TODO remove and replace with better liquids system"},{"name":"outputFacing","type":"boolean","defaultValue":"true","notes":"If true, this block outputs to its facing direction, when applicable. Used for blending calculations."},{"name":"noSideBlend","type":"boolean","defaultValue":"false","notes":"if true, this block does not accept input from the sides (used for armored conveyors)"},{"name":"displayFlow","type":"boolean","defaultValue":"true","notes":"whether to display flow rate"},{"name":"inEditor","type":"boolean","defaultValue":"true","notes":"whether this block is visible in the editor"},{"name":"editorConfigurable","type":"boolean","defaultValue":"false","notes":"if true, {@link #buildEditorConfig(Table)} will be called for configuring this block in the editor."},{"name":"lastConfig","type":"Object","defaultValue":"null","notes":"the last configuration value applied to this block."},{"name":"saveConfig","type":"boolean","defaultValue":"false","notes":"whether to save the last config and apply it to newly placed blocks"},{"name":"copyConfig","type":"boolean","defaultValue":"true","notes":"whether to allow copying the config through middle click"},{"name":"clearOnDoubleTap","type":"boolean","defaultValue":"false","notes":"if true, double-tapping this configurable block clears configuration."},{"name":"update","type":"boolean","defaultValue":"false","notes":"whether this block has a tile entity that updates"},{"name":"destructible","type":"boolean","defaultValue":"false","notes":"whether this block has health and can be destroyed. note that setting this to false does nothing if update = true!"},{"name":"unloadable","type":"boolean","defaultValue":"true","notes":"whether unloaders work on this block"},{"name":"isDuct","type":"boolean","defaultValue":"false","notes":"if true, this block acts a duct and will connect to armored ducts from the side."},{"name":"allowResupply","type":"boolean","defaultValue":"false","notes":"whether units can resupply by taking items from this block"},{"name":"solid","type":"boolean","defaultValue":"false","notes":"whether this is solid"},{"name":"solidifes","type":"boolean","defaultValue":"false","notes":"whether this block CAN be solid."},{"name":"teamPassable","type":"boolean","defaultValue":"false","notes":"if true, this counts as a non-solid block to this team."},{"name":"underBullets","type":"boolean","defaultValue":"false","notes":"if true, this block cannot be hit by bullets unless explicitly targeted."},{"name":"rotate","type":"boolean","defaultValue":"false","notes":"whether this is rotatable"},{"name":"rotateDraw","type":"boolean","defaultValue":"true","notes":"if rotate is true and this is false, the region won't rotate when drawing"},{"name":"rotateDrawEditor","type":"boolean","defaultValue":"true","notes":"if rotate is true and this is false, the region won't rotate when drawing in the editor"},{"name":"visualRotationOffset","type":"float","defaultValue":"0.0","notes":"visual rotation offset used in broken plan rendering"},{"name":"lockRotation","type":"boolean","defaultValue":"true","notes":"if rotate = false and this is true, rotation will be locked at 0 when placing (default); advanced use only"},{"name":"ignoreLineRotation","type":"boolean","defaultValue":"false","notes":"if true, this block won't face the line drag direction"},{"name":"invertFlip","type":"boolean","defaultValue":"false","notes":"if true, schematic flips with this block are inverted."},{"name":"variants","type":"int","defaultValue":"0","notes":"number of different variant regions to use"},{"name":"drawArrow","type":"boolean","defaultValue":"true","notes":"whether to draw a rotation arrow - this does not apply to lines of blocks"},{"name":"drawTeamOverlay","type":"boolean","defaultValue":"true","notes":"whether to draw the team corner by default"},{"name":"saveData","type":"boolean","defaultValue":"false","notes":"for static blocks only: if true, tile data() is saved in world data."},{"name":"breakable","type":"boolean","defaultValue":"false","notes":"whether you can break this with rightclick"},{"name":"unitMoveBreakable","type":"boolean","defaultValue":"false","notes":"if true, this block will be broken by certain units stepping/moving over it"},{"name":"rebuildable","type":"boolean","defaultValue":"true","notes":"whether to add this block to brokenblocks"},{"name":"privileged","type":"boolean","defaultValue":"false","notes":"if true, this logic-related block can only be used with privileged processors (or is one itself)"},{"name":"requiresWater","type":"boolean","defaultValue":"false","notes":"whether this block can only be placed on water"},{"name":"placeableLiquid","type":"boolean","defaultValue":"false","notes":"whether this block can be placed on any liquids, anywhere"},{"name":"placeablePlayer","type":"boolean","defaultValue":"true","notes":"whether this block can be placed directly by the player via PlacementFragment"},{"name":"placeableOn","type":"boolean","defaultValue":"true","notes":"whether this floor can be placed on."},{"name":"insulated","type":"boolean","defaultValue":"false","notes":"whether this block has insulating properties."},{"name":"squareSprite","type":"boolean","defaultValue":"true","notes":"whether the sprite is a full square."},{"name":"absorbLasers","type":"boolean","defaultValue":"false","notes":"whether this block absorbs laser attacks."},{"name":"enableDrawStatus","type":"boolean","defaultValue":"true","notes":"if false, the status is never drawn"},{"name":"drawDisabled","type":"boolean","defaultValue":"true","notes":"whether to draw disabled status"},{"name":"autoResetEnabled","type":"boolean","defaultValue":"true","notes":"whether to automatically reset enabled status after a logic block has not interacted for a while."},{"name":"noUpdateDisabled","type":"boolean","defaultValue":"false","notes":"if true, the block stops updating when disabled"},{"name":"updateInUnits","type":"boolean","defaultValue":"true","notes":"if true, this block updates when it's a payload in a unit."},{"name":"alwaysUpdateInUnits","type":"boolean","defaultValue":"false","notes":"if true, this block updates in payloads in units regardless of the experimental game rule"},{"name":"canPickup","type":"boolean","defaultValue":"true","notes":"if true, this block can be picked up in payloads"},{"name":"deconstructDropAllLiquid","type":"boolean","defaultValue":"false","notes":"if false, only incinerable liquids are dropped when deconstructing; otherwise, all liquids are dropped."},{"name":"useColor","type":"boolean","defaultValue":"true","notes":"Whether to use this block's color in the minimap. Only used for overlays."},{"name":"itemDrop","type":"Item","defaultValue":"null","notes":"item that drops from this block, used for drills"},{"name":"playerUnmineable","type":"boolean","defaultValue":"false","notes":"if true, this block cannot be mined by players. useful for annoying things like sand."},{"name":"attributes","type":"Attributes","defaultValue":"new Attributes()","notes":"Array of affinities to certain things."},{"name":"scaledHealth","type":"float","defaultValue":"-1.0","notes":"Health per square tile that this block occupies; essentially, this is multiplied by size * size. Overridden if health is > 0. If <0, the default is 40."},{"name":"health","type":"int","defaultValue":"-1","notes":"building health; -1 to use scaledHealth"},{"name":"armor","type":"float","defaultValue":"0.0","notes":"damage absorption, similar to unit armor"},{"name":"baseExplosiveness","type":"float","defaultValue":"0.0","notes":"base block explosiveness"},{"name":"explosivenessScale","type":"float","defaultValue":"1.0","notes":"scaling of explosiveness based on items/liquids"},{"name":"flammabilityScale","type":"float","defaultValue":"1.0","notes":"scaling of explosion flammability based on items/liquids"},{"name":"baseShake","type":"float","defaultValue":"3.0","notes":"base value for screen shake upon destruction"},{"name":"destroyBullet","type":"BulletType","defaultValue":"null","notes":"bullet that this block spawns when destroyed"},{"name":"destroyBulletSameTeam","type":"boolean","defaultValue":"false","notes":"if true, destroyBullet is spawned on the block's team instead of Derelict team"},{"name":"lightLiquid","type":"Liquid","defaultValue":"null","notes":"liquid used for lighting"},{"name":"drawCracks","type":"boolean","defaultValue":"true","notes":"whether cracks are drawn when this block is damaged"},{"name":"createRubble","type":"boolean","defaultValue":"true","notes":"whether rubble is created when this block is destroyed"},{"name":"floating","type":"boolean","defaultValue":"false","notes":"whether this block can be placed on edges of liquids."},{"name":"size","type":"int","defaultValue":"1","notes":"multiblock size"},{"name":"offset","type":"float","defaultValue":"0.0","notes":"multiblock offset"},{"name":"sizeOffset","type":"int","defaultValue":"0","notes":"offset for iteration (internal use only)"},{"name":"clipSize","type":"float","defaultValue":"-1.0","notes":"Clipping size of this block. Should be as large as the block will draw."},{"name":"lightClipSize","type":"float","defaultValue":"0.0","notes":"Clipping size for lights only."},{"name":"placeOverlapRange","type":"float","defaultValue":"50.0","notes":"When placeRangeCheck is enabled, this is the range checked for enemy blocks."},{"name":"crushDamageMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier of damage dealt to this block by tanks. Does not apply to crawlers."},{"name":"crushFragile","type":"boolean","defaultValue":"false","notes":"If true, this block is instantly destroyed by tanks with crushFragile set to true."},{"name":"timers","type":"int","defaultValue":"1","notes":"Max of timers used."},{"name":"cacheLayer","type":"CacheLayer","defaultValue":"normal","notes":"Cache layer. Only used for 'cached' rendering."},{"name":"fillsTile","type":"boolean","defaultValue":"true","notes":"Special flag; if false, floor will be drawn under this block even if it is cached."},{"name":"forceDark","type":"boolean","defaultValue":"false","notes":"If true, this block can be covered by darkness / fog even if synthetic."},{"name":"alwaysReplace","type":"boolean","defaultValue":"false","notes":"whether this block can be replaced in all cases"},{"name":"replaceable","type":"boolean","defaultValue":"true","notes":"if false, this block can never be replaced."},{"name":"group","type":"BlockGroup","defaultValue":"none","notes":"The block group. Unless {@link #canReplace} is overridden, blocks in the same group can replace each other."},{"name":"flags","type":"EnumSet of BlockFlag","defaultValue":"of()","notes":"List of block flags. Used for AI indexing."},{"name":"priority","type":"float","defaultValue":"0.0","notes":"Targeting priority of this block, as seen by enemies."},{"name":"unitCapModifier","type":"int","defaultValue":"0","notes":"How much this block affects the unit cap by. The block flags must contain unitModifier in order for this to work."},{"name":"configurable","type":"boolean","defaultValue":"false","notes":"Whether the block can be tapped and selected to configure."},{"name":"configureSound","type":"Sound","defaultValue":"click","notes":"Sound played when this block is configured."},{"name":"ignoreResizeConfig","type":"boolean","defaultValue":"false","notes":"If true, this block does not have pointConfig with a transform called on map resize."},{"name":"commandable","type":"boolean","defaultValue":"false","notes":"If true, this building can be selected like a unit when commanding."},{"name":"allowConfigInventory","type":"boolean","defaultValue":"true","notes":"If true, the building inventory can be shown with the config."},{"name":"selectionRows","type":"int","defaultValue":"5","notes":"Defines how large selection menus, such as that of sorters, should be."},{"name":"selectionColumns","type":"int","defaultValue":"4","notes":"Defines how large selection menus, such as that of sorters, should be."},{"name":"logicConfigurable","type":"boolean","defaultValue":"false","notes":"If true, this block can be configured by logic."},{"name":"delayLandingConfig","type":"boolean","defaultValue":"false","notes":"If true, configuration is delayed when playing the landing block buildup animation. This may be removed in the future!"},{"name":"consumesTap","type":"boolean","defaultValue":"false","notes":"Whether this block consumes touchDown events when tapped."},{"name":"drawLiquidLight","type":"boolean","defaultValue":"true","notes":"Whether to draw the glow of the liquid for this block, if it has one."},{"name":"envRequired","type":"int","defaultValue":"0","notes":"Environmental flags that are all required for this block to function. 0 = any environment"},{"name":"envEnabled","type":"int","defaultValue":"1","notes":"The environment flags that this block can function in. If the env matches any of these, it will be enabled."},{"name":"envDisabled","type":"int","defaultValue":"0","notes":"The environment flags that this block cannot function in. If the env matches any of these, it will be disabled."},{"name":"sync","type":"boolean","defaultValue":"false","notes":"Whether to periodically sync this block across the network."},{"name":"conveyorPlacement","type":"boolean","defaultValue":"false","notes":"Whether this block uses conveyor-type placement mode."},{"name":"allowDiagonal","type":"boolean","defaultValue":"true","notes":"If false, diagonal placement (ctrl) for this block is not allowed."},{"name":"swapDiagonalPlacement","type":"boolean","defaultValue":"false","notes":"Whether to swap the diagonal placement modes."},{"name":"allowRectanglePlacement","type":"boolean","defaultValue":"false","notes":"Whether to allow rectangular placement, as opposed to a line."},{"name":"schematicPriority","type":"int","defaultValue":"0","notes":"Build queue priority in schematics."},{"name":"mapColor","type":"Color","defaultValue":"000000ff","notes":"The color of this block when displayed on the minimap or map preview. Do not set manually! This is overridden when loading for most blocks."},{"name":"hasColor","type":"boolean","defaultValue":"false","notes":"Whether this block has a minimap color."},{"name":"targetable","type":"boolean","defaultValue":"true","notes":"Whether units target this block."},{"name":"attacks","type":"boolean","defaultValue":"false","notes":"If true, this block attacks and is considered a turret in the indexer. Building must implement Ranged."},{"name":"suppressable","type":"boolean","defaultValue":"false","notes":"If true, this block is mending-related and can be suppressed with special units/missiles."},{"name":"canOverdrive","type":"boolean","defaultValue":"true","notes":"Whether the overdrive core has any effect on this block."},{"name":"outlineColor","type":"Color","defaultValue":"404049ff","notes":"Outlined icon color."},{"name":"outlineIcon","type":"boolean","defaultValue":"false","notes":"Whether any icon region has an outline added."},{"name":"outlineRadius","type":"int","defaultValue":"4","notes":"Outline icon radius."},{"name":"outlinedIcon","type":"int","defaultValue":"-1","notes":"Which of the icon regions gets the outline added. Uses last icon if <= 0."},{"name":"hasShadow","type":"boolean","defaultValue":"true","notes":"Whether this block has a shadow under it."},{"name":"customShadow","type":"boolean","defaultValue":"false","notes":"If true, a custom shadow (name-shadow) is drawn under this block."},{"name":"placePitchChange","type":"boolean","defaultValue":"true","notes":"Should the sound made when this block is built change in pitch."},{"name":"breakPitchChange","type":"boolean","defaultValue":"true","notes":"Should the sound made when this block is deconstructed change in pitch."},{"name":"placeSound","type":"Sound","defaultValue":"unset","notes":"Sound made when this block is built."},{"name":"breakSound","type":"Sound","defaultValue":"unset","notes":"Sound made when this block is deconstructed."},{"name":"destroySound","type":"Sound","defaultValue":"unset","notes":"Sounds made when this block is destroyed."},{"name":"destroySoundVolume","type":"float","defaultValue":"1.0","notes":"Volume of destruction sound."},{"name":"destroyPitchMin","type":"float","defaultValue":"1.0","notes":"Range of destroy sound."},{"name":"destroyPitchMax","type":"float","defaultValue":"1.0","notes":"Range of destroy sound."},{"name":"albedo","type":"float","defaultValue":"0.0","notes":"How reflective this block is."},{"name":"lightColor","type":"Color","defaultValue":"ffffffff","notes":"Environmental passive light color."},{"name":"emitLight","type":"boolean","defaultValue":"false","notes":"If true, drawLight() will be called for this block."},{"name":"obstructsLight","type":"boolean","defaultValue":"true","notes":"If true, this block obstructs light emitted by other blocks."},{"name":"lightRadius","type":"float","defaultValue":"60.0","notes":"Radius of the light emitted by this block."},{"name":"fogRadius","type":"int","defaultValue":"-1","notes":"How much fog this block uncovers, in tiles. Cannot be dynamic. <= 0 to disable."},{"name":"ambientSound","type":"Sound","defaultValue":"none","notes":"The sound that this block makes while idle. Uses one sound loop for all blocks."},{"name":"ambientSoundVolume","type":"float","defaultValue":"0.05","notes":"Idle sound base volume."},{"name":"requirements","type":"ItemStack[]","defaultValue":"[]","notes":"Cost of constructing this block."},{"name":"category","type":"Category","defaultValue":"distribution","notes":"Category in place menu."},{"name":"buildTime","type":"float","defaultValue":"-1.0","notes":"Time to build this block in ticks. If this value is <0, it is calculated dynamically."},{"name":"buildVisibility","type":"BuildVisibility","defaultValue":"hidden","notes":"Whether this block is visible and can currently be built."},{"name":"buildCostMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier for speed of building this block."},{"name":"deconstructThreshold","type":"float","defaultValue":"0.0","notes":"Build completion at which deconstruction finishes."},{"name":"instantDeconstruct","type":"boolean","defaultValue":"false","notes":"If true, this block deconstructs immediately. Instant deconstruction implies no resource refund."},{"name":"instantBuild","type":"boolean","defaultValue":"false","notes":"If true, this block constructs immediately. This implies no resource requirement, and ignores configs - do not use, this is for performance only!"},{"name":"ignoreBuildDarkness","type":"boolean","defaultValue":"false","notes":"If true, this block can be placed even in \"dark\" areas. Only used for editor static walls."},{"name":"placeEffect","type":"Effect","defaultValue":"placeBlock","notes":"Effect for placing the block. Passes size as rotation."},{"name":"breakEffect","type":"Effect","defaultValue":"breakBlock","notes":"Effect for breaking the block. Passes size as rotation."},{"name":"destroyEffect","type":"Effect","defaultValue":"dynamicExplosion","notes":"Effect for destroying the block."},{"name":"researchCostMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier for cost of research in tech tree."},{"name":"researchCostMultipliers","type":"ObjectFloatMap of Item","defaultValue":"new ObjectFloatMap<>()","notes":"Cost multipliers per-item."},{"name":"researchCost","type":"ItemStack[]","defaultValue":"null","notes":"Override for research cost. Uses multipliers above and building requirements if not set."},{"name":"forceTeam","type":"Team","defaultValue":"null","notes":"If set, all blocks will be forced to be this team."},{"name":"instantTransfer","type":"boolean","defaultValue":"false","notes":"Whether this block has instant transfer."},{"name":"quickRotate","type":"boolean","defaultValue":"true","notes":"Whether you can rotate this block after it is placed."},{"name":"allowDerelictRepair","type":"boolean","defaultValue":"true","notes":"If true, this derelict block can be repair by clicking it."},{"name":"subclass","type":"Class of ?","defaultValue":"class mindustry.world.Block","notes":"Main subclass. Non-anonymous."},{"name":"selectScroll","type":"float","defaultValue":"0.0","notes":"Scroll position for certain blocks."},{"name":"buildType","type":"Prov of Building","defaultValue":"null","notes":"Building that is created for this block. Initialized in init() via reflection. Set manually if modded."},{"name":"configurations","type":"ObjectMap of Class of ?, Cons2","defaultValue":"new ObjectMap<>()","notes":"Configuration handlers by type."},{"name":"itemFilter","type":"boolean[]","defaultValue":"[]","notes":"Consumption filters."},{"name":"liquidFilter","type":"boolean[]","defaultValue":"[]","notes":"Consumption filters."},{"name":"consumers","type":"Consume[]","defaultValue":"[]","notes":"Array of consumers used by this block. Only populated after init()."},{"name":"optionalConsumers","type":"Consume[]","defaultValue":"[]","notes":"Array of consumers used by this block. Only populated after init()."},{"name":"nonOptionalConsumers","type":"Consume[]","defaultValue":"[]","notes":"Array of consumers used by this block. Only populated after init()."},{"name":"updateConsumers","type":"Consume[]","defaultValue":"[]","notes":"Array of consumers used by this block. Only populated after init()."},{"name":"hasConsumers","type":"boolean","defaultValue":"false","notes":"Set to true if this block has any consumers in its array."},{"name":"consPower","type":"ConsumePower","defaultValue":"null","notes":"The single power consumer, if applicable."},{"name":"regionRotated1","type":"int","defaultValue":"-1","notes":"Regions indexes from icons() that are rotated. If either of these is not -1, other regions won't be rotated in ConstructBlocks."},{"name":"regionRotated2","type":"int","defaultValue":"-1","notes":"Regions indexes from icons() that are rotated. If either of these is not -1, other regions won't be rotated in ConstructBlocks."},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"customShadowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"teamRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"teamRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"variantRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"variantShadowRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"dumpTime","type":"int","defaultValue":"5","notes":"How often to try dumping items in ticks, e.g. 5 = 12 times/sec"}]},{"type":"BufferedItemBridge","extends":"ItemBridge","fields":[{"name":"timerAccept","type":"int","defaultValue":"2","notes":""},{"name":"speed","type":"float","defaultValue":"40.0","notes":""},{"name":"bufferCapacity","type":"int","defaultValue":"50","notes":""},{"name":"displayedSpeed","type":"float","defaultValue":"11.0","notes":""}]},{"type":"BuildTurret","extends":"BaseTurret","fields":[{"name":"timerTarget","type":"int","defaultValue":"1","notes":""},{"name":"timerTarget2","type":"int","defaultValue":"2","notes":""},{"name":"targetInterval","type":"int","defaultValue":"15","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"buildSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"buildBeamOffset","type":"float","defaultValue":"5.0","notes":""},{"name":"unitType","type":"UnitType","defaultValue":"null","notes":""},{"name":"elevation","type":"float","defaultValue":"-1.0","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ffd37fe5","notes":""}]},{"type":"BulletType","extends":"Content","fields":[{"name":"lifetime","type":"float","defaultValue":"40.0","notes":"Lifetime in ticks."},{"name":"lifeScaleRandMin","type":"float","defaultValue":"1.0","notes":"Min/max multipliers for lifetime applied to this bullet when spawned."},{"name":"lifeScaleRandMax","type":"float","defaultValue":"1.0","notes":"Min/max multipliers for lifetime applied to this bullet when spawned."},{"name":"speed","type":"float","defaultValue":"1.0","notes":"Speed in units/tick."},{"name":"velocityScaleRandMin","type":"float","defaultValue":"1.0","notes":"Min/max multipliers for velocity applied to this bullet when spawned."},{"name":"velocityScaleRandMax","type":"float","defaultValue":"1.0","notes":"Min/max multipliers for velocity applied to this bullet when spawned."},{"name":"damage","type":"float","defaultValue":"1.0","notes":"Direct damage dealt on hit."},{"name":"hitSize","type":"float","defaultValue":"4.0","notes":"Hitbox size."},{"name":"drawSize","type":"float","defaultValue":"40.0","notes":"Clipping hitbox."},{"name":"angleOffset","type":"float","defaultValue":"0.0","notes":"Angle offset applied to bullet when spawned each time."},{"name":"randomAngleOffset","type":"float","defaultValue":"0.0","notes":"Angle offset applied to bullet when spawned each time."},{"name":"drag","type":"float","defaultValue":"0.0","notes":"Drag as fraction of velocity."},{"name":"accel","type":"float","defaultValue":"0.0","notes":"Acceleration per frame."},{"name":"pierce","type":"boolean","defaultValue":"false","notes":"Whether to pierce units."},{"name":"pierceBuilding","type":"boolean","defaultValue":"false","notes":"Whether to pierce buildings."},{"name":"pierceCap","type":"int","defaultValue":"-1","notes":"Maximum # of pierced objects."},{"name":"pierceDamageFactor","type":"float","defaultValue":"0.0","notes":"Multiplier of damage decreased per health pierced."},{"name":"maxDamageFraction","type":"float","defaultValue":"-1.0","notes":"If positive, limits non-splash damage dealt to a fraction of the target's maximum health."},{"name":"removeAfterPierce","type":"boolean","defaultValue":"true","notes":"If false, this bullet isn't removed after pierceCap is exceeded. Expert usage only."},{"name":"laserAbsorb","type":"boolean","defaultValue":"true","notes":"For piercing lasers, setting this to true makes it get absorbed by plastanium walls."},{"name":"optimalLifeFract","type":"float","defaultValue":"0.0","notes":"Life fraction at which this bullet has the best range/damage/etc. Used for lasers and continuous turrets."},{"name":"layer","type":"float","defaultValue":"100.0","notes":"Z layer to drawn on."},{"name":"hitEffect","type":"Effect","defaultValue":"hitBulletSmall","notes":"Effect shown on direct hit."},{"name":"despawnEffect","type":"Effect","defaultValue":"hitBulletSmall","notes":"Effect shown when bullet despawns."},{"name":"shootEffect","type":"Effect","defaultValue":"shootSmall","notes":"Effect created when shooting."},{"name":"shootPattern","type":"ShootPattern","defaultValue":"null","notes":"Pattern used to shoot this bullet. If null, uses turret's default pattern."},{"name":"chargeEffect","type":"Effect","defaultValue":"none","notes":"Effect created when charging starts; only usable in single-shot weapons with a firstShotDelay / shotDelay."},{"name":"smokeEffect","type":"Effect","defaultValue":"shootSmallSmoke","notes":"Extra smoke effect created when shooting."},{"name":"shootSound","type":"Sound","defaultValue":"none","notes":"Overrides the shoot sound in turrets if set. Does nothing in units, as they can't have multiple ammo types."},{"name":"hitSound","type":"Sound","defaultValue":"none","notes":"Sound made when hitting something or getting removed."},{"name":"despawnSound","type":"Sound","defaultValue":"none","notes":"Sound made when hitting something or getting removed."},{"name":"hitSoundPitch","type":"float","defaultValue":"1.0","notes":"Pitch of the sound made when hitting something"},{"name":"hitSoundPitchRange","type":"float","defaultValue":"0.1","notes":"Pitch of the sound made when hitting something"},{"name":"hitSoundVolume","type":"float","defaultValue":"1.0","notes":"Volume of the sound made when hitting something"},{"name":"inaccuracy","type":"float","defaultValue":"0.0","notes":"Extra inaccuracy when firing."},{"name":"ammoMultiplier","type":"float","defaultValue":"2.0","notes":"How many bullets get created per ammo item/liquid."},{"name":"reloadMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplied by turret reload speed to get final shoot speed."},{"name":"buildingDamageMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier of how much base damage is done to tiles."},{"name":"shieldDamageMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier of how much base damage is done to force shields."},{"name":"recoil","type":"float","defaultValue":"0.0","notes":"Recoil from shooter entities."},{"name":"killShooter","type":"boolean","defaultValue":"false","notes":"Whether to kill the shooter when this is shot. For suicide bombers."},{"name":"instantDisappear","type":"boolean","defaultValue":"false","notes":"Whether to instantly make the bullet disappear."},{"name":"splashDamage","type":"float","defaultValue":"0.0","notes":"Damage dealt in splash. 0 to disable."},{"name":"scaledSplashDamage","type":"boolean","defaultValue":"false","notes":"If 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."},{"name":"knockback","type":"float","defaultValue":"0.0","notes":"Knockback in velocity."},{"name":"impact","type":"boolean","defaultValue":"false","notes":"Should knockback follow the bullet's direction"},{"name":"status","type":"StatusEffect","defaultValue":"none","notes":"Status effect applied on hit."},{"name":"statusDuration","type":"float","defaultValue":"480.0","notes":"Intensity of applied status effect in terms of duration."},{"name":"targetBlocks","type":"boolean","defaultValue":"true","notes":"Turret only. If false, blocks will not be targeted."},{"name":"targetMissiles","type":"boolean","defaultValue":"true","notes":"Turret only. If false, missiles will not be targeted."},{"name":"collidesTiles","type":"boolean","defaultValue":"true","notes":"Whether this bullet type collides with tiles."},{"name":"collidesTeam","type":"boolean","defaultValue":"false","notes":"Whether this bullet type collides with tiles that are of the same team."},{"name":"collidesAir","type":"boolean","defaultValue":"true","notes":"Whether this bullet type collides with air/ground units."},{"name":"collidesGround","type":"boolean","defaultValue":"true","notes":"Whether this bullet type collides with air/ground units."},{"name":"collides","type":"boolean","defaultValue":"true","notes":"Whether this bullet types collides with anything at all."},{"name":"collideFloor","type":"boolean","defaultValue":"false","notes":"If true, this projectile collides with non-surface floors."},{"name":"collideTerrain","type":"boolean","defaultValue":"false","notes":"If true, this projectile collides with static walls"},{"name":"keepVelocity","type":"boolean","defaultValue":"true","notes":"Whether velocity is inherited from the shooter."},{"name":"scaleLife","type":"boolean","defaultValue":"false","notes":"Whether to scale lifetime (not actually velocity!) to disappear at the target position. Used for artillery."},{"name":"hittable","type":"boolean","defaultValue":"true","notes":"Whether this bullet can be hit by point defense."},{"name":"reflectable","type":"boolean","defaultValue":"true","notes":"Whether this bullet can be reflected."},{"name":"absorbable","type":"boolean","defaultValue":"true","notes":"Whether this projectile can be absorbed by shields."},{"name":"ignoreSpawnAngle","type":"boolean","defaultValue":"false","notes":"If true, the angle param in create is ignored."},{"name":"createChance","type":"float","defaultValue":"1.0","notes":"Chance for this bullet to be created."},{"name":"maxRange","type":"float","defaultValue":"-1.0","notes":"Bullet range positive override."},{"name":"rangeOverride","type":"float","defaultValue":"-1.0","notes":"When > 0, overrides range even if smaller than base range."},{"name":"rangeChange","type":"float","defaultValue":"0.0","notes":"When used in a turret with multiple ammo types, this can be set to a non-zero value to influence range."},{"name":"extraRangeMargin","type":"float","defaultValue":"0.0","notes":"When used in turrets with limitRange() applied, this adds extra range to the bullets that extends past targeting range. Only particularly relevant in vanilla."},{"name":"range","type":"float","defaultValue":"0.0","notes":"Range initialized in init()."},{"name":"minRangeChange","type":"float","defaultValue":"0.0","notes":"When used in a turret with multiple ammo types, this can be set to a non-zero value to influence minRange"},{"name":"healPercent","type":"float","defaultValue":"0.0","notes":"% of block health healed *"},{"name":"healAmount","type":"float","defaultValue":"0.0","notes":"flat amount of block health healed"},{"name":"healSound","type":"Sound","defaultValue":"blockHeal","notes":"sound played when a block is healed"},{"name":"healSoundVolume","type":"float","defaultValue":"0.9","notes":"volume of heal sound"},{"name":"lifesteal","type":"float","defaultValue":"0.0","notes":"Fraction of bullet damage that heals that shooter."},{"name":"makeFire","type":"boolean","defaultValue":"false","notes":"Whether to make fire on impact"},{"name":"hitUnder","type":"boolean","defaultValue":"false","notes":"Whether this bullet will always hit blocks under it."},{"name":"despawnHit","type":"boolean","defaultValue":"false","notes":"Whether to create hit effects on despawn. Forced to true if this bullet has any special effects like splash damage. Disable setDefaults to avoid override"},{"name":"fragOnHit","type":"boolean","defaultValue":"true","notes":"If true, this bullet will create bullets when it hits anything"},{"name":"fragOnDespawn","type":"boolean","defaultValue":"true","notes":"If true, this bullet will create bullets when it despawns"},{"name":"fragOnAbsorb","type":"boolean","defaultValue":"true","notes":"If false, this bullet will not create frags when absorbed by a shield."},{"name":"pierceArmor","type":"boolean","defaultValue":"false","notes":"If true, unit armor is ignored in damage calculations."},{"name":"armorMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplies the unit armor used in damage calculations. Used for armor weakness, armor piercing, and anti-armor."},{"name":"sticky","type":"boolean","defaultValue":"false","notes":"If true, the bullet will \"stick\" to enemies and get deactivated on collision."},{"name":"stickyExtraLifetime","type":"float","defaultValue":"0.0","notes":"Extra time added to bullet when it sticks to something."},{"name":"setDefaults","type":"boolean","defaultValue":"true","notes":"Whether status and despawnHit should automatically be set."},{"name":"hitShake","type":"float","defaultValue":"0.0","notes":"Amount of shaking produced when this bullet hits something or despawns."},{"name":"despawnShake","type":"float","defaultValue":"0.0","notes":"Amount of shaking produced when this bullet hits something or despawns."},{"name":"fragBullet","type":"BulletType","defaultValue":"null","notes":"Bullet type that is created when this bullet expires."},{"name":"delayFrags","type":"boolean","defaultValue":"false","notes":"If true, frag bullets are delayed to the next frame. Fixes obscure bugs with piercing bullet types spawning frags immediately and screwing up the Damage temporary variables."},{"name":"fragRandomSpread","type":"float","defaultValue":"360.0","notes":"Degree spread range of fragmentation bullets."},{"name":"fragSpread","type":"float","defaultValue":"0.0","notes":"Uniform spread between each frag bullet in degrees."},{"name":"fragAngle","type":"float","defaultValue":"0.0","notes":"Angle offset of fragmentation bullets."},{"name":"fragBullets","type":"int","defaultValue":"9","notes":"Number of fragmentation bullets created."},{"name":"fragVelocityMin","type":"float","defaultValue":"0.2","notes":"Random range of frag velocity as a multiplier."},{"name":"fragVelocityMax","type":"float","defaultValue":"1.0","notes":"Random range of frag velocity as a multiplier."},{"name":"fragLifeMin","type":"float","defaultValue":"1.0","notes":"Random range of frag lifetime as a multiplier."},{"name":"fragLifeMax","type":"float","defaultValue":"1.0","notes":"Random range of frag lifetime as a multiplier."},{"name":"fragOffsetMin","type":"float","defaultValue":"1.0","notes":"Random offset of frag bullets from the parent bullet."},{"name":"fragOffsetMax","type":"float","defaultValue":"7.0","notes":"Random offset of frag bullets from the parent bullet."},{"name":"pierceFragCap","type":"int","defaultValue":"-1","notes":"How many times this bullet can release frag bullets, if pierce = true."},{"name":"intervalBullet","type":"BulletType","defaultValue":"null","notes":"Bullet that is created at a fixed interval."},{"name":"bulletInterval","type":"float","defaultValue":"20.0","notes":"Interval, in ticks, between which bullet spawn."},{"name":"intervalBullets","type":"int","defaultValue":"1","notes":"Number of bullet spawned per interval."},{"name":"intervalRandomSpread","type":"float","defaultValue":"360.0","notes":"Random angle added to interval bullets."},{"name":"intervalSpread","type":"float","defaultValue":"0.0","notes":"Angle spread between individual interval bullets."},{"name":"intervalAngle","type":"float","defaultValue":"0.0","notes":"Angle offset for interval bullets."},{"name":"intervalDelay","type":"float","defaultValue":"-1.0","notes":"Use a negative value to disable interval bullet delay."},{"name":"underwater","type":"boolean","defaultValue":"false","notes":"If true, this bullet is rendered underwater. Highly experimental!"},{"name":"hitColor","type":"Color","defaultValue":"ffffffff","notes":"Color used for hit/despawn effects."},{"name":"healColor","type":"Color","defaultValue":"98ffa9ff","notes":"Color used for block heal effects."},{"name":"healEffect","type":"Effect","defaultValue":"healBlockFull","notes":"Effect emitted upon blocks that are healed."},{"name":"spawnBullets","type":"Seq of BulletType","defaultValue":"[]","notes":"Bullets spawned when this bullet is created. Rarely necessary, used for visuals."},{"name":"showStats","type":"boolean","defaultValue":"false","notes":"Whether to display the stats of the spawned bullet."},{"name":"spawnBulletRandomSpread","type":"float","defaultValue":"0.0","notes":"Random angle spread of spawn bullets."},{"name":"spawnUnit","type":"UnitType","defaultValue":"null","notes":"Unit spawned instead of this bullet. Useful for missiles."},{"name":"despawnUnit","type":"UnitType","defaultValue":"null","notes":"Unit spawned when this bullet hits something or despawns due to it hitting the end of its lifetime."},{"name":"despawnUnitChance","type":"float","defaultValue":"1.0","notes":"The chance for despawn units to spawn."},{"name":"despawnUnitCount","type":"int","defaultValue":"1","notes":"Amount of units spawned when this bullet despawns."},{"name":"despawnUnitRadius","type":"float","defaultValue":"0.1","notes":"Random offset distance from the original bullet despawn/hit coordinate."},{"name":"faceOutwards","type":"boolean","defaultValue":"false","notes":"If true, units spawned when this bullet despawns face away from the bullet instead of the same direction as the bullet."},{"name":"parts","type":"Seq of DrawPart","defaultValue":"[]","notes":"Extra visual parts for this bullet."},{"name":"trailColor","type":"Color","defaultValue":"e58956ff","notes":"Color of trail behind bullet."},{"name":"trailChance","type":"float","defaultValue":"-1.0E-4","notes":"Chance of trail effect spawning on bullet per tick."},{"name":"trailInterval","type":"float","defaultValue":"0.0","notes":"Uniform interval in which trail effect is spawned."},{"name":"trailMinVelocity","type":"float","defaultValue":"0.0","notes":"Min velocity required for trail effect to spawn."},{"name":"trailEffect","type":"Effect","defaultValue":"missileTrail","notes":"Trail effect that is spawned."},{"name":"trailSpread","type":"float","defaultValue":"0.0","notes":"Random offset of trail effect."},{"name":"trailParam","type":"float","defaultValue":"2.0","notes":"Rotation/size parameter that is passed to trail. Usually, this controls size."},{"name":"trailRotation","type":"boolean","defaultValue":"false","notes":"Whether the parameter passed to the trail is the bullet rotation, instead of a flat value."},{"name":"trailInterp","type":"Interp","defaultValue":"one","notes":"Interpolation for trail width as function of bullet lifetime"},{"name":"trailLength","type":"int","defaultValue":"-1","notes":"Length of trail quads. Any value <= 0 disables the trail."},{"name":"trailWidth","type":"float","defaultValue":"2.0","notes":"Width of trail, if trailLength > 0"},{"name":"trailSinMag","type":"float","defaultValue":"0.0","notes":"If trailSinMag > 0, these values are applied as a sine curve to trail width."},{"name":"trailSinScl","type":"float","defaultValue":"3.0","notes":"If trailSinMag > 0, these values are applied as a sine curve to trail width."},{"name":"circleShooter","type":"boolean","defaultValue":"false","notes":"If true, the bullet will attempt to circle around its shooting entity."},{"name":"circleShooterRadius","type":"float","defaultValue":"13.0","notes":"Radius that the bullet attempts to circle at."},{"name":"circleShooterRadiusSmooth","type":"float","defaultValue":"10.0","notes":"Smooth extra radius value for circling."},{"name":"circleShooterRotateSpeed","type":"float","defaultValue":"0.3","notes":"Multiplier of speed that is used to adjust velocity when circling."},{"name":"splashDamageRadius","type":"float","defaultValue":"-1.0","notes":"Use a negative value to disable splash damage."},{"name":"splashDamagePierce","type":"boolean","defaultValue":"false","notes":"If true, splash damage pierces through tiles."},{"name":"incendAmount","type":"int","defaultValue":"0","notes":"Amount of fires attempted around bullet."},{"name":"incendSpread","type":"float","defaultValue":"8.0","notes":"Spread of fires around bullet."},{"name":"incendChance","type":"float","defaultValue":"1.0","notes":"Chance of fire being created."},{"name":"homingPower","type":"float","defaultValue":"0.0","notes":"Power of bullet ability. Usually a number between 0 and 1; try 0.1 as a starting point."},{"name":"homingRange","type":"float","defaultValue":"50.0","notes":"Range of homing effect around bullet."},{"name":"homingDelay","type":"float","defaultValue":"-1.0","notes":"Use a negative value to disable homing delay."},{"name":"followAimSpeed","type":"float","defaultValue":"0.0","notes":"Speed at which bullet rotates to follow cursor. <= 0 to disable."},{"name":"suppressionRange","type":"float","defaultValue":"-1.0","notes":"Range of healing block suppression effect."},{"name":"suppressionDuration","type":"float","defaultValue":"480.0","notes":"Duration of healing block suppression effect."},{"name":"suppressionEffectChance","type":"float","defaultValue":"50.0","notes":"Chance of suppression effect occurring on block, scaled down by number of blocks."},{"name":"suppressColor","type":"Color","defaultValue":"bf92f9ff","notes":"Color used for the regenSuppressSeek effect."},{"name":"lightningColor","type":"Color","defaultValue":"f3e979ff","notes":"Color of lightning created by bullet."},{"name":"lightning","type":"int","defaultValue":"0","notes":"Number of separate lightning \"roots\"."},{"name":"lightningLength","type":"int","defaultValue":"5","notes":"Length of each lightning strand."},{"name":"lightningLengthRand","type":"int","defaultValue":"0","notes":"Extra random length added onto base length of lightning."},{"name":"lightningDamage","type":"float","defaultValue":"-1.0","notes":"Use a negative value to use default bullet damage."},{"name":"lightningCone","type":"float","defaultValue":"360.0","notes":"Spread of lightning, relative to bullet rotation."},{"name":"lightningAngle","type":"float","defaultValue":"0.0","notes":"Offset of lightning relative to bullet rotation."},{"name":"lightningType","type":"BulletType","defaultValue":"null","notes":"The bullet created at lightning points."},{"name":"weaveScale","type":"float","defaultValue":"1.0","notes":"Scale of bullet weave pattern. Higher -> less vibration."},{"name":"weaveMag","type":"float","defaultValue":"0.0","notes":"Intensity of bullet weaving. Note that this may make bullets inaccurate."},{"name":"weaveRandom","type":"boolean","defaultValue":"true","notes":"If true, the bullet weave will randomly switch directions on spawn."},{"name":"rotateSpeed","type":"float","defaultValue":"0.0","notes":"Rotation speed of the bullet velocity as it travels."},{"name":"puddles","type":"int","defaultValue":"0","notes":"Number of individual puddles created."},{"name":"puddleRange","type":"float","defaultValue":"0.0","notes":"Range of puddles around bullet position."},{"name":"puddleAmount","type":"float","defaultValue":"5.0","notes":"Liquid count of each puddle created."},{"name":"puddleLiquid","type":"Liquid","defaultValue":"water","notes":"Liquid that puddles created are made of."},{"name":"displayAmmoMultiplier","type":"boolean","defaultValue":"true","notes":"Whether to display the ammo multiplayer for this bullet type in its stats."},{"name":"statLiquidConsumed","type":"float","defaultValue":"0.0","notes":"If >0, this is displayed divided by the ammo multiplier."},{"name":"lightRadius","type":"float","defaultValue":"-1.0","notes":"Radius of light emitted by this bullet; <0 to use defaults."},{"name":"lightOpacity","type":"float","defaultValue":"0.3","notes":"Opacity of light color."},{"name":"lightColor","type":"Color","defaultValue":"fbd367ff","notes":"Color of light emitted by this bullet."}]},{"type":"BurstDrill","extends":"Drill","fields":[{"name":"shake","type":"float","defaultValue":"2.0","notes":""},{"name":"speedCurve","type":"Interp","defaultValue":"pow2In","notes":""},{"name":"topInvertRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrowBlurRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"invertedTime","type":"float","defaultValue":"200.0","notes":""},{"name":"arrowSpacing","type":"float","defaultValue":"4.0","notes":""},{"name":"arrowOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"arrows","type":"int","defaultValue":"3","notes":""},{"name":"arrowColor","type":"Color","defaultValue":"feb380ff","notes":""},{"name":"baseArrowColor","type":"Color","defaultValue":"6e7080ff","notes":""},{"name":"glowColor","type":"Color","defaultValue":"feb380ff","notes":""},{"name":"drillSound","type":"Sound","defaultValue":"drillImpact","notes":""},{"name":"drillSoundVolume","type":"float","defaultValue":"0.6","notes":""},{"name":"drillSoundPitchRand","type":"float","defaultValue":"0.1","notes":""}]},{"type":"CanvasBlock","extends":"Block","fields":[{"name":"padding","type":"float","defaultValue":"0.0","notes":""},{"name":"canvasSize","type":"int","defaultValue":"8","notes":""},{"name":"palette","type":"int[]","defaultValue":"{ 0x362944_ff, 0xc45d9f_ff, 0xe39aac_ff, 0xf0dab1_ff, 0x6461c2_ff, 0x2ba9b4_ff, 0x93d4b5_ff, 0xf0f6e8_ff }","notes":""},{"name":"bitsPerPixel","type":"int","defaultValue":"0","notes":""},{"name":"colorToIndex","type":"IntIntMap","defaultValue":"new IntIntMap()","notes":""},{"name":"side1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"side2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"corner1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"corner2","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"CellLiquid","extends":"Liquid","fields":[{"name":"colorFrom","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"colorTo","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"cells","type":"int","defaultValue":"6","notes":""},{"name":"spreadTarget","type":"Liquid","defaultValue":"null","notes":""},{"name":"maxSpread","type":"float","defaultValue":"0.75","notes":""},{"name":"spreadConversion","type":"float","defaultValue":"1.2","notes":""},{"name":"spreadDamage","type":"float","defaultValue":"0.11","notes":""},{"name":"removeScaling","type":"float","defaultValue":"0.25","notes":""}]},{"type":"CharacterOverlay","extends":"OverlayFloor","fields":[{"name":"letterRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""}]},{"type":"Cliff","extends":"Block","fields":[{"name":"size","type":"float","defaultValue":"11.0","notes":""},{"name":"cliffs","type":"TextureRegion[]","defaultValue":"null","notes":""}]},{"type":"ColoredFloor","extends":"Floor","fields":[{"name":"defaultColor","type":"Color","defaultValue":"ffffffff","notes":""}]},{"type":"ColoredWall","extends":"StaticWall","fields":[{"name":"defaultColor","type":"Color","defaultValue":"ffffffff","notes":""}]},{"type":"Conduit","extends":"LiquidBlock","fields":[{"name":"timerFlow","type":"int","defaultValue":"1","notes":""},{"name":"botColor","type":"Color","defaultValue":"565656ff","notes":""},{"name":"topRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"botRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"capRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rotateRegions","type":"TextureRegion[][][]","defaultValue":"null","notes":"indices: [rotation] [fluid type] [frame]"},{"name":"padCorners","type":"boolean","defaultValue":"true","notes":"If true, the liquid region is padded at corners, so it doesn't stick out."},{"name":"leaks","type":"boolean","defaultValue":"true","notes":""},{"name":"junctionReplacement","type":"Block","defaultValue":"null","notes":""},{"name":"bridgeReplacement","type":"Block","defaultValue":"null","notes":""},{"name":"rotBridgeReplacement","type":"Block","defaultValue":"null","notes":""}]},{"type":"Constructor","extends":"BlockProducer","fields":[{"name":"filter","type":"Seq of Block","defaultValue":"[]","notes":"Empty seq for no filter."},{"name":"minBlockSize","type":"int","defaultValue":"1","notes":""},{"name":"maxBlockSize","type":"int","defaultValue":"2","notes":""}]},{"type":"ConsumeGenerator","extends":"PowerGenerator","fields":[{"name":"itemDuration","type":"float","defaultValue":"120.0","notes":"The time in number of ticks during which a single item will produce power."},{"name":"warmupSpeed","type":"float","defaultValue":"0.05","notes":""},{"name":"effectChance","type":"float","defaultValue":"0.01","notes":""},{"name":"generateEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"consumeEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"generateEffectRange","type":"float","defaultValue":"3.0","notes":""},{"name":"baseLightRadius","type":"float","defaultValue":"65.0","notes":""},{"name":"outputLiquid","type":"LiquidStack","defaultValue":"null","notes":""},{"name":"explodeOnFull","type":"boolean","defaultValue":"false","notes":"If true, this block explodes when outputLiquid exceeds capacity."},{"name":"filterItem","type":"ConsumeItemFilter","defaultValue":"null","notes":""},{"name":"filterLiquid","type":"ConsumeLiquidFilter","defaultValue":"null","notes":""},{"name":"itemDurationMultipliers","type":"ObjectFloatMap of Item","defaultValue":"new ObjectFloatMap<>()","notes":"Multiplies the itemDuration for a given item."}]},{"type":"ContinuousBulletType","extends":"BulletType","fields":[{"name":"length","type":"float","defaultValue":"220.0","notes":""},{"name":"shake","type":"float","defaultValue":"0.0","notes":""},{"name":"damageInterval","type":"float","defaultValue":"5.0","notes":""},{"name":"largeHit","type":"boolean","defaultValue":"false","notes":""},{"name":"continuous","type":"boolean","defaultValue":"true","notes":""},{"name":"timescaleDamage","type":"boolean","defaultValue":"false","notes":"If a building fired this, whether to multiply damage by its timescale."}]},{"type":"ContinuousFlameBulletType","extends":"ContinuousBulletType","fields":[{"name":"lightStroke","type":"float","defaultValue":"40.0","notes":""},{"name":"width","type":"float","defaultValue":"3.7","notes":""},{"name":"oscScl","type":"float","defaultValue":"1.2","notes":""},{"name":"oscMag","type":"float","defaultValue":"0.02","notes":""},{"name":"divisions","type":"int","defaultValue":"25","notes":""},{"name":"drawFlare","type":"boolean","defaultValue":"true","notes":""},{"name":"flareColor","type":"Color","defaultValue":"e189f5ff","notes":""},{"name":"flareWidth","type":"float","defaultValue":"3.0","notes":""},{"name":"flareInnerScl","type":"float","defaultValue":"0.5","notes":""},{"name":"flareLength","type":"float","defaultValue":"40.0","notes":""},{"name":"flareInnerLenScl","type":"float","defaultValue":"0.5","notes":""},{"name":"flareLayer","type":"float","defaultValue":"99.9999","notes":""},{"name":"flareRotSpeed","type":"float","defaultValue":"1.2","notes":""},{"name":"rotateFlare","type":"boolean","defaultValue":"false","notes":""},{"name":"lengthInterp","type":"Interp","defaultValue":"slope","notes":""},{"name":"lengthWidthPans","type":"float[]","defaultValue":"[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]","notes":"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..."},{"name":"colors","type":"Color[]","defaultValue":"[eb7abe8c, e189f5b2, 907ef7cc, 91a4ffff, ffffffff]","notes":""}]},{"type":"ContinuousLaserBulletType","extends":"ContinuousBulletType","fields":[{"name":"fadeTime","type":"float","defaultValue":"16.0","notes":""},{"name":"lightStroke","type":"float","defaultValue":"40.0","notes":""},{"name":"divisions","type":"int","defaultValue":"13","notes":""},{"name":"colors","type":"Color[]","defaultValue":"[ec745855, ec7458aa, ff9c5aff, ffffffff]","notes":""},{"name":"strokeFrom","type":"float","defaultValue":"2.0","notes":""},{"name":"strokeTo","type":"float","defaultValue":"0.5","notes":""},{"name":"pointyScaling","type":"float","defaultValue":"0.75","notes":""},{"name":"backLength","type":"float","defaultValue":"7.0","notes":""},{"name":"frontLength","type":"float","defaultValue":"35.0","notes":""},{"name":"width","type":"float","defaultValue":"9.0","notes":""},{"name":"oscScl","type":"float","defaultValue":"0.8","notes":""},{"name":"oscMag","type":"float","defaultValue":"1.5","notes":""}]},{"type":"ContinuousLiquidTurret","extends":"ContinuousTurret","fields":[{"name":"ammoTypes","type":"ObjectMap of Liquid, BulletType","defaultValue":"new ObjectMap<>()","notes":""},{"name":"liquidConsumed","type":"float","defaultValue":"0.016666668","notes":""}]},{"type":"ContinuousTurret","extends":"Turret","fields":[{"name":"shootType","type":"BulletType","defaultValue":"placeholder","notes":""},{"name":"aimChangeSpeed","type":"float","defaultValue":"Infinity","notes":"Speed at which the turret can change its bullet \"aim\" distance. This is only used for point laser bullets."},{"name":"scaleDamageEfficiency","type":"boolean","defaultValue":"false","notes":""}]},{"type":"Conveyor","extends":"Block","fields":[{"name":"regions","type":"TextureRegion[][]","defaultValue":"null","notes":""},{"name":"speed","type":"float","defaultValue":"0.0","notes":""},{"name":"displayedSpeed","type":"float","defaultValue":"0.0","notes":""},{"name":"pushUnits","type":"boolean","defaultValue":"true","notes":""},{"name":"junctionReplacement","type":"Block","defaultValue":"null","notes":""},{"name":"bridgeReplacement","type":"Block","defaultValue":"null","notes":""}]},{"type":"CoreBlock","extends":"StorageBlock","fields":[{"name":"thruster1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"thruster2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"thrusterLength","type":"float","defaultValue":"3.5","notes":""},{"name":"thrusterOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"isFirstTier","type":"boolean","defaultValue":"false","notes":""},{"name":"allowSpawn","type":"boolean","defaultValue":"true","notes":"If false, players can't respawn at this core."},{"name":"requiresCoreZone","type":"boolean","defaultValue":"false","notes":"If true, this core type requires a core zone to upgrade."},{"name":"incinerateNonBuildable","type":"boolean","defaultValue":"false","notes":""},{"name":"unitType","type":"UnitType","defaultValue":"alpha","notes":""},{"name":"landDuration","type":"float","defaultValue":"160.0","notes":""},{"name":"landMusic","type":"Music","defaultValue":"land","notes":""},{"name":"launchSoundVolume","type":"float","defaultValue":"1.0","notes":""},{"name":"landSoundVolume","type":"float","defaultValue":"1.0","notes":""},{"name":"launchSound","type":"Sound","defaultValue":"coreLaunch","notes":""},{"name":"landSound","type":"Sound","defaultValue":"coreLand","notes":""},{"name":"launchEffect","type":"Effect","defaultValue":"launch","notes":""},{"name":"landZoomInterp","type":"Interp","defaultValue":"pow3","notes":""},{"name":"landZoomFrom","type":"float","defaultValue":"0.02","notes":""},{"name":"landZoomTo","type":"float","defaultValue":"4.0","notes":""},{"name":"captureInvicibility","type":"float","defaultValue":"900.0","notes":""}]},{"type":"DirectionalForceProjector","extends":"Block","fields":[{"name":"width","type":"float","defaultValue":"30.0","notes":""},{"name":"shieldHealth","type":"float","defaultValue":"3000.0","notes":""},{"name":"cooldownNormal","type":"float","defaultValue":"1.75","notes":""},{"name":"cooldownLiquid","type":"float","defaultValue":"1.5","notes":""},{"name":"cooldownBrokenBase","type":"float","defaultValue":"0.35","notes":""},{"name":"absorbEffect","type":"Effect","defaultValue":"absorb","notes":""},{"name":"shieldBreakEffect","type":"Effect","defaultValue":"shieldBreak","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"length","type":"float","defaultValue":"40.0","notes":""},{"name":"padSize","type":"float","defaultValue":"40.0","notes":""}]},{"type":"DirectionalUnloader","extends":"Block","fields":[{"name":"centerRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"speed","type":"float","defaultValue":"1.0","notes":""},{"name":"allowCoreUnload","type":"boolean","defaultValue":"false","notes":""}]},{"type":"DirectionBridge","extends":"Block","fields":[{"name":"bridgeRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"bridgeBotRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"bridgeLiquidRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"dirRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"range","type":"int","defaultValue":"4","notes":""}]},{"type":"DirectionLiquidBridge","extends":"DirectionBridge","fields":[{"name":"timerFlow","type":"int","defaultValue":"1","notes":""},{"name":"speed","type":"float","defaultValue":"5.0","notes":""},{"name":"liquidPadding","type":"float","defaultValue":"1.0","notes":""},{"name":"bottomRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Door","extends":"Wall","fields":[{"name":"timerToggle","type":"int","defaultValue":"1","notes":""},{"name":"openfx","type":"Effect","defaultValue":"dooropen","notes":""},{"name":"closefx","type":"Effect","defaultValue":"doorclose","notes":""},{"name":"doorSound","type":"Sound","defaultValue":"door","notes":""},{"name":"chainEffect","type":"boolean","defaultValue":"false","notes":""},{"name":"openRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawArcSmelt","extends":"DrawBlock","fields":[{"name":"flameColor","type":"Color","defaultValue":"f58349ff","notes":""},{"name":"midColor","type":"Color","defaultValue":"f2d585ff","notes":""},{"name":"flameRad","type":"float","defaultValue":"1.0","notes":""},{"name":"circleSpace","type":"float","defaultValue":"2.0","notes":""},{"name":"flameRadiusScl","type":"float","defaultValue":"3.0","notes":""},{"name":"flameRadiusMag","type":"float","defaultValue":"0.3","notes":""},{"name":"circleStroke","type":"float","defaultValue":"1.5","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"alpha","type":"float","defaultValue":"0.68","notes":""},{"name":"particles","type":"int","defaultValue":"25","notes":""},{"name":"particleLife","type":"float","defaultValue":"40.0","notes":""},{"name":"particleRad","type":"float","defaultValue":"7.0","notes":""},{"name":"particleStroke","type":"float","defaultValue":"1.1","notes":""},{"name":"particleLen","type":"float","defaultValue":"3.0","notes":""},{"name":"drawCenter","type":"boolean","defaultValue":"true","notes":""},{"name":"blending","type":"Blending","defaultValue":"additive","notes":""}]},{"type":"DrawBlurSpin","extends":"DrawBlock","fields":[{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"blurRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"\"","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"blurThresh","type":"float","defaultValue":"0.7","notes":""}]},{"type":"DrawBubbles","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"7457ceff","notes":""},{"name":"amount","type":"int","defaultValue":"12","notes":""},{"name":"sides","type":"int","defaultValue":"8","notes":""},{"name":"strokeMin","type":"float","defaultValue":"0.2","notes":""},{"name":"spread","type":"float","defaultValue":"3.0","notes":""},{"name":"timeScl","type":"float","defaultValue":"30.0","notes":""},{"name":"recurrence","type":"float","defaultValue":"6.0","notes":""},{"name":"radius","type":"float","defaultValue":"3.0","notes":""},{"name":"fill","type":"boolean","defaultValue":"false","notes":""}]},{"type":"DrawCells","extends":"DrawBlock","fields":[{"name":"middle","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"particleColorFrom","type":"Color","defaultValue":"000000ff","notes":""},{"name":"particleColorTo","type":"Color","defaultValue":"000000ff","notes":""},{"name":"particles","type":"int","defaultValue":"12","notes":""},{"name":"range","type":"float","defaultValue":"4.0","notes":""},{"name":"recurrence","type":"float","defaultValue":"2.0","notes":""},{"name":"radius","type":"float","defaultValue":"1.8","notes":""},{"name":"lifetime","type":"float","defaultValue":"180.0","notes":""}]},{"type":"DrawCircles","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"7457ceff","notes":""},{"name":"amount","type":"int","defaultValue":"5","notes":""},{"name":"sides","type":"int","defaultValue":"15","notes":""},{"name":"strokeMin","type":"float","defaultValue":"0.2","notes":""},{"name":"strokeMax","type":"float","defaultValue":"2.0","notes":""},{"name":"timeScl","type":"float","defaultValue":"160.0","notes":""},{"name":"radius","type":"float","defaultValue":"12.0","notes":""},{"name":"radiusOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"strokeInterp","type":"Interp","defaultValue":"pow3In","notes":""}]},{"type":"DrawCrucibleFlame","extends":"DrawBlock","fields":[{"name":"flameColor","type":"Color","defaultValue":"f58349ff","notes":""},{"name":"midColor","type":"Color","defaultValue":"f2d585ff","notes":""},{"name":"flameRad","type":"float","defaultValue":"1.0","notes":""},{"name":"circleSpace","type":"float","defaultValue":"2.0","notes":""},{"name":"flameRadiusScl","type":"float","defaultValue":"10.0","notes":""},{"name":"flameRadiusMag","type":"float","defaultValue":"0.6","notes":""},{"name":"circleStroke","type":"float","defaultValue":"1.5","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"alpha","type":"float","defaultValue":"0.5","notes":""},{"name":"particles","type":"int","defaultValue":"30","notes":""},{"name":"particleLife","type":"float","defaultValue":"70.0","notes":""},{"name":"particleRad","type":"float","defaultValue":"7.0","notes":""},{"name":"particleSize","type":"float","defaultValue":"3.0","notes":""},{"name":"fadeMargin","type":"float","defaultValue":"0.4","notes":""},{"name":"rotateScl","type":"float","defaultValue":"1.5","notes":""},{"name":"particleInterp","type":"Interp","defaultValue":"5f)","notes":""}]},{"type":"DrawCultivator","extends":"DrawBlock","fields":[{"name":"plantColor","type":"Color","defaultValue":"5541b1ff","notes":""},{"name":"plantColorLight","type":"Color","defaultValue":"7457ceff","notes":""},{"name":"bottomColor","type":"Color","defaultValue":"474747ff","notes":""},{"name":"bubbles","type":"int","defaultValue":"12","notes":""},{"name":"sides","type":"int","defaultValue":"8","notes":""},{"name":"strokeMin","type":"float","defaultValue":"0.2","notes":""},{"name":"spread","type":"float","defaultValue":"3.0","notes":""},{"name":"timeScl","type":"float","defaultValue":"70.0","notes":""},{"name":"recurrence","type":"float","defaultValue":"6.0","notes":""},{"name":"radius","type":"float","defaultValue":"3.0","notes":""},{"name":"middle","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawFade","extends":"DrawBlock","fields":[{"name":"suffix","type":"String","defaultValue":"\"-top\"","notes":""},{"name":"alpha","type":"float","defaultValue":"0.6","notes":""},{"name":"scale","type":"float","defaultValue":"3.0","notes":""},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawFlame","extends":"DrawBlock","fields":[{"name":"flameColor","type":"Color","defaultValue":"ffc999ff","notes":""},{"name":"top","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"lightRadius","type":"float","defaultValue":"60.0","notes":""},{"name":"lightAlpha","type":"float","defaultValue":"0.65","notes":""},{"name":"lightSinScl","type":"float","defaultValue":"10.0","notes":""},{"name":"lightSinMag","type":"float","defaultValue":"5.0","notes":""},{"name":"flameRadius","type":"float","defaultValue":"3.0","notes":""},{"name":"flameRadiusIn","type":"float","defaultValue":"1.9","notes":""},{"name":"flameRadiusScl","type":"float","defaultValue":"5.0","notes":""},{"name":"flameRadiusMag","type":"float","defaultValue":"2.0","notes":""},{"name":"flameRadiusInMag","type":"float","defaultValue":"1.0","notes":""},{"name":"flameX","type":"float","defaultValue":"0.0","notes":""},{"name":"flameY","type":"float","defaultValue":"0.0","notes":""}]},{"type":"DrawFrames","extends":"DrawBlock","fields":[{"name":"frames","type":"int","defaultValue":"3","notes":"Number of frames to draw."},{"name":"interval","type":"float","defaultValue":"5.0","notes":"Ticks between frames."},{"name":"sine","type":"boolean","defaultValue":"true","notes":"If true, frames wil alternate back and forth in a sine wave."},{"name":"regions","type":"TextureRegion[]","defaultValue":"null","notes":""}]},{"type":"DrawGlowRegion","extends":"DrawBlock","fields":[{"name":"blending","type":"Blending","defaultValue":"additive","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-glow\"","notes":""},{"name":"alpha","type":"float","defaultValue":"0.9","notes":""},{"name":"glowScale","type":"float","defaultValue":"10.0","notes":""},{"name":"glowIntensity","type":"float","defaultValue":"0.5","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"0.0","notes":""},{"name":"layer","type":"float","defaultValue":"31.0","notes":""},{"name":"rotate","type":"boolean","defaultValue":"false","notes":""},{"name":"color","type":"Color","defaultValue":"ff0000ff","notes":""},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawHeatInput","extends":"DrawBlock","fields":[{"name":"suffix","type":"String","defaultValue":"\"-heat\"","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ff3838cc","notes":""},{"name":"heatPulse","type":"float","defaultValue":"0.3","notes":""},{"name":"heatPulseScl","type":"float","defaultValue":"10.0","notes":""},{"name":"heat","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawHeatOutput","extends":"DrawBlock","fields":[{"name":"heat","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glow","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"top1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"top2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ff3838cc","notes":""},{"name":"heatPulse","type":"float","defaultValue":"0.3","notes":""},{"name":"heatPulseScl","type":"float","defaultValue":"10.0","notes":""},{"name":"glowMult","type":"float","defaultValue":"1.2","notes":""},{"name":"rotOffset","type":"int","defaultValue":"0","notes":""},{"name":"drawGlow","type":"boolean","defaultValue":"true","notes":""}]},{"type":"DrawHeatRegion","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"ff3838cc","notes":""},{"name":"pulse","type":"float","defaultValue":"0.3","notes":""},{"name":"pulseScl","type":"float","defaultValue":"10.0","notes":""},{"name":"layer","type":"float","defaultValue":"31.0","notes":""},{"name":"heat","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-glow\"","notes":""}]},{"type":"DrawLiquidOutputs","extends":"DrawBlock","fields":[{"name":"liquidOutputRegions","type":"TextureRegion[][]","defaultValue":"null","notes":""}]},{"type":"DrawLiquidRegion","extends":"DrawBlock","fields":[{"name":"drawLiquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"liquid","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-liquid\"","notes":""},{"name":"alpha","type":"float","defaultValue":"1.0","notes":""}]},{"type":"DrawLiquidTile","extends":"DrawBlock","fields":[{"name":"drawLiquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"padding","type":"float","defaultValue":"0.0","notes":""},{"name":"padLeft","type":"float","defaultValue":"-1.0","notes":""},{"name":"padRight","type":"float","defaultValue":"-1.0","notes":""},{"name":"padTop","type":"float","defaultValue":"-1.0","notes":""},{"name":"padBottom","type":"float","defaultValue":"-1.0","notes":""},{"name":"alpha","type":"float","defaultValue":"1.0","notes":""}]},{"type":"DrawMulti","extends":"DrawBlock","fields":[{"name":"drawers","type":"DrawBlock[]","defaultValue":"[]","notes":""}]},{"type":"DrawMultiWeave","extends":"DrawBlock","fields":[{"name":"weave","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glow","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"rotateSpeed2","type":"float","defaultValue":"-0.9","notes":""},{"name":"fadeWeave","type":"boolean","defaultValue":"false","notes":""},{"name":"glowColor","type":"Color","defaultValue":"ff6666cc","notes":""},{"name":"weaveColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"pulse","type":"float","defaultValue":"0.3","notes":""},{"name":"pulseScl","type":"float","defaultValue":"10.0","notes":""}]},{"type":"DrawParticles","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"f2d585ff","notes":""},{"name":"sides","type":"int","defaultValue":"12","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"alpha","type":"float","defaultValue":"0.5","notes":""},{"name":"particles","type":"int","defaultValue":"30","notes":""},{"name":"particleRotation","type":"float","defaultValue":"0.0","notes":""},{"name":"particleLife","type":"float","defaultValue":"70.0","notes":""},{"name":"particleRad","type":"float","defaultValue":"7.0","notes":""},{"name":"particleSize","type":"float","defaultValue":"3.0","notes":""},{"name":"fadeMargin","type":"float","defaultValue":"0.4","notes":""},{"name":"rotateScl","type":"float","defaultValue":"3.0","notes":""},{"name":"reverse","type":"boolean","defaultValue":"false","notes":""},{"name":"poly","type":"boolean","defaultValue":"false","notes":""},{"name":"particleInterp","type":"Interp","defaultValue":"5f)","notes":""},{"name":"particleSizeInterp","type":"Interp","defaultValue":"slope","notes":""},{"name":"blending","type":"Blending","defaultValue":"normal","notes":""}]},{"type":"DrawPistons","extends":"DrawBlock","fields":[{"name":"sinMag","type":"float","defaultValue":"4.0","notes":""},{"name":"sinScl","type":"float","defaultValue":"6.0","notes":""},{"name":"sinOffset","type":"float","defaultValue":"50.0","notes":""},{"name":"sideOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"lenOffset","type":"float","defaultValue":"-1.0","notes":""},{"name":"horiOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"angleOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"sides","type":"int","defaultValue":"4","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-piston\"","notes":""},{"name":"region1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"region2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"regiont","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"iconRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawPlasma","extends":"DrawFlame","fields":[{"name":"regions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-plasma-\"","notes":""},{"name":"plasmas","type":"int","defaultValue":"4","notes":""},{"name":"plasma1","type":"Color","defaultValue":"ffd06bff","notes":""},{"name":"plasma2","type":"Color","defaultValue":"ff361bff","notes":""}]},{"type":"DrawPower","extends":"DrawBlock","fields":[{"name":"emptyRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"fullRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"-power\"","notes":""},{"name":"drawPlan","type":"boolean","defaultValue":"true","notes":""},{"name":"mixcol","type":"boolean","defaultValue":"true","notes":"If false, fades between emptyRegion and fullRegion instead of mixcol between empty and full colors."},{"name":"emptyLightColor","type":"Color","defaultValue":"f8c266ff","notes":""},{"name":"fullLightColor","type":"Color","defaultValue":"fb9567ff","notes":""},{"name":"layer","type":"float","defaultValue":"-1.0","notes":"Any number <=0 disables layer changes."}]},{"type":"DrawPulseShape","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"stroke","type":"float","defaultValue":"2.0","notes":""},{"name":"timeScl","type":"float","defaultValue":"100.0","notes":""},{"name":"minStroke","type":"float","defaultValue":"0.2","notes":""},{"name":"radiusScl","type":"float","defaultValue":"1.0","notes":""},{"name":"layer","type":"float","defaultValue":"-1.0","notes":""},{"name":"square","type":"boolean","defaultValue":"true","notes":""}]},{"type":"DrawPumpLiquid","extends":"DrawBlock","fields":[{"name":"liquid","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawRegion","extends":"DrawBlock","fields":[{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"suffix","type":"String","defaultValue":"\"\"","notes":""},{"name":"name","type":"String","defaultValue":"null","notes":"If set, overrides the region name."},{"name":"color","type":"Color","defaultValue":"null","notes":""},{"name":"spinSprite","type":"boolean","defaultValue":"false","notes":""},{"name":"drawPlan","type":"boolean","defaultValue":"true","notes":""},{"name":"buildingRotate","type":"boolean","defaultValue":"false","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"0.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"rotation","type":"float","defaultValue":"0.0","notes":""},{"name":"layer","type":"float","defaultValue":"-1.0","notes":"Any number <=0 disables layer changes."}]},{"type":"DrawShape","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"sides","type":"int","defaultValue":"4","notes":""},{"name":"radius","type":"float","defaultValue":"2.0","notes":""},{"name":"timeScl","type":"float","defaultValue":"1.0","notes":""},{"name":"layer","type":"float","defaultValue":"-1.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"useWarmupRadius","type":"boolean","defaultValue":"false","notes":""}]},{"type":"DrawSideRegion","extends":"DrawBlock","fields":[{"name":"top1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"top2","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawSoftParticles","extends":"DrawBlock","fields":[{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"e3ae6fff","notes":""},{"name":"color2","type":"Color","defaultValue":"d04d46ff","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"alpha","type":"float","defaultValue":"0.5","notes":""},{"name":"particles","type":"int","defaultValue":"30","notes":""},{"name":"particleLife","type":"float","defaultValue":"70.0","notes":""},{"name":"particleRad","type":"float","defaultValue":"7.0","notes":""},{"name":"particleSize","type":"float","defaultValue":"3.0","notes":""},{"name":"fadeMargin","type":"float","defaultValue":"0.4","notes":""},{"name":"rotateScl","type":"float","defaultValue":"1.5","notes":""},{"name":"particleInterp","type":"Interp","defaultValue":"5f)","notes":""}]},{"type":"DrawSpikes","extends":"DrawBlock","fields":[{"name":"color","type":"Color","defaultValue":"7457ceff","notes":""},{"name":"amount","type":"int","defaultValue":"10","notes":""},{"name":"layers","type":"int","defaultValue":"1","notes":""},{"name":"stroke","type":"float","defaultValue":"2.0","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"0.8","notes":""},{"name":"radius","type":"float","defaultValue":"6.0","notes":""},{"name":"length","type":"float","defaultValue":"4.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"layerSpeed","type":"float","defaultValue":"-1.0","notes":""}]},{"type":"DrawTurret","extends":"DrawBlock","fields":[{"name":"parts","type":"Seq of DrawPart","defaultValue":"[]","notes":""},{"name":"basePrefix","type":"String","defaultValue":"\"\"","notes":"Prefix to use when loading base region."},{"name":"liquidDraw","type":"Liquid","defaultValue":"null","notes":"Overrides the liquid to draw in the liquid region."},{"name":"turretLayer","type":"float","defaultValue":"50.0","notes":""},{"name":"shadowLayer","type":"float","defaultValue":"49.5","notes":""},{"name":"heatLayer","type":"float","defaultValue":"50.1","notes":""},{"name":"base","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"liquid","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"top","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"heat","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"preview","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"outline","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawWarmupRegion","extends":"DrawBlock","fields":[{"name":"sinMag","type":"float","defaultValue":"0.6","notes":""},{"name":"sinScl","type":"float","defaultValue":"8.0","notes":""},{"name":"color","type":"Color","defaultValue":"ff9b59ff","notes":""},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DrawWeave","extends":"DrawBlock","fields":[{"name":"weave","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Drill","extends":"Block","fields":[{"name":"hardnessDrillMultiplier","type":"float","defaultValue":"50.0","notes":""},{"name":"tier","type":"int","defaultValue":"0","notes":"Maximum tier of blocks this drill can mine."},{"name":"drillTime","type":"float","defaultValue":"300.0","notes":"Base time to drill one ore, in frames."},{"name":"liquidBoostIntensity","type":"float","defaultValue":"1.6","notes":"How many times faster the drill will progress when boosted by liquid."},{"name":"warmupSpeed","type":"float","defaultValue":"0.015","notes":"Speed at which the drill speeds up."},{"name":"blockedItem","type":"Item","defaultValue":"null","notes":"Special exemption item that this drill can't mine."},{"name":"blockedItems","type":"Seq of Item","defaultValue":"null","notes":"Special exemption items that this drill can't mine."},{"name":"drawMineItem","type":"boolean","defaultValue":"true","notes":"Whether to draw the item this drill is mining."},{"name":"drillEffect","type":"Effect","defaultValue":"mine","notes":"Effect played when an item is produced. This is colored."},{"name":"drillEffectRnd","type":"float","defaultValue":"-1.0","notes":"Drill effect randomness. Block size by default."},{"name":"drillEffectChance","type":"float","defaultValue":"0.02","notes":"Chance of displaying the effect. Useful for extremely fast drills."},{"name":"rotateSpeed","type":"float","defaultValue":"2.0","notes":"Speed the drill bit rotates at."},{"name":"updateEffect","type":"Effect","defaultValue":"pulverizeSmall","notes":"Effect randomly played while drilling."},{"name":"updateEffectChance","type":"float","defaultValue":"0.02","notes":"Chance the update effect will appear."},{"name":"drillMultipliers","type":"ObjectFloatMap of Item","defaultValue":"new ObjectFloatMap<>()","notes":"Multipliers of drill speed for each item. Defaults to 1."},{"name":"drawRim","type":"boolean","defaultValue":"false","notes":""},{"name":"drawSpinSprite","type":"boolean","defaultValue":"true","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ff5512ff","notes":""},{"name":"rimRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rotatorRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"itemRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"DroneCenter","extends":"Block","fields":[{"name":"unitsSpawned","type":"int","defaultValue":"4","notes":""},{"name":"droneType","type":"UnitType","defaultValue":"null","notes":""},{"name":"status","type":"StatusEffect","defaultValue":"overdrive","notes":""},{"name":"droneConstructTime","type":"float","defaultValue":"180.0","notes":""},{"name":"statusDuration","type":"float","defaultValue":"120.0","notes":""},{"name":"droneRange","type":"float","defaultValue":"50.0","notes":""}]},{"type":"Duct","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"5.0","notes":""},{"name":"armored","type":"boolean","defaultValue":"false","notes":""},{"name":"transparentColor","type":"Color","defaultValue":"66666619","notes":""},{"name":"topRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"botRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"bridgeReplacement","type":"Block","defaultValue":"null","notes":""},{"name":"junctionReplacement","type":"Block","defaultValue":"null","notes":""}]},{"type":"DuctBridge","extends":"DirectionBridge","fields":[{"name":"speed","type":"float","defaultValue":"5.0","notes":""}]},{"type":"DuctJunction","extends":"Block","fields":[{"name":"transparentColor","type":"Color","defaultValue":"66666619","notes":""},{"name":"bottomRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"speed","type":"float","defaultValue":"5.0","notes":""}]},{"type":"DuctRouter","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"5.0","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Effect","extends":"Object","fields":[{"name":"id","type":"int","defaultValue":"428","notes":""},{"name":"renderer","type":"Cons of EffectContainer","defaultValue":"{code}","notes":""},{"name":"lifetime","type":"float","defaultValue":"50.0","notes":""},{"name":"clip","type":"float","defaultValue":"0.0","notes":"Clip size."},{"name":"startDelay","type":"float","defaultValue":"0.0","notes":"Time delay before the effect starts"},{"name":"baseRotation","type":"float","defaultValue":"0.0","notes":"Amount added to rotation"},{"name":"followParent","type":"boolean","defaultValue":"true","notes":"If true, parent unit is data are followed."},{"name":"rotWithParent","type":"boolean","defaultValue":"false","notes":"If this and followParent are true, the effect will offset and rotate with the parent's rotation."},{"name":"layer","type":"float","defaultValue":"110.0","notes":""},{"name":"layerDuration","type":"float","defaultValue":"0.0","notes":""}]},{"type":"EmpBulletType","extends":"BasicBulletType","fields":[{"name":"radius","type":"float","defaultValue":"100.0","notes":""},{"name":"timeIncrease","type":"float","defaultValue":"2.5","notes":""},{"name":"timeDuration","type":"float","defaultValue":"600.0","notes":""},{"name":"powerDamageScl","type":"float","defaultValue":"2.0","notes":""},{"name":"powerSclDecrease","type":"float","defaultValue":"0.2","notes":""},{"name":"hitPowerEffect","type":"Effect","defaultValue":"hitEmpSpark","notes":""},{"name":"chainEffect","type":"Effect","defaultValue":"chainEmp","notes":""},{"name":"applyEffect","type":"Effect","defaultValue":"heal","notes":""},{"name":"hitUnits","type":"boolean","defaultValue":"true","notes":""},{"name":"unitDamageScl","type":"float","defaultValue":"0.7","notes":""}]},{"type":"EnergyFieldAbility","extends":"Ability","fields":[{"name":"damage","type":"float","defaultValue":"1.0","notes":""},{"name":"reload","type":"float","defaultValue":"100.0","notes":""},{"name":"range","type":"float","defaultValue":"60.0","notes":""},{"name":"healEffect","type":"Effect","defaultValue":"heal","notes":""},{"name":"hitEffect","type":"Effect","defaultValue":"hitLaserBlast","notes":""},{"name":"damageEffect","type":"Effect","defaultValue":"chainLightning","notes":""},{"name":"status","type":"StatusEffect","defaultValue":"electrified","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"shootEnergyField","notes":""},{"name":"statusDuration","type":"float","defaultValue":"360.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"targetGround","type":"boolean","defaultValue":"true","notes":""},{"name":"targetAir","type":"boolean","defaultValue":"true","notes":""},{"name":"hitBuildings","type":"boolean","defaultValue":"true","notes":""},{"name":"hitUnits","type":"boolean","defaultValue":"true","notes":""},{"name":"maxTargets","type":"int","defaultValue":"25","notes":""},{"name":"healPercent","type":"float","defaultValue":"3.0","notes":""},{"name":"sameTypeHealMult","type":"float","defaultValue":"1.0","notes":"Multiplies healing to units of the same type by this amount."},{"name":"displayHeal","type":"boolean","defaultValue":"true","notes":""},{"name":"layer","type":"float","defaultValue":"99.999","notes":""},{"name":"blinkScl","type":"float","defaultValue":"20.0","notes":""},{"name":"blinkSize","type":"float","defaultValue":"0.1","notes":""},{"name":"effectRadius","type":"float","defaultValue":"5.0","notes":""},{"name":"sectorRad","type":"float","defaultValue":"0.14","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"0.5","notes":""},{"name":"sectors","type":"int","defaultValue":"5","notes":""},{"name":"color","type":"Color","defaultValue":"98ffa9ff","notes":""},{"name":"useAmmo","type":"boolean","defaultValue":"true","notes":""}]},{"type":"ExplosionEffect","extends":"Effect","fields":[{"name":"waveColor","type":"Color","defaultValue":"ffd2aeff","notes":""},{"name":"smokeColor","type":"Color","defaultValue":"7f7f7fff","notes":""},{"name":"sparkColor","type":"Color","defaultValue":"e58956ff","notes":""},{"name":"waveLife","type":"float","defaultValue":"6.0","notes":""},{"name":"waveStroke","type":"float","defaultValue":"3.0","notes":""},{"name":"waveRad","type":"float","defaultValue":"15.0","notes":""},{"name":"waveRadBase","type":"float","defaultValue":"2.0","notes":""},{"name":"sparkStroke","type":"float","defaultValue":"1.0","notes":""},{"name":"sparkRad","type":"float","defaultValue":"23.0","notes":""},{"name":"sparkLen","type":"float","defaultValue":"3.0","notes":""},{"name":"smokeSize","type":"float","defaultValue":"4.0","notes":""},{"name":"smokeSizeBase","type":"float","defaultValue":"0.5","notes":""},{"name":"smokeRad","type":"float","defaultValue":"23.0","notes":""},{"name":"smokes","type":"int","defaultValue":"5","notes":""},{"name":"sparks","type":"int","defaultValue":"4","notes":""}]},{"type":"FireBulletType","extends":"BulletType","fields":[{"name":"colorFrom","type":"Color","defaultValue":"ffdd55ff","notes":""},{"name":"colorMid","type":"Color","defaultValue":"db401cff","notes":""},{"name":"colorTo","type":"Color","defaultValue":"7f7f7fff","notes":""},{"name":"radius","type":"float","defaultValue":"3.0","notes":""},{"name":"velMin","type":"float","defaultValue":"0.6","notes":""},{"name":"velMax","type":"float","defaultValue":"2.6","notes":""},{"name":"fireTrailChance","type":"float","defaultValue":"0.04","notes":""},{"name":"trailEffect2","type":"Effect","defaultValue":"ballfire","notes":""},{"name":"fireEffectChance","type":"float","defaultValue":"0.1","notes":""},{"name":"fireEffectChance2","type":"float","defaultValue":"0.1","notes":""}]},{"type":"FlakBulletType","extends":"BasicBulletType","fields":[{"name":"explodeRange","type":"float","defaultValue":"30.0","notes":""},{"name":"explodeDelay","type":"float","defaultValue":"5.0","notes":""},{"name":"flakDelay","type":"float","defaultValue":"0.0","notes":""},{"name":"flakInterval","type":"float","defaultValue":"6.0","notes":""}]},{"type":"Floor","extends":"Block","fields":[{"name":"edge","type":"String","defaultValue":"\"stone\"","notes":"edge fallback, used mainly for ores"},{"name":"speedMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplies unit velocity by this when walked on."},{"name":"dragMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplies unit drag by this when walked on."},{"name":"damageTaken","type":"float","defaultValue":"0.0","notes":"Damage taken per tick on this tile."},{"name":"drownTime","type":"float","defaultValue":"0.0","notes":"How many ticks it takes to drown on this. 0 to disable."},{"name":"walkEffect","type":"Effect","defaultValue":"none","notes":"Effect when walking on this floor."},{"name":"walkSound","type":"Sound","defaultValue":"none","notes":"Sound made when walking."},{"name":"walkSoundVolume","type":"float","defaultValue":"0.1","notes":"Volume of sound made when walking."},{"name":"walkSoundPitchMin","type":"float","defaultValue":"0.8","notes":"Volume of sound made when walking."},{"name":"walkSoundPitchMax","type":"float","defaultValue":"1.2","notes":"Volume of sound made when walking."},{"name":"drownUpdateEffect","type":"Effect","defaultValue":"bubble","notes":"Effect displayed when drowning on this floor."},{"name":"status","type":"StatusEffect","defaultValue":"none","notes":"Status effect applied when walking on."},{"name":"statusDuration","type":"float","defaultValue":"60.0","notes":"Intensity of applied status effect."},{"name":"liquidDrop","type":"Liquid","defaultValue":"null","notes":"liquids that drop from this block, used for pumps."},{"name":"liquidMultiplier","type":"float","defaultValue":"1.0","notes":"Multiplier for pumped liquids, used for deep water."},{"name":"isLiquid","type":"boolean","defaultValue":"false","notes":"whether this block is liquid."},{"name":"overlayAlpha","type":"float","defaultValue":"0.65","notes":"for liquid floors, this is the opacity of the overlay drawn on top."},{"name":"supportsOverlay","type":"boolean","defaultValue":"false","notes":"whether this floor supports an overlay floor"},{"name":"shallow","type":"boolean","defaultValue":"false","notes":"shallow water flag used for generation"},{"name":"blendGroup","type":"Block","defaultValue":"this","notes":"Group of blocks that this block does not draw edges on."},{"name":"oreDefault","type":"boolean","defaultValue":"false","notes":"Whether this ore generates in maps by default."},{"name":"oreScale","type":"float","defaultValue":"24.0","notes":"Ore generation params."},{"name":"oreThreshold","type":"float","defaultValue":"0.828","notes":"Ore generation params."},{"name":"wall","type":"Block","defaultValue":"air","notes":"Wall variant of this block. May be Blocks.air if not found."},{"name":"decoration","type":"Block","defaultValue":"air","notes":"Decoration block. Usually a rock. May be air."},{"name":"canShadow","type":"boolean","defaultValue":"true","notes":"Whether units can draw shadows over this."},{"name":"forceDrawLight","type":"boolean","defaultValue":"false","notes":"If true, this floor ignores the obstructsLight flag of overlays."},{"name":"needsSurface","type":"boolean","defaultValue":"true","notes":"Whether this overlay needs a surface to be on. False for floating blocks, like spawns."},{"name":"allowCorePlacement","type":"boolean","defaultValue":"false","notes":"If true, cores can be placed on this floor."},{"name":"wallOre","type":"boolean","defaultValue":"false","notes":"If true, this ore is allowed on walls."},{"name":"blendId","type":"int","defaultValue":"-1","notes":"Actual ID used for blend groups. Internal."},{"name":"tilingVariants","type":"int","defaultValue":"0","notes":"If >0, this floor is drawn as parts of a large texture."},{"name":"autotile","type":"boolean","defaultValue":"false","notes":"If true, this floor uses autotiling; variants are not supported. See https://github.com/GglLfr/tile-gen"},{"name":"autotileMidVariants","type":"int","defaultValue":"1","notes":"If >1, the middle region of the autotile has random variants."},{"name":"autotileVariants","type":"int","defaultValue":"1","notes":"Variants of the main autotile sprite."},{"name":"drawEdgeIn","type":"boolean","defaultValue":"true","notes":"If true (default), this floor will draw edges of other floors on itself."},{"name":"drawEdgeOut","type":"boolean","defaultValue":"true","notes":"If true (default), this floor will draw its edges onto other floors."}]},{"type":"ForceFieldAbility","extends":"Ability","fields":[{"name":"radius","type":"float","defaultValue":"60.0","notes":"Shield radius."},{"name":"regen","type":"float","defaultValue":"0.1","notes":"Shield regen speed in damage/tick."},{"name":"max","type":"float","defaultValue":"200.0","notes":"Maximum shield."},{"name":"cooldown","type":"float","defaultValue":"300.0","notes":"Cooldown after the shield is broken, in ticks."},{"name":"sides","type":"int","defaultValue":"6","notes":"Sides of shield polygon."},{"name":"rotation","type":"float","defaultValue":"0.0","notes":"Rotation of shield."},{"name":"breakSound","type":"Sound","defaultValue":"shieldBreakSmall","notes":""},{"name":"hitSound","type":"Sound","defaultValue":"shieldHit","notes":""},{"name":"hitSoundVolume","type":"float","defaultValue":"0.12","notes":""}]},{"type":"ForceProjector","extends":"Block","fields":[{"name":"timerUse","type":"int","defaultValue":"1","notes":""},{"name":"phaseUseTime","type":"float","defaultValue":"350.0","notes":""},{"name":"phaseRadiusBoost","type":"float","defaultValue":"80.0","notes":""},{"name":"phaseShieldBoost","type":"float","defaultValue":"400.0","notes":""},{"name":"radius","type":"float","defaultValue":"101.7","notes":""},{"name":"sides","type":"int","defaultValue":"6","notes":""},{"name":"shieldRotation","type":"float","defaultValue":"0.0","notes":""},{"name":"shieldHealth","type":"float","defaultValue":"700.0","notes":""},{"name":"cooldownNormal","type":"float","defaultValue":"1.75","notes":""},{"name":"cooldownLiquid","type":"float","defaultValue":"1.5","notes":""},{"name":"cooldownBrokenBase","type":"float","defaultValue":"0.35","notes":""},{"name":"coolantConsumption","type":"float","defaultValue":"0.1","notes":""},{"name":"consumeCoolant","type":"boolean","defaultValue":"true","notes":""},{"name":"crashDamageMultiplier","type":"float","defaultValue":"2.0","notes":""},{"name":"breakSound","type":"Sound","defaultValue":"shieldBreak","notes":""},{"name":"hitSound","type":"Sound","defaultValue":"shieldHit","notes":""},{"name":"hitSoundVolume","type":"float","defaultValue":"0.12","notes":""},{"name":"absorbEffect","type":"Effect","defaultValue":"absorb","notes":""},{"name":"shieldBreakEffect","type":"Effect","defaultValue":"shieldBreak","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"itemConsumer","type":"Consume","defaultValue":"null","notes":""},{"name":"coolantConsumer","type":"Consume","defaultValue":"mindustry.world.consumers.ConsumeCoolant@678c0310","notes":""}]},{"type":"Fracker","extends":"SolidPump","fields":[{"name":"itemUseTime","type":"float","defaultValue":"100.0","notes":""}]},{"type":"GenericCrafter","extends":"Block","fields":[{"name":"outputItem","type":"ItemStack","defaultValue":"null","notes":"Written to outputItems as a single-element array if outputItems is null."},{"name":"outputItems","type":"ItemStack[]","defaultValue":"null","notes":"Overwrites outputItem if not null."},{"name":"outputLiquid","type":"LiquidStack","defaultValue":"null","notes":"Written to outputLiquids as a single-element array if outputLiquids is null."},{"name":"outputLiquids","type":"LiquidStack[]","defaultValue":"null","notes":"Overwrites outputLiquid if not null."},{"name":"liquidOutputDirections","type":"int[]","defaultValue":"{ -1 }","notes":"Liquid output directions, specified in the same order as outputLiquids. Use -1 to dump in every direction. Rotations are relative to block."},{"name":"dumpExtraLiquid","type":"boolean","defaultValue":"true","notes":"if true, crafters with multiple liquid outputs will dump excess when there's still space for at least one liquid type"},{"name":"ignoreLiquidFullness","type":"boolean","defaultValue":"false","notes":""},{"name":"craftTime","type":"float","defaultValue":"80.0","notes":""},{"name":"craftEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"updateEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"updateEffectChance","type":"float","defaultValue":"0.04","notes":""},{"name":"updateEffectSpread","type":"float","defaultValue":"4.0","notes":""},{"name":"warmupSpeed","type":"float","defaultValue":"0.019","notes":""},{"name":"legacyReadWarmup","type":"boolean","defaultValue":"false","notes":"Only used for legacy cultivator blocks."},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawDefault()","notes":""}]},{"type":"HeatConductor","extends":"Block","fields":[{"name":"visualMaxHeat","type":"float","defaultValue":"15.0","notes":""},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawDefault()","notes":""},{"name":"splitHeat","type":"boolean","defaultValue":"false","notes":""}]},{"type":"HeatCrafter","extends":"GenericCrafter","fields":[{"name":"heatRequirement","type":"float","defaultValue":"10.0","notes":"Base heat requirement for 100% efficiency."},{"name":"overheatScale","type":"float","defaultValue":"1.0","notes":"After heat meets this requirement, excess heat will be scaled by this number."},{"name":"maxEfficiency","type":"float","defaultValue":"4.0","notes":"Maximum possible efficiency after overheat."}]},{"type":"HeaterGenerator","extends":"ConsumeGenerator","fields":[{"name":"heatOutput","type":"float","defaultValue":"10.0","notes":""},{"name":"warmupRate","type":"float","defaultValue":"0.15","notes":""}]},{"type":"HeatProducer","extends":"GenericCrafter","fields":[{"name":"heatOutput","type":"float","defaultValue":"10.0","notes":""},{"name":"warmupRate","type":"float","defaultValue":"0.15","notes":""}]},{"type":"ImpactReactor","extends":"PowerGenerator","fields":[{"name":"timerUse","type":"int","defaultValue":"1","notes":""},{"name":"warmupSpeed","type":"float","defaultValue":"0.001","notes":""},{"name":"itemDuration","type":"float","defaultValue":"60.0","notes":""}]},{"type":"Incinerator","extends":"Block","fields":[{"name":"effect","type":"Effect","defaultValue":"fuelburn","notes":""},{"name":"flameColor","type":"Color","defaultValue":"ffad9dff","notes":""}]},{"type":"Item","extends":"UnlockableContent","fields":[{"name":"color","type":"Color","defaultValue":"000000ff","notes":""},{"name":"explosiveness","type":"float","defaultValue":"0.0","notes":"how explosive this item is."},{"name":"flammability","type":"float","defaultValue":"0.0","notes":"flammability above 0.3 makes this eligible for item burners."},{"name":"radioactivity","type":"float","defaultValue":"0.0","notes":"how radioactive this item is."},{"name":"charge","type":"float","defaultValue":"0.0","notes":"how electrically potent this item is."},{"name":"hardness","type":"int","defaultValue":"0","notes":"drill hardness of the item"},{"name":"cost","type":"float","defaultValue":"1.0","notes":"base material cost of this item, used for calculating place times 1 cost = 1 tick added to build time"},{"name":"healthScaling","type":"float","defaultValue":"0.0","notes":"When this item is present in the build cost, a block's default health is multiplied by 1 + scaling, where 'scaling' is summed together for all item requirement types."},{"name":"lowPriority","type":"boolean","defaultValue":"false","notes":"if true, this item is of the lowest priority to drills."},{"name":"frames","type":"int","defaultValue":"0","notes":"If >0, this item is animated."},{"name":"transitionFrames","type":"int","defaultValue":"0","notes":"Number of generated transition frames between each frame"},{"name":"frameTime","type":"float","defaultValue":"5.0","notes":"Ticks in-between animation frames."},{"name":"buildable","type":"boolean","defaultValue":"true","notes":"If true, this material is used by buildings. If false, this material will be incinerated in certain cores."},{"name":"hidden","type":"boolean","defaultValue":"false","notes":""}]},{"type":"ItemBridge","extends":"Block","fields":[{"name":"timerCheckMoved","type":"int","defaultValue":"1","notes":""},{"name":"range","type":"int","defaultValue":"0","notes":""},{"name":"transportTime","type":"float","defaultValue":"0.0","notes":""},{"name":"endRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"bridgeRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"fadeIn","type":"boolean","defaultValue":"true","notes":""},{"name":"moveArrows","type":"boolean","defaultValue":"true","notes":""},{"name":"pulse","type":"boolean","defaultValue":"false","notes":""},{"name":"arrowSpacing","type":"float","defaultValue":"4.0","notes":""},{"name":"arrowOffset","type":"float","defaultValue":"2.0","notes":""},{"name":"arrowPeriod","type":"float","defaultValue":"0.4","notes":""},{"name":"arrowTimeScl","type":"float","defaultValue":"6.2","notes":""},{"name":"bridgeWidth","type":"float","defaultValue":"6.5","notes":""},{"name":"lastBuild","type":"ItemBridgeBuild","defaultValue":"null","notes":""}]},{"type":"ItemIncinerator","extends":"Block","fields":[{"name":"effect","type":"Effect","defaultValue":"incinerateSlag","notes":""},{"name":"effectChance","type":"float","defaultValue":"0.2","notes":""},{"name":"liquidRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"ItemSource","extends":"Block","fields":[{"name":"itemsPerSecond","type":"int","defaultValue":"100","notes":""}]},{"type":"ItemTurret","extends":"Turret","fields":[{"name":"ammoTypes","type":"ObjectMap of Item, BulletType","defaultValue":"new OrderedMap<>()","notes":""}]},{"type":"Junction","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"26.0","notes":""},{"name":"capacity","type":"int","defaultValue":"6","notes":""},{"name":"displayedSpeed","type":"float","defaultValue":"13.0","notes":""}]},{"type":"LandingPad","extends":"Block","fields":[{"name":"podRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrivalDuration","type":"float","defaultValue":"150.0","notes":""},{"name":"cooldownTime","type":"float","defaultValue":"150.0","notes":""},{"name":"consumeLiquidAmount","type":"float","defaultValue":"100.0","notes":""},{"name":"consumeLiquid","type":"Liquid","defaultValue":"water","notes":""},{"name":"landEffect","type":"Effect","defaultValue":"podLandShockwave","notes":""},{"name":"coolingEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"coolingEffectChance","type":"float","defaultValue":"0.2","notes":""},{"name":"liquidPad","type":"float","defaultValue":"2.0","notes":""},{"name":"bottomColor","type":"Color","defaultValue":"565666ff","notes":""},{"name":"landSoundVolume","type":"float","defaultValue":"0.75","notes":""},{"name":"landSound","type":"Sound","defaultValue":"padLand","notes":""}]},{"type":"LaserBoltBulletType","extends":"BasicBulletType","fields":[{"name":"width","type":"float","defaultValue":"2.0","notes":""},{"name":"height","type":"float","defaultValue":"7.0","notes":""}]},{"type":"LaserBulletType","extends":"BulletType","fields":[{"name":"colors","type":"Color[]","defaultValue":"[a9d8ff66, a9d8ffff, ffffffff]","notes":""},{"name":"laserEffect","type":"Effect","defaultValue":"lancerLaserShootSmoke","notes":""},{"name":"length","type":"float","defaultValue":"160.0","notes":""},{"name":"width","type":"float","defaultValue":"15.0","notes":""},{"name":"lengthFalloff","type":"float","defaultValue":"0.5","notes":""},{"name":"sideLength","type":"float","defaultValue":"29.0","notes":""},{"name":"sideWidth","type":"float","defaultValue":"0.7","notes":""},{"name":"sideAngle","type":"float","defaultValue":"90.0","notes":""},{"name":"lightningSpacing","type":"float","defaultValue":"-1.0","notes":""},{"name":"lightningDelay","type":"float","defaultValue":"0.1","notes":""},{"name":"lightningAngleRand","type":"float","defaultValue":"0.0","notes":""},{"name":"largeHit","type":"boolean","defaultValue":"false","notes":""}]},{"type":"LaserTurret","extends":"PowerTurret","fields":[{"name":"firingMoveFract","type":"float","defaultValue":"0.25","notes":""},{"name":"shootDuration","type":"float","defaultValue":"100.0","notes":""}]},{"type":"LaunchPad","extends":"Block","fields":[{"name":"launchTime","type":"float","defaultValue":"1.0","notes":"Time between launches."},{"name":"launchSoundPitchRand","type":"float","defaultValue":"0.1","notes":""},{"name":"launchSound","type":"Sound","defaultValue":"padLaunch","notes":""},{"name":"lightRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"podRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"previewRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"lightColor","type":"Color","defaultValue":"eab678ff","notes":""},{"name":"acceptMultipleItems","type":"boolean","defaultValue":"false","notes":""},{"name":"lightStep","type":"float","defaultValue":"1.0","notes":""},{"name":"lightSteps","type":"int","defaultValue":"3","notes":""},{"name":"liquidPad","type":"float","defaultValue":"2.0","notes":""},{"name":"drawLiquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"bottomColor","type":"Color","defaultValue":"565666ff","notes":""}]},{"type":"LightBlock","extends":"Block","fields":[{"name":"brightness","type":"float","defaultValue":"0.9","notes":""},{"name":"radius","type":"float","defaultValue":"200.0","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Liquid","extends":"UnlockableContent","fields":[{"name":"gas","type":"boolean","defaultValue":"false","notes":"If true, this fluid is treated as a gas (and does not create puddles)"},{"name":"color","type":"Color","defaultValue":"000000ff","notes":"Color used in pipes and on the ground."},{"name":"gasColor","type":"Color","defaultValue":"bfbfbfff","notes":"Color of this liquid in gas form."},{"name":"barColor","type":"Color","defaultValue":"null","notes":"Color used in bars."},{"name":"lightColor","type":"Color","defaultValue":"00000000","notes":"Color used to draw lights. Note that the alpha channel is used to dictate brightness."},{"name":"flammability","type":"float","defaultValue":"0.0","notes":"0-1, 0 is completely not flammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable."},{"name":"temperature","type":"float","defaultValue":"0.5","notes":"temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot"},{"name":"heatCapacity","type":"float","defaultValue":"0.5","notes":"how much heat this liquid can store. 0.4=water (decent), anything lower is probably less dense and bad at cooling."},{"name":"viscosity","type":"float","defaultValue":"0.5","notes":"how thick this liquid is. 0.5=water (relatively viscous), 1 would be something like tar (very slow)."},{"name":"explosiveness","type":"float","defaultValue":"0.0","notes":"how prone to exploding this liquid is, when heated. 0 = nothing, 1 = nuke"},{"name":"blockReactive","type":"boolean","defaultValue":"true","notes":"whether this fluid reacts in blocks at all (e.g. slag with water)"},{"name":"coolant","type":"boolean","defaultValue":"true","notes":"if false, this liquid cannot be a coolant"},{"name":"moveThroughBlocks","type":"boolean","defaultValue":"false","notes":"if true, this liquid can move through blocks as a puddle."},{"name":"incinerable","type":"boolean","defaultValue":"true","notes":"if true, this liquid can be incinerated in the incinerator block."},{"name":"effect","type":"StatusEffect","defaultValue":"none","notes":"The associated status effect."},{"name":"particleEffect","type":"Effect","defaultValue":"none","notes":"Effect shown in puddles."},{"name":"particleSpacing","type":"float","defaultValue":"60.0","notes":"Particle effect rate spacing in ticks."},{"name":"boilPoint","type":"float","defaultValue":"2.0","notes":"Temperature at which this liquid vaporizes. This isn't just boiling."},{"name":"capPuddles","type":"boolean","defaultValue":"true","notes":"If true, puddle size is capped."},{"name":"vaporEffect","type":"Effect","defaultValue":"vapor","notes":"Effect when this liquid vaporizes."},{"name":"hidden","type":"boolean","defaultValue":"false","notes":"If true, this liquid is hidden in most UI."},{"name":"canStayOn","type":"ObjectSet of Liquid","defaultValue":"new ObjectSet<>()","notes":"Liquids this puddle can stay on, e.g. oil on water."}]},{"type":"LiquidBlock","extends":"Block","fields":[{"name":"liquidRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"bottomRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"LiquidBulletType","extends":"BulletType","fields":[{"name":"liquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"puddleSize","type":"float","defaultValue":"6.0","notes":""},{"name":"orbSize","type":"float","defaultValue":"3.0","notes":""},{"name":"boilTime","type":"float","defaultValue":"5.0","notes":""}]},{"type":"LiquidExplodeAbility","extends":"Ability","fields":[{"name":"liquid","type":"Liquid","defaultValue":"water","notes":""},{"name":"amount","type":"float","defaultValue":"120.0","notes":""},{"name":"radAmountScale","type":"float","defaultValue":"5.0","notes":""},{"name":"radScale","type":"float","defaultValue":"1.0","notes":""},{"name":"noiseMag","type":"float","defaultValue":"6.5","notes":""},{"name":"noiseScl","type":"float","defaultValue":"5.0","notes":""}]},{"type":"LiquidRegenAbility","extends":"Ability","fields":[{"name":"liquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"slurpSpeed","type":"float","defaultValue":"5.0","notes":""},{"name":"regenPerSlurp","type":"float","defaultValue":"6.0","notes":""},{"name":"slurpEffectChance","type":"float","defaultValue":"0.4","notes":""},{"name":"slurpEffect","type":"Effect","defaultValue":"heal","notes":""}]},{"type":"LiquidRouter","extends":"LiquidBlock","fields":[{"name":"liquidPadding","type":"float","defaultValue":"0.0","notes":""}]},{"type":"LiquidSource","extends":"Block","fields":[{"name":"crossRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"bottomRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"LiquidTurret","extends":"Turret","fields":[{"name":"ammoTypes","type":"ObjectMap of Liquid, BulletType","defaultValue":"new ObjectMap<>()","notes":""},{"name":"extinguish","type":"boolean","defaultValue":"true","notes":""}]},{"type":"LogicBlock","extends":"Block","fields":[{"name":"maxInstructionScale","type":"int","defaultValue":"5","notes":""},{"name":"instructionsPerTick","type":"int","defaultValue":"1","notes":""},{"name":"maxInstructionsPerTick","type":"int","defaultValue":"40","notes":""},{"name":"range","type":"float","defaultValue":"80.0","notes":""}]},{"type":"LogicDisplay","extends":"Block","fields":[{"name":"maxSides","type":"int","defaultValue":"25","notes":""},{"name":"displaySize","type":"int","defaultValue":"64","notes":""},{"name":"scaleFactor","type":"float","defaultValue":"1.0","notes":""}]},{"type":"LongPowerNode","extends":"PowerNode","fields":[{"name":"glow","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowColor","type":"Color","defaultValue":"cbfd8172","notes":""},{"name":"glowScl","type":"float","defaultValue":"16.0","notes":""},{"name":"glowMag","type":"float","defaultValue":"0.6","notes":""}]},{"type":"MassDriver","extends":"Block","fields":[{"name":"range","type":"float","defaultValue":"0.0","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"5.0","notes":""},{"name":"translation","type":"float","defaultValue":"7.0","notes":""},{"name":"minDistribute","type":"int","defaultValue":"10","notes":""},{"name":"knockback","type":"float","defaultValue":"4.0","notes":""},{"name":"reload","type":"float","defaultValue":"100.0","notes":""},{"name":"bullet","type":"MassDriverBolt","defaultValue":"new MassDriverBolt()","notes":""},{"name":"bulletSpeed","type":"float","defaultValue":"5.5","notes":""},{"name":"bulletLifetime","type":"float","defaultValue":"200.0","notes":""},{"name":"shootEffect","type":"Effect","defaultValue":"shootBig2","notes":""},{"name":"smokeEffect","type":"Effect","defaultValue":"shootBigSmoke2","notes":""},{"name":"receiveEffect","type":"Effect","defaultValue":"mineBig","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"massdriver","notes":""},{"name":"receiveSound","type":"Sound","defaultValue":"massdriverReceive","notes":""},{"name":"shootSoundVolume","type":"float","defaultValue":"0.5","notes":""},{"name":"shake","type":"float","defaultValue":"3.0","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"MemoryBlock","extends":"Block","fields":[{"name":"memoryCapacity","type":"int","defaultValue":"32","notes":""}]},{"type":"MendProjector","extends":"Block","fields":[{"name":"timerUse","type":"int","defaultValue":"1","notes":""},{"name":"baseColor","type":"Color","defaultValue":"84f491ff","notes":""},{"name":"phaseColor","type":"Color","defaultValue":"84f491ff","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"reload","type":"float","defaultValue":"250.0","notes":""},{"name":"range","type":"float","defaultValue":"60.0","notes":""},{"name":"healPercent","type":"float","defaultValue":"12.0","notes":""},{"name":"phaseBoost","type":"float","defaultValue":"12.0","notes":""},{"name":"phaseRangeBoost","type":"float","defaultValue":"50.0","notes":""},{"name":"useTime","type":"float","defaultValue":"400.0","notes":""},{"name":"mendSound","type":"Sound","defaultValue":"healWave","notes":""},{"name":"mendSoundVolume","type":"float","defaultValue":"0.5","notes":""}]},{"type":"MessageBlock","extends":"Block","fields":[{"name":"maxTextLength","type":"int","defaultValue":"300","notes":""},{"name":"maxNewlines","type":"int","defaultValue":"24","notes":""}]},{"type":"MoveEffectAbility","extends":"Ability","fields":[{"name":"minVelocity","type":"float","defaultValue":"0.08","notes":""},{"name":"interval","type":"float","defaultValue":"3.0","notes":""},{"name":"chance","type":"float","defaultValue":"0.0","notes":""},{"name":"amount","type":"int","defaultValue":"1","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"rotation","type":"float","defaultValue":"0.0","notes":""},{"name":"rangeX","type":"float","defaultValue":"0.0","notes":""},{"name":"rangeY","type":"float","defaultValue":"0.0","notes":""},{"name":"rangeLengthMin","type":"float","defaultValue":"0.0","notes":""},{"name":"rangeLengthMax","type":"float","defaultValue":"0.0","notes":""},{"name":"rotateEffect","type":"boolean","defaultValue":"false","notes":""},{"name":"effectParam","type":"float","defaultValue":"3.0","notes":""},{"name":"teamColor","type":"boolean","defaultValue":"false","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"effect","type":"Effect","defaultValue":"missileTrail","notes":""}]},{"type":"MoveLightningAbility","extends":"Ability","fields":[{"name":"damage","type":"float","defaultValue":"35.0","notes":"Lightning damage"},{"name":"chance","type":"float","defaultValue":"0.15","notes":"Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed"},{"name":"length","type":"int","defaultValue":"12","notes":"Length of the lightning. <= 0 to disable"},{"name":"minSpeed","type":"float","defaultValue":"0.8","notes":"Speeds for when to start lightninging and when to stop getting faster"},{"name":"maxSpeed","type":"float","defaultValue":"1.2","notes":"Speeds for when to start lightninging and when to stop getting faster"},{"name":"color","type":"Color","defaultValue":"a9d8ffff","notes":"Lightning color"},{"name":"y","type":"float","defaultValue":"0.0","notes":"Shifts where the lightning spawns along the Y axis"},{"name":"x","type":"float","defaultValue":"0.0","notes":"Offset along the X axis"},{"name":"alternate","type":"boolean","defaultValue":"true","notes":"Whether the spawn side alternates"},{"name":"heatRegion","type":"String","defaultValue":"\"error\"","notes":"Jittering heat sprite like the shield on v5 Javelin"},{"name":"bullet","type":"BulletType","defaultValue":"null","notes":"Bullet type that is fired. Can be null"},{"name":"bulletAngle","type":"float","defaultValue":"0.0","notes":"Bullet angle parameters"},{"name":"bulletSpread","type":"float","defaultValue":"0.0","notes":"Bullet angle parameters"},{"name":"shootEffect","type":"Effect","defaultValue":"sparkShoot","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"shootArc","notes":""}]},{"type":"MultiBulletType","extends":"BulletType","fields":[{"name":"bullets","type":"BulletType[]","defaultValue":"[]","notes":""},{"name":"repeat","type":"int","defaultValue":"1","notes":"Amount of times the bullet array is repeated."}]},{"type":"MultiEffect","extends":"Effect","fields":[{"name":"effects","type":"Effect[]","defaultValue":"[]","notes":""}]},{"type":"NuclearReactor","extends":"PowerGenerator","fields":[{"name":"timerFuel","type":"int","defaultValue":"1","notes":""},{"name":"lightColor","type":"Color","defaultValue":"7f19eaff","notes":""},{"name":"coolColor","type":"Color","defaultValue":"ffffff00","notes":""},{"name":"hotColor","type":"Color","defaultValue":"ff9575a3","notes":""},{"name":"itemDuration","type":"float","defaultValue":"120.0","notes":"ticks to consume 1 fuel"},{"name":"heating","type":"float","defaultValue":"0.01","notes":"heating per frame * fullness"},{"name":"heatOutput","type":"float","defaultValue":"15.0","notes":"max heat this block can output"},{"name":"heatWarmupRate","type":"float","defaultValue":"1.0","notes":"rate at which heat progress increases"},{"name":"ambientCooldownTime","type":"float","defaultValue":"1200.0","notes":"time taken to cool down if no fuel is inputted even if coolant is not present"},{"name":"smokeThreshold","type":"float","defaultValue":"0.3","notes":"threshold at which block starts smoking"},{"name":"flashThreshold","type":"float","defaultValue":"0.46","notes":"heat threshold at which lights start flashing"},{"name":"coolantPower","type":"float","defaultValue":"0.5","notes":"heat removed per unit of coolant"},{"name":"fuelItem","type":"Item","defaultValue":"thorium","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"lightsRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"OverdriveProjector","extends":"Block","fields":[{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"reload","type":"float","defaultValue":"60.0","notes":""},{"name":"range","type":"float","defaultValue":"80.0","notes":""},{"name":"speedBoost","type":"float","defaultValue":"1.5","notes":""},{"name":"speedBoostPhase","type":"float","defaultValue":"0.75","notes":""},{"name":"useTime","type":"float","defaultValue":"400.0","notes":""},{"name":"phaseRangeBoost","type":"float","defaultValue":"20.0","notes":""},{"name":"hasBoost","type":"boolean","defaultValue":"true","notes":""},{"name":"baseColor","type":"Color","defaultValue":"feb380ff","notes":""},{"name":"phaseColor","type":"Color","defaultValue":"ffd59eff","notes":""}]},{"type":"OverflowDuct","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"5.0","notes":""},{"name":"invert","type":"boolean","defaultValue":"false","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"OverflowGate","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"1.0","notes":""},{"name":"invert","type":"boolean","defaultValue":"false","notes":""}]},{"type":"ParticleEffect","extends":"Effect","fields":[{"name":"colorFrom","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"colorTo","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"particles","type":"int","defaultValue":"6","notes":""},{"name":"randLength","type":"boolean","defaultValue":"true","notes":""},{"name":"casingFlip","type":"boolean","defaultValue":"false","notes":"Gives the effect flipping compatability like casing effects."},{"name":"cone","type":"float","defaultValue":"180.0","notes":""},{"name":"length","type":"float","defaultValue":"20.0","notes":""},{"name":"baseLength","type":"float","defaultValue":"0.0","notes":""},{"name":"interp","type":"Interp","defaultValue":"linear","notes":"Particle size/length/radius interpolation."},{"name":"sizeInterp","type":"Interp","defaultValue":"null","notes":"Particle size interpolation. Null to use interp."},{"name":"offsetX","type":"float","defaultValue":"0.0","notes":""},{"name":"offsetY","type":"float","defaultValue":"0.0","notes":""},{"name":"lightScl","type":"float","defaultValue":"2.0","notes":""},{"name":"lightOpacity","type":"float","defaultValue":"0.6","notes":""},{"name":"lightColor","type":"Color","defaultValue":"null","notes":""},{"name":"spin","type":"float","defaultValue":"0.0","notes":"Spin in degrees per tick."},{"name":"sizeFrom","type":"float","defaultValue":"2.0","notes":"Controls the initial and final sprite sizes."},{"name":"sizeTo","type":"float","defaultValue":"0.0","notes":"Controls the initial and final sprite sizes."},{"name":"sizeChangeStart","type":"float","defaultValue":"0.0","notes":"Controls the amount of ticks the effect waits before changing size."},{"name":"useRotation","type":"boolean","defaultValue":"true","notes":"Whether the rotation adds with the parent"},{"name":"offset","type":"float","defaultValue":"0.0","notes":"Rotation offset."},{"name":"region","type":"String","defaultValue":"\"circle\"","notes":"Sprite to draw."},{"name":"line","type":"boolean","defaultValue":"false","notes":""},{"name":"strokeFrom","type":"float","defaultValue":"2.0","notes":""},{"name":"strokeTo","type":"float","defaultValue":"0.0","notes":""},{"name":"lenFrom","type":"float","defaultValue":"4.0","notes":""},{"name":"lenTo","type":"float","defaultValue":"2.0","notes":""},{"name":"cap","type":"boolean","defaultValue":"true","notes":""}]},{"type":"ParticleWeather","extends":"Weather","fields":[{"name":"particleRegion","type":"String","defaultValue":"\"circle-shadow\"","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"yspeed","type":"float","defaultValue":"-2.0","notes":""},{"name":"xspeed","type":"float","defaultValue":"0.25","notes":""},{"name":"padding","type":"float","defaultValue":"16.0","notes":""},{"name":"sizeMin","type":"float","defaultValue":"2.4","notes":""},{"name":"sizeMax","type":"float","defaultValue":"12.0","notes":""},{"name":"density","type":"float","defaultValue":"1200.0","notes":""},{"name":"minAlpha","type":"float","defaultValue":"1.0","notes":""},{"name":"maxAlpha","type":"float","defaultValue":"1.0","notes":""},{"name":"force","type":"float","defaultValue":"0.0","notes":""},{"name":"noiseScale","type":"float","defaultValue":"2000.0","notes":""},{"name":"baseSpeed","type":"float","defaultValue":"6.1","notes":""},{"name":"sinSclMin","type":"float","defaultValue":"30.0","notes":""},{"name":"sinSclMax","type":"float","defaultValue":"80.0","notes":""},{"name":"sinMagMin","type":"float","defaultValue":"1.0","notes":""},{"name":"sinMagMax","type":"float","defaultValue":"7.0","notes":""},{"name":"noiseColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"drawNoise","type":"boolean","defaultValue":"false","notes":""},{"name":"drawParticles","type":"boolean","defaultValue":"true","notes":""},{"name":"useWindVector","type":"boolean","defaultValue":"false","notes":""},{"name":"randomParticleRotation","type":"boolean","defaultValue":"false","notes":""},{"name":"noiseLayers","type":"int","defaultValue":"1","notes":""},{"name":"noiseLayerSpeedM","type":"float","defaultValue":"1.1","notes":""},{"name":"noiseLayerAlphaM","type":"float","defaultValue":"0.8","notes":""},{"name":"noiseLayerSclM","type":"float","defaultValue":"0.99","notes":""},{"name":"noiseLayerColorM","type":"float","defaultValue":"1.0","notes":""},{"name":"noisePath","type":"String","defaultValue":"\"noiseAlpha\"","notes":""},{"name":"noise","type":"Texture","defaultValue":"null","notes":""}]},{"type":"PayloadAmmoTurret","extends":"Turret","fields":[{"name":"ammoTypes","type":"ObjectMap of UnlockableContent, BulletType","defaultValue":"new ObjectMap<>()","notes":""}]},{"type":"PayloadBlock","extends":"Block","fields":[{"name":"payloadSpeed","type":"float","defaultValue":"0.7","notes":""},{"name":"payloadRotateSpeed","type":"float","defaultValue":"5.0","notes":""},{"name":"regionSuffix","type":"String","defaultValue":"\"\"","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"outRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"inRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"PayloadConveyor","extends":"Block","fields":[{"name":"moveTime","type":"float","defaultValue":"45.0","notes":""},{"name":"moveForce","type":"float","defaultValue":"201.0","notes":""},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"edgeRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"interp","type":"Interp","defaultValue":"pow5","notes":""},{"name":"payloadLimit","type":"float","defaultValue":"3.0","notes":""},{"name":"pushUnits","type":"boolean","defaultValue":"true","notes":""}]},{"type":"PayloadDeconstructor","extends":"PayloadBlock","fields":[{"name":"maxPayloadSize","type":"float","defaultValue":"4.0","notes":""},{"name":"deconstructSpeed","type":"float","defaultValue":"2.5","notes":""},{"name":"dumpRate","type":"int","defaultValue":"4","notes":""}]},{"type":"PayloadLoader","extends":"PayloadBlock","fields":[{"name":"timerLoad","type":"int","defaultValue":"1","notes":""},{"name":"loadTime","type":"float","defaultValue":"2.0","notes":""},{"name":"itemsLoaded","type":"int","defaultValue":"8","notes":""},{"name":"liquidsLoaded","type":"float","defaultValue":"40.0","notes":""},{"name":"maxBlockSize","type":"int","defaultValue":"3","notes":""},{"name":"maxPowerConsumption","type":"float","defaultValue":"40.0","notes":""},{"name":"loadPowerDynamic","type":"boolean","defaultValue":"true","notes":""},{"name":"overRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"PayloadMassDriver","extends":"PayloadBlock","fields":[{"name":"range","type":"float","defaultValue":"100.0","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"5.0","notes":""},{"name":"length","type":"float","defaultValue":"11.125","notes":""},{"name":"knockback","type":"float","defaultValue":"5.0","notes":""},{"name":"reload","type":"float","defaultValue":"30.0","notes":""},{"name":"chargeTime","type":"float","defaultValue":"100.0","notes":""},{"name":"maxPayloadSize","type":"float","defaultValue":"3.0","notes":""},{"name":"grabWidth","type":"float","defaultValue":"8.0","notes":""},{"name":"grabHeight","type":"float","defaultValue":"2.75","notes":""},{"name":"shootEffect","type":"Effect","defaultValue":"shootBig2","notes":""},{"name":"smokeEffect","type":"Effect","defaultValue":"shootPayloadDriver","notes":""},{"name":"receiveEffect","type":"Effect","defaultValue":"payloadReceive","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"massdriver","notes":""},{"name":"receiveSound","type":"Sound","defaultValue":"massdriverReceive","notes":""},{"name":"shootSoundVolume","type":"float","defaultValue":"0.7","notes":""},{"name":"shake","type":"float","defaultValue":"3.0","notes":""},{"name":"transferEffect","type":"Effect","defaultValue":"flyingUnitLow - 1)","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"capRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"leftRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rightRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"capOutlineRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"leftOutlineRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rightOutlineRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"arrow","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"PayloadRouter","extends":"PayloadConveyor","fields":[{"name":"invert","type":"boolean","defaultValue":"false","notes":""},{"name":"overRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"PayloadUnloader","extends":"PayloadLoader","fields":[{"name":"offloadSpeed","type":"int","defaultValue":"4","notes":""},{"name":"maxPowerUnload","type":"float","defaultValue":"80.0","notes":""}]},{"type":"PayloadVoid","extends":"PayloadBlock","fields":[{"name":"incinerateEffect","type":"Effect","defaultValue":"blastExplosion","notes":""},{"name":"incinerateSound","type":"Sound","defaultValue":"unitExplode1","notes":""}]},{"type":"PointBulletType","extends":"BulletType","fields":[{"name":"trailSpacing","type":"float","defaultValue":"10.0","notes":""}]},{"type":"PointDefenseBulletWeapon","extends":"Weapon","fields":[{"name":"damageTargetWeight","type":"float","defaultValue":"10.0","notes":""}]},{"type":"PointDefenseTurret","extends":"ReloadTurret","fields":[{"name":"timerTarget","type":"int","defaultValue":"1","notes":""},{"name":"retargetTime","type":"float","defaultValue":"5.0","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"beamEffect","type":"Effect","defaultValue":"pointBeam","notes":""},{"name":"hitEffect","type":"Effect","defaultValue":"pointHit","notes":""},{"name":"shootEffect","type":"Effect","defaultValue":"sparkShoot","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"shootSegment","notes":""},{"name":"shootCone","type":"float","defaultValue":"5.0","notes":""},{"name":"bulletDamage","type":"float","defaultValue":"10.0","notes":""},{"name":"shootLength","type":"float","defaultValue":"3.0","notes":""}]},{"type":"PointDefenseWeapon","extends":"Weapon","fields":[{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"beamEffect","type":"Effect","defaultValue":"pointBeam","notes":""}]},{"type":"PointLaserBulletType","extends":"BulletType","fields":[{"name":"sprite","type":"String","defaultValue":"\"point-laser\"","notes":""},{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"beamEffect","type":"Effect","defaultValue":"colorTrail","notes":""},{"name":"beamEffectInterval","type":"float","defaultValue":"3.0","notes":""},{"name":"beamEffectSize","type":"float","defaultValue":"3.5","notes":""},{"name":"oscScl","type":"float","defaultValue":"2.0","notes":""},{"name":"oscMag","type":"float","defaultValue":"0.3","notes":""},{"name":"damageInterval","type":"float","defaultValue":"5.0","notes":""},{"name":"shake","type":"float","defaultValue":"0.0","notes":""}]},{"type":"PowerDiode","extends":"Block","fields":[{"name":"arrow","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"PowerGenerator","extends":"PowerDistributor","fields":[{"name":"powerProduction","type":"float","defaultValue":"0.0","notes":"The amount of power produced per tick in case of an efficiency of 1.0, which represents 100%."},{"name":"generationType","type":"Stat","defaultValue":"basePowerGeneration","notes":""},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawDefault()","notes":""},{"name":"explosionRadius","type":"int","defaultValue":"12","notes":""},{"name":"explosionDamage","type":"int","defaultValue":"0","notes":""},{"name":"explodeEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"explodeSound","type":"Sound","defaultValue":"none","notes":""},{"name":"explosionPuddles","type":"int","defaultValue":"10","notes":""},{"name":"explosionPuddleRange","type":"float","defaultValue":"16.0","notes":""},{"name":"explosionPuddleAmount","type":"float","defaultValue":"100.0","notes":""},{"name":"explosionPuddleLiquid","type":"Liquid","defaultValue":"null","notes":""},{"name":"explosionMinWarmup","type":"float","defaultValue":"0.0","notes":""},{"name":"explosionShake","type":"float","defaultValue":"0.0","notes":""},{"name":"explosionShakeDuration","type":"float","defaultValue":"6.0","notes":""}]},{"type":"PowerNode","extends":"PowerBlock","fields":[{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserRange","type":"float","defaultValue":"6.0","notes":""},{"name":"maxNodes","type":"int","defaultValue":"3","notes":""},{"name":"autolink","type":"boolean","defaultValue":"true","notes":""},{"name":"drawRange","type":"boolean","defaultValue":"true","notes":""},{"name":"sameBlockConnection","type":"boolean","defaultValue":"false","notes":""},{"name":"laserScale","type":"float","defaultValue":"0.25","notes":""},{"name":"powerLayer","type":"float","defaultValue":"70.0","notes":""},{"name":"laserColor1","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"laserColor2","type":"Color","defaultValue":"fbd367ff","notes":""}]},{"type":"PowerSource","extends":"PowerNode","fields":[{"name":"powerProduction","type":"float","defaultValue":"10000.0","notes":""}]},{"type":"PowerTurret","extends":"Turret","fields":[{"name":"shootType","type":"BulletType","defaultValue":"null","notes":""}]},{"type":"Prop","extends":"Block","fields":[{"name":"layer","type":"float","defaultValue":"32.0","notes":""}]},{"type":"Pump","extends":"LiquidBlock","fields":[{"name":"pumpAmount","type":"float","defaultValue":"0.2","notes":"Pump amount per tile."},{"name":"consumeTime","type":"float","defaultValue":"300.0","notes":"Interval in-between item consumptions, if applicable."},{"name":"warmupSpeed","type":"float","defaultValue":"0.019","notes":""},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawMulti(new DrawDefault(), new DrawPumpLiquid())","notes":""}]},{"type":"Radar","extends":"Block","fields":[{"name":"discoveryTime","type":"float","defaultValue":"600.0","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"2.0","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowColor","type":"Color","defaultValue":"ab3400ff","notes":""},{"name":"glowScl","type":"float","defaultValue":"5.0","notes":""},{"name":"glowMag","type":"float","defaultValue":"0.6","notes":""}]},{"type":"RadialEffect","extends":"Effect","fields":[{"name":"effect","type":"Effect","defaultValue":"none","notes":""},{"name":"rotationSpacing","type":"float","defaultValue":"90.0","notes":""},{"name":"rotationOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"effectRotationOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"lengthOffset","type":"float","defaultValue":"0.0","notes":""},{"name":"amount","type":"int","defaultValue":"4","notes":""}]},{"type":"RailBulletType","extends":"BulletType","fields":[{"name":"pierceEffect","type":"Effect","defaultValue":"hitBulletSmall","notes":""},{"name":"pointEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"lineEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"endEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"length","type":"float","defaultValue":"100.0","notes":""},{"name":"pointEffectSpace","type":"float","defaultValue":"20.0","notes":""}]},{"type":"RainWeather","extends":"Weather","fields":[{"name":"yspeed","type":"float","defaultValue":"5.0","notes":""},{"name":"xspeed","type":"float","defaultValue":"1.5","notes":""},{"name":"padding","type":"float","defaultValue":"16.0","notes":""},{"name":"density","type":"float","defaultValue":"1200.0","notes":""},{"name":"stroke","type":"float","defaultValue":"0.75","notes":""},{"name":"sizeMin","type":"float","defaultValue":"8.0","notes":""},{"name":"sizeMax","type":"float","defaultValue":"40.0","notes":""},{"name":"splashTimeScale","type":"float","defaultValue":"22.0","notes":""},{"name":"liquid","type":"Liquid","defaultValue":"water","notes":""},{"name":"splashes","type":"TextureRegion[]","defaultValue":"[null, null, null, null, null, null, null, null, null, null, null, null]","notes":""},{"name":"color","type":"Color","defaultValue":"7a95eaff","notes":""}]},{"type":"Reconstructor","extends":"UnitBlock","fields":[{"name":"constructTime","type":"float","defaultValue":"120.0","notes":""},{"name":"upgrades","type":"Seq of UnitType[]","defaultValue":"[]","notes":""},{"name":"capacities","type":"int[]","defaultValue":"[]","notes":""},{"name":"createSound","type":"Sound","defaultValue":"unitCreate","notes":""},{"name":"createSoundVolume","type":"float","defaultValue":"1.0","notes":""}]},{"type":"RegenAbility","extends":"Ability","fields":[{"name":"percentAmount","type":"float","defaultValue":"0.0","notes":"Amount healed as percent per tick."},{"name":"amount","type":"float","defaultValue":"0.0","notes":"Amount healed as a flat amount per tick."}]},{"type":"RegenProjector","extends":"Block","fields":[{"name":"range","type":"int","defaultValue":"14","notes":""},{"name":"healPercent","type":"float","defaultValue":"0.2","notes":""},{"name":"optionalMultiplier","type":"float","defaultValue":"2.0","notes":""},{"name":"optionalUseTime","type":"float","defaultValue":"480.0","notes":""},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawDefault()","notes":""},{"name":"effectChance","type":"float","defaultValue":"0.003","notes":""},{"name":"baseColor","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"effect","type":"Effect","defaultValue":"regenParticle","notes":""}]},{"type":"ReloadTurret","extends":"BaseTurret","fields":[{"name":"reload","type":"float","defaultValue":"10.0","notes":""}]},{"type":"RepairBeamWeapon","extends":"Weapon","fields":[{"name":"targetBuildings","type":"boolean","defaultValue":"false","notes":""},{"name":"targetUnits","type":"boolean","defaultValue":"true","notes":""},{"name":"repairSpeed","type":"float","defaultValue":"0.3","notes":""},{"name":"fractionRepairSpeed","type":"float","defaultValue":"0.0","notes":""},{"name":"beamWidth","type":"float","defaultValue":"1.0","notes":""},{"name":"pulseRadius","type":"float","defaultValue":"6.0","notes":""},{"name":"pulseStroke","type":"float","defaultValue":"2.0","notes":""},{"name":"widthSinMag","type":"float","defaultValue":"0.0","notes":""},{"name":"widthSinScl","type":"float","defaultValue":"4.0","notes":""},{"name":"recentDamageMultiplier","type":"float","defaultValue":"0.1","notes":""},{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserTop","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserTopEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserColor","type":"Color","defaultValue":"98ffa9ff","notes":""},{"name":"laserTopColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"healColor","type":"Color","defaultValue":"98ffa9ff","notes":""},{"name":"healEffect","type":"Effect","defaultValue":"healBlockFull","notes":""}]},{"type":"RepairFieldAbility","extends":"Ability","fields":[{"name":"amount","type":"float","defaultValue":"1.0","notes":""},{"name":"reload","type":"float","defaultValue":"100.0","notes":""},{"name":"range","type":"float","defaultValue":"60.0","notes":""},{"name":"healPercent","type":"float","defaultValue":"0.0","notes":""},{"name":"healEffect","type":"Effect","defaultValue":"heal","notes":""},{"name":"activeEffect","type":"Effect","defaultValue":"healWaveDynamic","notes":""},{"name":"sound","type":"Sound","defaultValue":"healWave","notes":""},{"name":"soundVolume","type":"float","defaultValue":"0.5","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""},{"name":"sameTypeHealMult","type":"float","defaultValue":"1.0","notes":"Multiplies healing to units of the same type by this amount."}]},{"type":"RepairTower","extends":"Block","fields":[{"name":"range","type":"float","defaultValue":"80.0","notes":""},{"name":"circleColor","type":"Color","defaultValue":"98ffa9ff","notes":""},{"name":"glowColor","type":"Color","defaultValue":"98ffa97f","notes":""},{"name":"circleSpeed","type":"float","defaultValue":"120.0","notes":""},{"name":"circleStroke","type":"float","defaultValue":"3.0","notes":""},{"name":"squareRad","type":"float","defaultValue":"3.0","notes":""},{"name":"squareSpinScl","type":"float","defaultValue":"0.8","notes":""},{"name":"glowMag","type":"float","defaultValue":"0.5","notes":""},{"name":"glowScl","type":"float","defaultValue":"8.0","notes":""},{"name":"healAmount","type":"float","defaultValue":"1.0","notes":""},{"name":"glow","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"RepairTurret","extends":"Block","fields":[{"name":"timerTarget","type":"int","defaultValue":"1","notes":""},{"name":"timerEffect","type":"int","defaultValue":"2","notes":""},{"name":"repairRadius","type":"float","defaultValue":"50.0","notes":""},{"name":"repairSpeed","type":"float","defaultValue":"0.3","notes":""},{"name":"powerUse","type":"float","defaultValue":"0.0","notes":""},{"name":"length","type":"float","defaultValue":"5.0","notes":""},{"name":"beamWidth","type":"float","defaultValue":"1.0","notes":""},{"name":"pulseRadius","type":"float","defaultValue":"6.0","notes":""},{"name":"pulseStroke","type":"float","defaultValue":"2.0","notes":""},{"name":"acceptCoolant","type":"boolean","defaultValue":"false","notes":""},{"name":"coolantUse","type":"float","defaultValue":"0.5","notes":""},{"name":"coolEffect","type":"Effect","defaultValue":"fuelburn","notes":"Effect displayed when coolant is used."},{"name":"coolantMultiplier","type":"float","defaultValue":"1.0","notes":"How much healing is increased by with heat capacity."},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserTop","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserTopEnd","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserColor","type":"Color","defaultValue":"98ffa9ff","notes":""},{"name":"laserTopColor","type":"Color","defaultValue":"ffffffff","notes":""}]},{"type":"Router","extends":"Block","fields":[{"name":"speed","type":"float","defaultValue":"8.0","notes":""}]},{"type":"RuneOverlay","extends":"OverlayFloor","fields":[{"name":"letterRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""}]},{"type":"SapBulletType","extends":"BulletType","fields":[{"name":"length","type":"float","defaultValue":"100.0","notes":""},{"name":"lengthRand","type":"float","defaultValue":"0.0","notes":""},{"name":"sapStrength","type":"float","defaultValue":"0.5","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"width","type":"float","defaultValue":"0.4","notes":""},{"name":"sprite","type":"String","defaultValue":"\"laser\"","notes":""},{"name":"laserRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEndRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"SeaBush","extends":"Prop","fields":[{"name":"botRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"centerRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"lobesMin","type":"int","defaultValue":"7","notes":""},{"name":"lobesMax","type":"int","defaultValue":"7","notes":""},{"name":"botAngle","type":"float","defaultValue":"60.0","notes":""},{"name":"origin","type":"float","defaultValue":"0.1","notes":""},{"name":"sclMin","type":"float","defaultValue":"30.0","notes":""},{"name":"sclMax","type":"float","defaultValue":"50.0","notes":""},{"name":"magMin","type":"float","defaultValue":"5.0","notes":""},{"name":"magMax","type":"float","defaultValue":"15.0","notes":""},{"name":"timeRange","type":"float","defaultValue":"40.0","notes":""},{"name":"spread","type":"float","defaultValue":"0.0","notes":""}]},{"type":"SectorPreset","extends":"UnlockableContent","fields":[{"name":"generator","type":"FileMapGenerator","defaultValue":"mindustry.maps.generators.FileMapGenerator@2dac4d04","notes":""},{"name":"planet","type":"Planet","defaultValue":"serpulo","notes":""},{"name":"sector","type":"Sector","defaultValue":"serpulo#5 (sectorName)","notes":""},{"name":"captureWave","type":"int","defaultValue":"0","notes":""},{"name":"rules","type":"Cons of Rules","defaultValue":"winWave = captureWave","notes":""},{"name":"difficulty","type":"float","defaultValue":"0.0","notes":"Difficulty, 0-10."},{"name":"startWaveTimeMultiplier","type":"float","defaultValue":"2.0","notes":""},{"name":"addStartingItems","type":"boolean","defaultValue":"false","notes":""},{"name":"noLighting","type":"boolean","defaultValue":"false","notes":""},{"name":"isLastSector","type":"boolean","defaultValue":"false","notes":"If true, this is the last sector in its planetary campaign."},{"name":"requireUnlock","type":"boolean","defaultValue":"true","notes":"If true, this sector must be unlocked before landing is permitted."},{"name":"showHidden","type":"boolean","defaultValue":"false","notes":"If true, the icon and name is shown, even when it's a 'hidden' always-unlocked sector. TODO: this field may be changed, not sure how it should work"},{"name":"showSectorLandInfo","type":"boolean","defaultValue":"true","notes":""},{"name":"overrideLaunchDefaults","type":"boolean","defaultValue":"false","notes":"If true, uses this sector's launch fields instead"},{"name":"allowLaunchSchematics","type":"boolean","defaultValue":"false","notes":"Whether to allow users to specify a custom launch schematic for this map."},{"name":"allowLaunchLoadout","type":"boolean","defaultValue":"false","notes":"Whether to allow users to specify the resources they take to this map."},{"name":"attackAfterWaves","type":"boolean","defaultValue":"false","notes":"If true, switches to attack mode after waves end."},{"name":"originalPosition","type":"int","defaultValue":"5","notes":"The original position of this sector; used for migration. Internal use for vanilla campaign only!"},{"name":"shieldSectors","type":"Seq of Sector","defaultValue":"[]","notes":"Sectors that prevent this sector from being landed on until they are completed."}]},{"type":"Separator","extends":"Block","fields":[{"name":"results","type":"ItemStack[]","defaultValue":"null","notes":""},{"name":"craftTime","type":"float","defaultValue":"0.0","notes":""},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawDefault()","notes":""}]},{"type":"SeqEffect","extends":"Effect","fields":[{"name":"effects","type":"Effect[]","defaultValue":"[]","notes":""}]},{"type":"ShallowLiquid","extends":"Floor","fields":[{"name":"liquidBase","type":"Floor","defaultValue":"null","notes":""},{"name":"floorBase","type":"Floor","defaultValue":"null","notes":""},{"name":"liquidOpacity","type":"float","defaultValue":"0.35","notes":""}]},{"type":"ShieldArcAbility","extends":"Ability","fields":[{"name":"radius","type":"float","defaultValue":"60.0","notes":"Shield radius."},{"name":"regen","type":"float","defaultValue":"0.1","notes":"Shield regen speed in damage/tick."},{"name":"max","type":"float","defaultValue":"200.0","notes":"Maximum shield."},{"name":"cooldown","type":"float","defaultValue":"300.0","notes":"Cooldown after the shield is broken, in ticks."},{"name":"angle","type":"float","defaultValue":"80.0","notes":"Angle of shield arc."},{"name":"angleOffset","type":"float","defaultValue":"0.0","notes":"Offset parameters for shield."},{"name":"x","type":"float","defaultValue":"0.0","notes":"Offset parameters for shield."},{"name":"y","type":"float","defaultValue":"0.0","notes":"Offset parameters for shield."},{"name":"whenShooting","type":"boolean","defaultValue":"true","notes":"If true, only activates when shooting."},{"name":"width","type":"float","defaultValue":"6.0","notes":"Width of shield line."},{"name":"chanceDeflect","type":"float","defaultValue":"-1.0","notes":"Bullet deflection chance. -1 to disable"},{"name":"reflectBuildingDamage","type":"float","defaultValue":"1.0","notes":"Multiplier for reflected bullet building damage. -1 to disable"},{"name":"reflectVel","type":"float","defaultValue":"1.0","notes":"Velocity multiplier for reflected bullets on the opposite axis. Negative values = concave, positive values = convex"},{"name":"reflectTime","type":"float","defaultValue":"0.5","notes":"Time multiplier for reflected bullets."},{"name":"deflectSound","type":"Sound","defaultValue":"none","notes":"Deflection sound."},{"name":"breakSound","type":"Sound","defaultValue":"shieldBreakSmall","notes":""},{"name":"hitSound","type":"Sound","defaultValue":"shieldHit","notes":""},{"name":"hitSoundVolume","type":"float","defaultValue":"0.12","notes":""},{"name":"missileUnitMultiplier","type":"float","defaultValue":"2.0","notes":"Multiplier for shield damage taken from missile units."},{"name":"drawArc","type":"boolean","defaultValue":"true","notes":"Whether to draw the arc line."},{"name":"region","type":"String","defaultValue":"null","notes":"If not null, will be drawn on top."},{"name":"color","type":"Color","defaultValue":"null","notes":"Color override of the shield. Uses unit shield colour by default."},{"name":"offsetRegion","type":"boolean","defaultValue":"false","notes":"If true, sprite position will be influenced by x/y."},{"name":"pushUnits","type":"boolean","defaultValue":"true","notes":"If true, enemy units are pushed out."},{"name":"pushEffect","type":"Effect","defaultValue":"circleColorSpark","notes":""}]},{"type":"ShieldRegenFieldAbility","extends":"Ability","fields":[{"name":"amount","type":"float","defaultValue":"1.0","notes":""},{"name":"max","type":"float","defaultValue":"100.0","notes":""},{"name":"reload","type":"float","defaultValue":"100.0","notes":""},{"name":"range","type":"float","defaultValue":"60.0","notes":""},{"name":"applyEffect","type":"Effect","defaultValue":"shieldApply","notes":""},{"name":"activeEffect","type":"Effect","defaultValue":"shieldWave","notes":""},{"name":"sound","type":"Sound","defaultValue":"shieldWave","notes":""},{"name":"soundVolume","type":"float","defaultValue":"0.7","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""}]},{"type":"ShieldWall","extends":"Wall","fields":[{"name":"shieldHealth","type":"float","defaultValue":"900.0","notes":""},{"name":"breakCooldown","type":"float","defaultValue":"600.0","notes":""},{"name":"regenSpeed","type":"float","defaultValue":"2.0","notes":""},{"name":"glowColor","type":"Color","defaultValue":"ff75317f","notes":""},{"name":"glowMag","type":"float","defaultValue":"0.6","notes":""},{"name":"glowScl","type":"float","defaultValue":"8.0","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"ShockMine","extends":"Block","fields":[{"name":"timerDamage","type":"int","defaultValue":"1","notes":""},{"name":"cooldown","type":"float","defaultValue":"80.0","notes":""},{"name":"tileDamage","type":"float","defaultValue":"5.0","notes":""},{"name":"damage","type":"float","defaultValue":"13.0","notes":""},{"name":"length","type":"int","defaultValue":"10","notes":""},{"name":"tendrils","type":"int","defaultValue":"6","notes":""},{"name":"lightningColor","type":"Color","defaultValue":"a9d8ffff","notes":""},{"name":"shots","type":"int","defaultValue":"6","notes":""},{"name":"inaccuracy","type":"float","defaultValue":"0.0","notes":""},{"name":"bullet","type":"BulletType","defaultValue":"null","notes":""},{"name":"teamAlpha","type":"float","defaultValue":"0.3","notes":""},{"name":"teamRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"ShockwaveTower","extends":"Block","fields":[{"name":"timerCheck","type":"int","defaultValue":"1","notes":""},{"name":"range","type":"float","defaultValue":"110.0","notes":""},{"name":"reload","type":"float","defaultValue":"90.0","notes":""},{"name":"bulletDamage","type":"float","defaultValue":"160.0","notes":""},{"name":"falloffCount","type":"float","defaultValue":"20.0","notes":""},{"name":"shake","type":"float","defaultValue":"2.0","notes":""},{"name":"checkInterval","type":"float","defaultValue":"8.0","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"shockwaveTower","notes":""},{"name":"waveColor","type":"Color","defaultValue":"ffd37fff","notes":""},{"name":"heatColor","type":"Color","defaultValue":"ab3400ff","notes":""},{"name":"shapeColor","type":"Color","defaultValue":"f29c83ff","notes":""},{"name":"cooldownMultiplier","type":"float","defaultValue":"1.0","notes":""},{"name":"hitEffect","type":"Effect","defaultValue":"hitSquaresColor","notes":""},{"name":"waveEffect","type":"Effect","defaultValue":"pointShockwave","notes":""},{"name":"shapeRotateSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"shapeRadius","type":"float","defaultValue":"6.0","notes":""},{"name":"shapeSides","type":"int","defaultValue":"4","notes":""},{"name":"heatRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"ShrapnelBulletType","extends":"BulletType","fields":[{"name":"length","type":"float","defaultValue":"100.0","notes":""},{"name":"width","type":"float","defaultValue":"20.0","notes":""},{"name":"fromColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"toColor","type":"Color","defaultValue":"a9d8ffff","notes":""},{"name":"hitLarge","type":"boolean","defaultValue":"false","notes":""},{"name":"serrations","type":"int","defaultValue":"7","notes":""},{"name":"serrationLenScl","type":"float","defaultValue":"10.0","notes":""},{"name":"serrationWidth","type":"float","defaultValue":"4.0","notes":""},{"name":"serrationSpacing","type":"float","defaultValue":"8.0","notes":""},{"name":"serrationSpaceOffset","type":"float","defaultValue":"80.0","notes":""},{"name":"serrationFadeOffset","type":"float","defaultValue":"0.5","notes":""}]},{"type":"SingleBlockProducer","extends":"BlockProducer","fields":[{"name":"result","type":"Block","defaultValue":"router","notes":""}]},{"type":"SolidPump","extends":"Pump","fields":[{"name":"result","type":"Liquid","defaultValue":"water","notes":""},{"name":"updateEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"updateEffectChance","type":"float","defaultValue":"0.02","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"baseEfficiency","type":"float","defaultValue":"1.0","notes":""},{"name":"attribute","type":"Attribute","defaultValue":"null","notes":"Attribute that is checked when calculating output."},{"name":"rotatorRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Sorter","extends":"Block","fields":[{"name":"cross","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"invert","type":"boolean","defaultValue":"false","notes":""}]},{"type":"SoundEffect","extends":"Effect","fields":[{"name":"sound","type":"Sound","defaultValue":"none","notes":""},{"name":"minPitch","type":"float","defaultValue":"0.8","notes":""},{"name":"maxPitch","type":"float","defaultValue":"1.2","notes":""},{"name":"minVolume","type":"float","defaultValue":"1.0","notes":""},{"name":"maxVolume","type":"float","defaultValue":"1.0","notes":""},{"name":"effect","type":"Effect","defaultValue":"null","notes":""}]},{"type":"SpaceLiquidBulletType","extends":"BulletType","fields":[{"name":"orbSize","type":"float","defaultValue":"5.5","notes":""}]},{"type":"SpawnDeathAbility","extends":"Ability","fields":[{"name":"unit","type":"UnitType","defaultValue":"null","notes":""},{"name":"amount","type":"int","defaultValue":"1","notes":""},{"name":"randAmount","type":"int","defaultValue":"0","notes":""},{"name":"spread","type":"float","defaultValue":"8.0","notes":"Random spread of units away from the spawned."},{"name":"faceOutwards","type":"boolean","defaultValue":"true","notes":"If true, units spawned face outwards from the middle."}]},{"type":"StackConveyor","extends":"Block","fields":[{"name":"regions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"edgeRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"stackRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":"requires power to work properly"},{"name":"edgeGlowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowAlpha","type":"float","defaultValue":"1.0","notes":""},{"name":"glowColor","type":"Color","defaultValue":"feb380ff","notes":""},{"name":"baseEfficiency","type":"float","defaultValue":"0.0","notes":""},{"name":"speed","type":"float","defaultValue":"0.0","notes":""},{"name":"outputRouter","type":"boolean","defaultValue":"true","notes":""},{"name":"recharge","type":"float","defaultValue":"2.0","notes":"(minimum) amount of loading docks needed to fill a line."},{"name":"loadEffect","type":"Effect","defaultValue":"conveyorPoof","notes":""},{"name":"unloadEffect","type":"Effect","defaultValue":"conveyorPoof","notes":""}]},{"type":"StackRouter","extends":"DuctRouter","fields":[{"name":"baseEfficiency","type":"float","defaultValue":"0.0","notes":""},{"name":"glowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"glowAlpha","type":"float","defaultValue":"1.0","notes":""},{"name":"glowColor","type":"Color","defaultValue":"feb380ff","notes":""}]},{"type":"StaticWall","extends":"Prop","fields":[{"name":"large","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"split","type":"TextureRegion[][]","defaultValue":"null","notes":""},{"name":"autotile","type":"boolean","defaultValue":"false","notes":"If true, this wall uses autotiling; variants are not supported. See https://github.com/GglLfr/tile-gen"},{"name":"autotileMidVariants","type":"int","defaultValue":"1","notes":"If >1, the middle region of the autotile has random variants."}]},{"type":"StatusEffect","extends":"UnlockableContent","fields":[{"name":"damageMultiplier","type":"float","defaultValue":"1.0","notes":"Damage dealt by the unit with the effect."},{"name":"healthMultiplier","type":"float","defaultValue":"1.0","notes":"Unit health multiplier."},{"name":"speedMultiplier","type":"float","defaultValue":"1.0","notes":"Unit speed multiplier."},{"name":"reloadMultiplier","type":"float","defaultValue":"1.0","notes":"Unit reload multiplier."},{"name":"buildSpeedMultiplier","type":"float","defaultValue":"1.0","notes":"Unit build speed multiplier."},{"name":"dragMultiplier","type":"float","defaultValue":"1.0","notes":"Unit drag multiplier."},{"name":"transitionDamage","type":"float","defaultValue":"0.0","notes":"Damage dealt upon transition to an affinity."},{"name":"disarm","type":"boolean","defaultValue":"false","notes":"Unit weapon(s) disabled."},{"name":"damage","type":"float","defaultValue":"0.0","notes":"Damage per frame."},{"name":"intervalDamageTime","type":"float","defaultValue":"0.0","notes":"Spacing (in ticks) between interval damage. <=0 to disable."},{"name":"intervalDamage","type":"float","defaultValue":"0.0","notes":"Damage dealt by interval damage."},{"name":"intervalDamagePierce","type":"boolean","defaultValue":"false","notes":"If true, interval damage is armor piercing."},{"name":"effectChance","type":"float","defaultValue":"0.15","notes":"Chance of effect appearing."},{"name":"parentizeEffect","type":"boolean","defaultValue":"false","notes":"Should the effect be given a parent."},{"name":"permanent","type":"boolean","defaultValue":"false","notes":"If true, the effect never disappears."},{"name":"reactive","type":"boolean","defaultValue":"false","notes":"If true, this effect will only react with other effects and cannot be applied."},{"name":"dynamic","type":"boolean","defaultValue":"false","notes":"Special flag for the dynamic effect type with custom stats - do not use."},{"name":"show","type":"boolean","defaultValue":"true","notes":"Whether to show this effect in the database."},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":"Tint color of effect."},{"name":"effect","type":"Effect","defaultValue":"none","notes":"Effect that happens randomly on top of the affected unit."},{"name":"applyEffect","type":"Effect","defaultValue":"none","notes":"Effect that is displayed once when applied to a unit."},{"name":"applyExtend","type":"boolean","defaultValue":"false","notes":"Whether the apply effect should display even if effect is already on the unit."},{"name":"applyColor","type":"Color","defaultValue":"ffffffff","notes":"Tint color of apply effect."},{"name":"parentizeApplyEffect","type":"boolean","defaultValue":"false","notes":"Should the apply effect be given a parent."},{"name":"affinities","type":"ObjectSet of StatusEffect","defaultValue":"new ObjectSet<>()","notes":"Affinity & opposite values for stat displays."},{"name":"opposites","type":"ObjectSet of StatusEffect","defaultValue":"new ObjectSet<>()","notes":"Affinity & opposite values for stat displays."},{"name":"outline","type":"boolean","defaultValue":"true","notes":"Set to false to disable outline generation."}]},{"type":"StatusFieldAbility","extends":"Ability","fields":[{"name":"effect","type":"StatusEffect","defaultValue":"null","notes":""},{"name":"duration","type":"float","defaultValue":"60.0","notes":""},{"name":"reload","type":"float","defaultValue":"100.0","notes":""},{"name":"range","type":"float","defaultValue":"20.0","notes":""},{"name":"onShoot","type":"boolean","defaultValue":"false","notes":""},{"name":"applyEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"activeEffect","type":"Effect","defaultValue":"overdriveWave","notes":""},{"name":"effectX","type":"float","defaultValue":"0.0","notes":""},{"name":"effectY","type":"float","defaultValue":"0.0","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""},{"name":"effectSizeParam","type":"boolean","defaultValue":"true","notes":""},{"name":"color","type":"Color","defaultValue":"ffd37fff","notes":""}]},{"type":"SteamVent","extends":"Floor","fields":[{"name":"parent","type":"Block","defaultValue":"air","notes":""},{"name":"effect","type":"Effect","defaultValue":"ventSteam","notes":""},{"name":"effectColor","type":"Color","defaultValue":"6b4e4eff","notes":""},{"name":"effectSpacing","type":"float","defaultValue":"15.0","notes":""}]},{"type":"StorageBlock","extends":"Block","fields":[{"name":"coreMerge","type":"boolean","defaultValue":"true","notes":""}]},{"type":"SuppressionFieldAbility","extends":"Ability","fields":[{"name":"reload","type":"float","defaultValue":"90.0","notes":""},{"name":"maxDelay","type":"float","defaultValue":"90.0","notes":""},{"name":"range","type":"float","defaultValue":"200.0","notes":""},{"name":"orbRadius","type":"float","defaultValue":"4.1","notes":""},{"name":"orbMidScl","type":"float","defaultValue":"0.33","notes":""},{"name":"orbSinScl","type":"float","defaultValue":"8.0","notes":""},{"name":"orbSinMag","type":"float","defaultValue":"1.0","notes":""},{"name":"color","type":"Color","defaultValue":"a393feff","notes":""},{"name":"layer","type":"float","defaultValue":"110.0","notes":""},{"name":"x","type":"float","defaultValue":"0.0","notes":""},{"name":"y","type":"float","defaultValue":"0.0","notes":""},{"name":"particles","type":"int","defaultValue":"15","notes":""},{"name":"particleSize","type":"float","defaultValue":"4.0","notes":""},{"name":"particleLen","type":"float","defaultValue":"7.0","notes":""},{"name":"rotateScl","type":"float","defaultValue":"3.0","notes":""},{"name":"particleLife","type":"float","defaultValue":"110.0","notes":""},{"name":"active","type":"boolean","defaultValue":"true","notes":""},{"name":"particleInterp","type":"Interp","defaultValue":"apply(f))","notes":""},{"name":"particleColor","type":"Color","defaultValue":"665c9fff","notes":""},{"name":"effectColor","type":"Color","defaultValue":"bf92f9ff","notes":""},{"name":"applyParticleChance","type":"float","defaultValue":"13.0","notes":""}]},{"type":"SwitchBlock","extends":"Block","fields":[{"name":"clickSound","type":"Sound","defaultValue":"click","notes":""},{"name":"onRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"TallBlock","extends":"Block","fields":[{"name":"shadowOffset","type":"float","defaultValue":"-3.0","notes":""},{"name":"layer","type":"float","defaultValue":"71.0","notes":""},{"name":"shadowLayer","type":"float","defaultValue":"69.0","notes":""},{"name":"rotationRand","type":"float","defaultValue":"20.0","notes":""},{"name":"shadowAlpha","type":"float","defaultValue":"0.6","notes":""}]},{"type":"ThermalGenerator","extends":"PowerGenerator","fields":[{"name":"generateEffect","type":"Effect","defaultValue":"none","notes":""},{"name":"effectChance","type":"float","defaultValue":"0.05","notes":""},{"name":"minEfficiency","type":"float","defaultValue":"0.0","notes":""},{"name":"displayEfficiencyScale","type":"float","defaultValue":"1.0","notes":""},{"name":"displayEfficiency","type":"boolean","defaultValue":"true","notes":""},{"name":"outputLiquid","type":"LiquidStack","defaultValue":"null","notes":""},{"name":"attribute","type":"Attribute","defaultValue":"heat","notes":""}]},{"type":"Thruster","extends":"Wall","fields":[{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"TileableLogicDisplay","extends":"LogicDisplay","fields":[{"name":"maxDisplayDimensions","type":"int","defaultValue":"16","notes":""},{"name":"tileRegion","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"backRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"frameSize","type":"int","defaultValue":"6","notes":""}]},{"type":"TiledFloor","extends":"Floor","fields":[{"name":"sizedRegions","type":"TextureRegion[][][][]","defaultValue":"null","notes":""},{"name":"maxSize","type":"int","defaultValue":"3","notes":""}]},{"type":"TiledWall","extends":"StaticWall","fields":[{"name":"sizedRegions","type":"TextureRegion[][][][]","defaultValue":"null","notes":""},{"name":"maxSize","type":"int","defaultValue":"3","notes":""}]},{"type":"TractorBeamTurret","extends":"BaseTurret","fields":[{"name":"timerTarget","type":"int","defaultValue":"1","notes":""},{"name":"retargetTime","type":"float","defaultValue":"5.0","notes":""},{"name":"shootCone","type":"float","defaultValue":"6.0","notes":""},{"name":"shootLength","type":"float","defaultValue":"5.0","notes":""},{"name":"laserWidth","type":"float","defaultValue":"0.6","notes":""},{"name":"force","type":"float","defaultValue":"0.3","notes":""},{"name":"scaledForce","type":"float","defaultValue":"0.0","notes":""},{"name":"damage","type":"float","defaultValue":"0.0","notes":""},{"name":"targetAir","type":"boolean","defaultValue":"true","notes":""},{"name":"targetGround","type":"boolean","defaultValue":"false","notes":""},{"name":"laserColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"status","type":"StatusEffect","defaultValue":"none","notes":""},{"name":"statusDuration","type":"float","defaultValue":"300.0","notes":""},{"name":"shootSound","type":"Sound","defaultValue":"beamParallax","notes":""},{"name":"shootSoundVolume","type":"float","defaultValue":"0.9","notes":""},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laser","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserStart","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"laserEnd","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"TreeBlock","extends":"Block","fields":[{"name":"shadowOffset","type":"float","defaultValue":"-4.0","notes":""},{"name":"shadow","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Turret","extends":"ReloadTurret","fields":[{"name":"timerTarget","type":"int","defaultValue":"1","notes":""},{"name":"targetInterval","type":"float","defaultValue":"20.0","notes":"Ticks between attempt at finding a target."},{"name":"newTargetInterval","type":"float","defaultValue":"-1.0","notes":"Target interval for when this turret already has a valid target. -1 = targetInterval"},{"name":"maxAmmo","type":"int","defaultValue":"30","notes":"Maximum ammo units stored."},{"name":"ammoPerShot","type":"int","defaultValue":"1","notes":"Ammo units used per shot."},{"name":"consumeAmmoOnce","type":"boolean","defaultValue":"true","notes":"If true, ammo is only consumed once per shot regardless of bullet count."},{"name":"heatRequirement","type":"float","defaultValue":"-1.0","notes":"Minimum input heat required to fire."},{"name":"maxHeatEfficiency","type":"float","defaultValue":"3.0","notes":"Maximum efficiency possible, if this turret uses heat."},{"name":"inaccuracy","type":"float","defaultValue":"0.0","notes":"Bullet angle randomness in degrees."},{"name":"velocityRnd","type":"float","defaultValue":"0.0","notes":"Fraction of bullet velocity that is random."},{"name":"scaleLifetimeOffset","type":"float","defaultValue":"0.0","notes":"Fraction of lifetime that is added to bullets with lifeScale."},{"name":"shootCone","type":"float","defaultValue":"8.0","notes":"Maximum angle difference in degrees at which turret will still try to shoot."},{"name":"shootX","type":"float","defaultValue":"0.0","notes":"Turret shoot point."},{"name":"shootY","type":"float","defaultValue":"-Infinity","notes":"Turret shoot point."},{"name":"xRand","type":"float","defaultValue":"0.0","notes":"Random spread on the X axis."},{"name":"drawMinRange","type":"boolean","defaultValue":"false","notes":"If true, a range ring is also drawn for minRange."},{"name":"trackingRange","type":"float","defaultValue":"0.0","notes":"Range at which it finds and locks on to the target, but does not shoot."},{"name":"minRange","type":"float","defaultValue":"0.0","notes":"Minimum bullet range. Used for artillery only."},{"name":"minWarmup","type":"float","defaultValue":"0.0","notes":"Minimum warmup needed to fire."},{"name":"accurateDelay","type":"boolean","defaultValue":"true","notes":"If true, this turret will accurately target moving targets with respect to shoot.firstShotDelay."},{"name":"moveWhileCharging","type":"boolean","defaultValue":"true","notes":"If false, this turret can't move while charging."},{"name":"reloadWhileCharging","type":"boolean","defaultValue":"true","notes":"If false, this turret can't reload while charging"},{"name":"warmupMaintainTime","type":"float","defaultValue":"0.0","notes":"How long warmup is maintained even if this turret isn't shooting."},{"name":"shoot","type":"ShootPattern","defaultValue":"new ShootPattern()","notes":"pattern used for bullets"},{"name":"targetAir","type":"boolean","defaultValue":"true","notes":"If true, this block targets air units."},{"name":"targetGround","type":"boolean","defaultValue":"true","notes":"If true, this block targets ground units and structures."},{"name":"targetBlocks","type":"boolean","defaultValue":"true","notes":"If true, this block targets blocks."},{"name":"targetHealing","type":"boolean","defaultValue":"false","notes":"If true, this block targets friend blocks, to heal them."},{"name":"playerControllable","type":"boolean","defaultValue":"true","notes":"If true, this turret can be controlled by players."},{"name":"displayAmmoMultiplier","type":"boolean","defaultValue":"true","notes":"If true, this block will display ammo multipliers in its stats (irrelevant for certain types of turrets)."},{"name":"targetUnderBlocks","type":"boolean","defaultValue":"true","notes":"If false, 'under' blocks like conveyors are not targeted."},{"name":"alwaysShooting","type":"boolean","defaultValue":"false","notes":"If true, the turret will always shoot when it has ammo, regardless of targets in range or any control."},{"name":"predictTarget","type":"boolean","defaultValue":"true","notes":"Whether this turret predicts unit movement."},{"name":"unitSort","type":"Sortf","defaultValue":"closest","notes":"Function for choosing which unit to target."},{"name":"unitFilter","type":"Boolf of Unit","defaultValue":"{code}","notes":"Filter for types of units to attack."},{"name":"buildingFilter","type":"Boolf of Building","defaultValue":"underBullets","notes":"Filter for types of buildings to attack."},{"name":"heatColor","type":"Color","defaultValue":"ab3400ff","notes":"Color of heat region drawn on top (if found)"},{"name":"shootEffect","type":"Effect","defaultValue":"null","notes":"Optional override for all shoot effects."},{"name":"smokeEffect","type":"Effect","defaultValue":"null","notes":"Optional override for all smoke effects."},{"name":"ammoUseEffect","type":"Effect","defaultValue":"none","notes":"Effect created when ammo is used. Not optional."},{"name":"shootSound","type":"Sound","defaultValue":"shootDuo","notes":"Sound emitted when a single bullet is shot."},{"name":"shootSoundVolume","type":"float","defaultValue":"1.0","notes":"Volume of shooting sound."},{"name":"chargeSound","type":"Sound","defaultValue":"none","notes":"Sound emitted when shoot.firstShotDelay is >0 and shooting begins."},{"name":"loopSound","type":"Sound","defaultValue":"none","notes":"The sound that this block makes while active. One sound loop. Do not overuse."},{"name":"loopSoundVolume","type":"float","defaultValue":"0.5","notes":"Active sound base volume."},{"name":"soundPitchMin","type":"float","defaultValue":"0.9","notes":"Range for pitch of shoot sound."},{"name":"soundPitchMax","type":"float","defaultValue":"1.1","notes":"Range for pitch of shoot sound."},{"name":"ammoEjectBack","type":"float","defaultValue":"1.0","notes":"Backwards Y offset of ammo eject effect."},{"name":"shootWarmupSpeed","type":"float","defaultValue":"0.1","notes":"Lerp speed of turret warmup."},{"name":"linearWarmup","type":"boolean","defaultValue":"false","notes":"If true, turret warmup is linear instead of a curve."},{"name":"recoil","type":"float","defaultValue":"1.0","notes":"Visual amount by which the turret recoils back per shot."},{"name":"recoils","type":"int","defaultValue":"-1","notes":"Number of additional counters for recoil."},{"name":"recoilTime","type":"float","defaultValue":"-1.0","notes":"ticks taken for turret to return to starting position in ticks. uses reload time by default"},{"name":"recoilPow","type":"float","defaultValue":"1.8","notes":"power curve applied to visual recoil"},{"name":"cooldownTime","type":"float","defaultValue":"20.0","notes":"ticks to cool down the heat region"},{"name":"elevation","type":"float","defaultValue":"-1.0","notes":"Visual elevation of turret shadow, -1 to use defaults."},{"name":"shake","type":"float","defaultValue":"0.0","notes":"How much the screen shakes per shot."},{"name":"drawer","type":"DrawBlock","defaultValue":"new DrawTurret()","notes":"Defines drawing behavior for this turret."}]},{"type":"UnitAssembler","extends":"PayloadBlock","fields":[{"name":"sideRegion1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"sideRegion2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"areaSize","type":"int","defaultValue":"11","notes":""},{"name":"droneType","type":"UnitType","defaultValue":"assemblyDrone","notes":""},{"name":"dronesCreated","type":"int","defaultValue":"4","notes":""},{"name":"droneConstructTime","type":"float","defaultValue":"240.0","notes":""},{"name":"capacities","type":"int[]","defaultValue":"[]","notes":""},{"name":"plans","type":"Seq of AssemblerUnitPlan","defaultValue":"[]","notes":""},{"name":"createSound","type":"Sound","defaultValue":"unitCreateBig","notes":""},{"name":"createSoundVolume","type":"float","defaultValue":"1.0","notes":""}]},{"type":"UnitAssemblerModule","extends":"PayloadBlock","fields":[{"name":"sideRegion1","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"sideRegion2","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"tier","type":"int","defaultValue":"1","notes":""}]},{"type":"UnitCargoLoader","extends":"Block","fields":[{"name":"unitType","type":"UnitType","defaultValue":"manifold","notes":""},{"name":"unitBuildTime","type":"float","defaultValue":"480.0","notes":""},{"name":"polyStroke","type":"float","defaultValue":"1.8","notes":""},{"name":"polyRadius","type":"float","defaultValue":"8.0","notes":""},{"name":"polySides","type":"int","defaultValue":"6","notes":""},{"name":"polyRotateSpeed","type":"float","defaultValue":"1.0","notes":""},{"name":"polyColor","type":"Color","defaultValue":"ffd37fff","notes":""}]},{"type":"UnitCargoUnloadPoint","extends":"Block","fields":[{"name":"staleTimeDuration","type":"float","defaultValue":"360.0","notes":"If a block is full for this amount of time, it will not be flown to anymore."},{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"UnitFactory","extends":"UnitBlock","fields":[{"name":"capacities","type":"int[]","defaultValue":"[]","notes":""},{"name":"plans","type":"Seq of UnitPlan","defaultValue":"[]","notes":""},{"name":"createSound","type":"Sound","defaultValue":"unitCreate","notes":""},{"name":"createSoundVolume","type":"float","defaultValue":"1.0","notes":""}]},{"type":"UnitSpawnAbility","extends":"Ability","fields":[{"name":"unit","type":"UnitType","defaultValue":"null","notes":""},{"name":"spawnTime","type":"float","defaultValue":"60.0","notes":""},{"name":"spawnX","type":"float","defaultValue":"0.0","notes":""},{"name":"spawnY","type":"float","defaultValue":"0.0","notes":""},{"name":"spawnEffect","type":"Effect","defaultValue":"spawn","notes":""},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":""}]},{"type":"UnitType","extends":"UnlockableContent","fields":[{"name":"envRequired","type":"int","defaultValue":"0","notes":"Environmental flags that are all required for this unit to function. 0 = any environment"},{"name":"envEnabled","type":"int","defaultValue":"1","notes":"The environment flags that this unit can function in. If the env matches any of these, it will be enabled."},{"name":"envDisabled","type":"int","defaultValue":"16","notes":"The environment flags that this unit cannot function in. If the env matches any of these, it will explode or be disabled."},{"name":"speed","type":"float","defaultValue":"1.1","notes":"movement speed (world units/t)"},{"name":"boostMultiplier","type":"float","defaultValue":"1.0","notes":"multiplier for speed when boosting"},{"name":"floorMultiplier","type":"float","defaultValue":"1.0","notes":"how affected this unit is by terrain"},{"name":"rotateSpeed","type":"float","defaultValue":"5.0","notes":"body rotation speed in degrees/t"},{"name":"baseRotateSpeed","type":"float","defaultValue":"5.0","notes":"mech base rotation speed in degrees/t"},{"name":"drag","type":"float","defaultValue":"0.3","notes":"movement drag as fraction"},{"name":"accel","type":"float","defaultValue":"0.5","notes":"acceleration as fraction of speed"},{"name":"hitSize","type":"float","defaultValue":"6.0","notes":"size of one side of the hitbox square"},{"name":"deathShake","type":"float","defaultValue":"-1.0","notes":"shake on unit death"},{"name":"stepShake","type":"float","defaultValue":"-1.0","notes":"shake on each step for leg/mech units"},{"name":"rippleScale","type":"float","defaultValue":"1.0","notes":"ripple / dust size for legged units"},{"name":"riseSpeed","type":"float","defaultValue":"0.08","notes":"boosting rise speed as fraction"},{"name":"descentSpeed","type":"float","defaultValue":"0.08","notes":"boosting descent speed as fraction"},{"name":"fallSpeed","type":"float","defaultValue":"0.018","notes":"how fast this unit falls upon death"},{"name":"missileAccelTime","type":"float","defaultValue":"0.0","notes":"how many ticks it takes this missile to accelerate to full speed"},{"name":"health","type":"float","defaultValue":"200.0","notes":"raw health amount"},{"name":"armor","type":"float","defaultValue":"0.0","notes":"incoming damage is reduced by this amount"},{"name":"range","type":"float","defaultValue":"-1.0","notes":"minimum range of any weapon; used for approaching targets. can be overridden by setting a value > 0."},{"name":"maxRange","type":"float","defaultValue":"-1.0","notes":"maximum range of any weapon"},{"name":"mineRange","type":"float","defaultValue":"70.0","notes":"range at which this unit can mine ores"},{"name":"buildRange","type":"float","defaultValue":"220.0","notes":"range at which this unit can build"},{"name":"circleTargetRadius","type":"float","defaultValue":"80.0","notes":"radius for circleTarget, if true"},{"name":"crashDamageMultiplier","type":"float","defaultValue":"1.0","notes":"multiplier for damage this (flying) unit deals when crashing on enemy things"},{"name":"wreckHealthMultiplier","type":"float","defaultValue":"0.25","notes":"multiplier for health that this flying unit has for its wreck, based on its max health."},{"name":"dpsEstimate","type":"float","defaultValue":"-1.0","notes":"a VERY ROUGH estimate of unit DPS; initialized in init()"},{"name":"clipSize","type":"float","defaultValue":"-1.0","notes":"graphics clipping size; <0 to calculate automatically"},{"name":"drownTimeMultiplier","type":"float","defaultValue":"1.0","notes":"multiplier for how slowly this unit drowns - higher numbers, slower drowning."},{"name":"strafePenalty","type":"float","defaultValue":"0.5","notes":"fractional movement speed penalty for this unit when it is moving in the opposite direction that it is facing"},{"name":"researchCostMultiplier","type":"float","defaultValue":"50.0","notes":"multiplier for cost of research in tech tree"},{"name":"groundLayer","type":"float","defaultValue":"60.0","notes":"for ground units, the layer upon which this unit is drawn"},{"name":"flyingLayer","type":"float","defaultValue":"-1.0","notes":"For units that fly, the layer upon which this unit is drawn. If no value is set, defaults to Layer.flyingUnitLow or Layer.flyingUnit depending on lowAltitude"},{"name":"payloadCapacity","type":"float","defaultValue":"8.0","notes":"Payload capacity of this unit in world units^2"},{"name":"buildSpeed","type":"float","defaultValue":"-1.0","notes":"building speed multiplier; <0 to disable."},{"name":"aimDst","type":"float","defaultValue":"-1.0","notes":"Minimum distance from this unit that weapons can target. Prevents units from firing \"inside\" the unit."},{"name":"buildBeamOffset","type":"float","defaultValue":"3.8","notes":"Visual offset of the build beam from the front."},{"name":"mineBeamOffset","type":"float","defaultValue":"-Infinity","notes":"Visual offset of the mining beam from the front. Defaults to half the hitsize."},{"name":"targetPriority","type":"float","defaultValue":"0.0","notes":"WIP: Units of low priority will always be ignored in favor of those with higher priority, regardless of distance."},{"name":"shadowElevation","type":"float","defaultValue":"-1.0","notes":"Elevation of shadow drawn under this (ground) unit. Visual only."},{"name":"shadowElevationScl","type":"float","defaultValue":"1.0","notes":"Scale for length of shadow drawn under this unit. Does nothing if this unit has no shadow."},{"name":"engineOffset","type":"float","defaultValue":"5.0","notes":"backwards engine offset from center of unit"},{"name":"engineSize","type":"float","defaultValue":"2.5","notes":"main engine radius"},{"name":"engineLayer","type":"float","defaultValue":"-1.0","notes":"layer of all engines (<0 for default)"},{"name":"itemOffsetY","type":"float","defaultValue":"3.0","notes":"visual backwards offset of items on unit"},{"name":"lightRadius","type":"float","defaultValue":"-1.0","notes":"radius of light emitted, <0 for default"},{"name":"lightOpacity","type":"float","defaultValue":"0.6","notes":"light color opacity"},{"name":"softShadowScl","type":"float","defaultValue":"1.0","notes":"scale of soft shadow - its size is calculated based off of region size"},{"name":"fogRadius","type":"float","defaultValue":"-1.0","notes":"fog view radius in tiles. <0 for automatic radius."},{"name":"waveTrailX","type":"float","defaultValue":"4.0","notes":"horizontal offset of wave trail in naval units"},{"name":"waveTrailY","type":"float","defaultValue":"-3.0","notes":"vertical offset of wave trail in naval units"},{"name":"trailScl","type":"float","defaultValue":"1.0","notes":"width of all trails (including naval ones)"},{"name":"isEnemy","type":"boolean","defaultValue":"true","notes":"if true, this unit counts as an enemy in the wave counter (usually false for support-only units)"},{"name":"flying","type":"boolean","defaultValue":"false","notes":"if true, the unit is always at elevation 1"},{"name":"wobble","type":"boolean","defaultValue":"true","notes":"whether this flying unit should wobble around"},{"name":"targetAir","type":"boolean","defaultValue":"true","notes":"whether this unit tries to attack air units"},{"name":"targetGround","type":"boolean","defaultValue":"true","notes":"whether this unit tries to attack ground units"},{"name":"faceTarget","type":"boolean","defaultValue":"true","notes":"if true, this unit will attempt to face its target when shooting/aiming at it"},{"name":"circleTarget","type":"boolean","defaultValue":"false","notes":"AI flag: if true, this flying unit circles around its target like a bomber"},{"name":"autoDropBombs","type":"boolean","defaultValue":"false","notes":"AI flag: if true, this unit will drop bombs under itself even when it is not next to its 'real' target. used for carpet bombers"},{"name":"targetBuildingsMobile","type":"boolean","defaultValue":"true","notes":"For the mobile version only: If false, this unit will not auto-target buildings to attach when a player controls it."},{"name":"canBoost","type":"boolean","defaultValue":"false","notes":"if true, this unit can boost into the air if a player/processors controls it"},{"name":"boostWhenBuilding","type":"boolean","defaultValue":"true","notes":"if true, this unit will always boost when using builder AI"},{"name":"boostWhenMining","type":"boolean","defaultValue":"true","notes":"if true, this unit will always boost when using miner AI"},{"name":"logicControllable","type":"boolean","defaultValue":"true","notes":"if false, logic processors cannot control this unit"},{"name":"playerControllable","type":"boolean","defaultValue":"true","notes":"if false, players cannot control this unit"},{"name":"controlSelectGlobal","type":"boolean","defaultValue":"true","notes":"If true, the unit can be selected with the global selection hotkey (shift+g)."},{"name":"allowedInPayloads","type":"boolean","defaultValue":"true","notes":"if false, this unit cannot be moved into payloads"},{"name":"hittable","type":"boolean","defaultValue":"true","notes":"if false, this unit cannot be hit by bullets or explosions"},{"name":"killable","type":"boolean","defaultValue":"true","notes":"if false, this unit does not take damage and cannot be kill() / destroy()-ed."},{"name":"targetable","type":"boolean","defaultValue":"true","notes":"if false, this unit is not targeted by anything."},{"name":"vulnerableWithPayloads","type":"boolean","defaultValue":"false","notes":"if true, this unit can be hit/targeted when it has payloads (assuming hittable/targetable is false)"},{"name":"pickupUnits","type":"boolean","defaultValue":"true","notes":"if true, this payload unit can pick up units"},{"name":"physics","type":"boolean","defaultValue":"true","notes":"if false, this unit does not physically collide with others."},{"name":"canDrown","type":"boolean","defaultValue":"true","notes":"if true, this ground unit will drown in deep liquids."},{"name":"useUnitCap","type":"boolean","defaultValue":"true","notes":"if false, this unit ignores the unit cap and can be spawned infinitely"},{"name":"coreUnitDock","type":"boolean","defaultValue":"false","notes":"if true, this core unit will \"dock\" to other units, making it re-appear when \"undocking\"."},{"name":"createWreck","type":"boolean","defaultValue":"true","notes":"if false, no falling \"corpse\" is created when this unit dies."},{"name":"createScorch","type":"boolean","defaultValue":"true","notes":"if false, no scorch marks are created when this unit dies"},{"name":"lowAltitude","type":"boolean","defaultValue":"false","notes":"if true, this unit will be drawn under effects/bullets; this is a visual change only."},{"name":"rotateToBuilding","type":"boolean","defaultValue":"true","notes":"if true, this unit will look at whatever it is building"},{"name":"allowLegStep","type":"boolean","defaultValue":"false","notes":"if true and this is a legged unit, this unit can walk over blocks."},{"name":"legPhysicsLayer","type":"boolean","defaultValue":"true","notes":"for legged units, setting this to false forces it to be on the ground physics layer."},{"name":"hovering","type":"boolean","defaultValue":"false","notes":"if true, this unit will not be affected by the floor under it."},{"name":"omniMovement","type":"boolean","defaultValue":"true","notes":"if true, this unit can move in any direction regardless of rotation. if false, this unit can only move in the direction it is facing."},{"name":"rotateMoveFirst","type":"boolean","defaultValue":"false","notes":"if true, the unit faces its moving direction before actually moving."},{"name":"healFlash","type":"boolean","defaultValue":"true","notes":"if true, this unit flashes when being healed"},{"name":"canHeal","type":"boolean","defaultValue":"false","notes":"whether the unit can heal blocks. Initialized in init()"},{"name":"singleTarget","type":"boolean","defaultValue":"false","notes":"if true, all weapons will attack the same target."},{"name":"forceMultiTarget","type":"boolean","defaultValue":"false","notes":"if true, this unit will be able to have multiple targets, even if it only has one mirrored weapon."},{"name":"canAttack","type":"boolean","defaultValue":"true","notes":"if false, this unit has no weapons that can attack."},{"name":"hidden","type":"boolean","defaultValue":"false","notes":"if true, this unit won't show up in the database or various other UIs."},{"name":"internal","type":"boolean","defaultValue":"false","notes":"if true, this unit is for internal use only and does not have a sprite generated."},{"name":"internalGenerateSprites","type":"boolean","defaultValue":"false","notes":"For certain units, generating sprites is still necessary, despite being internal."},{"name":"bounded","type":"boolean","defaultValue":"true","notes":"If false, this unit is not pushed away from map edges."},{"name":"naval","type":"boolean","defaultValue":"false","notes":"if true, this unit is detected as naval - do NOT assign this manually! Initialized in init()"},{"name":"autoFindTarget","type":"boolean","defaultValue":"true","notes":"if false, RTS AI controlled units do not automatically attack things while moving. This is automatically assigned."},{"name":"targetUnderBlocks","type":"boolean","defaultValue":"true","notes":"If false, 'under' blocks like conveyors are not targeted."},{"name":"alwaysShootWhenMoving","type":"boolean","defaultValue":"false","notes":"if true, this unit will always shoot while moving regardless of slowdown"},{"name":"hoverable","type":"boolean","defaultValue":"true","notes":"whether this unit has a hover tooltip"},{"name":"alwaysCreateOutline","type":"boolean","defaultValue":"false","notes":"if true, this modded unit always has a -outline region generated for its base. Normally, outlines are ignored if there are no top = false weapons."},{"name":"generateFullIcon","type":"boolean","defaultValue":"true","notes":"for vanilla content only - if false, skips the full icon generation step."},{"name":"squareShape","type":"boolean","defaultValue":"false","notes":"if true, this unit has a square shadow."},{"name":"drawBuildBeam","type":"boolean","defaultValue":"true","notes":"if true, this unit will draw its building beam towards blocks."},{"name":"drawMineBeam","type":"boolean","defaultValue":"true","notes":"if true, this unit will draw its mining beam towards blocks"},{"name":"drawCell","type":"boolean","defaultValue":"true","notes":"if false, the team indicator/cell is not drawn."},{"name":"drawItems","type":"boolean","defaultValue":"true","notes":"if false, carried items are not drawn."},{"name":"drawShields","type":"boolean","defaultValue":"true","notes":"if false, the unit shield (usually seen in waves) is not drawn."},{"name":"drawBody","type":"boolean","defaultValue":"true","notes":"if false, the unit body is not drawn."},{"name":"drawSoftShadow","type":"boolean","defaultValue":"true","notes":"if false, the soft shadow is not drawn."},{"name":"drawMinimap","type":"boolean","defaultValue":"true","notes":"if false, the unit is not drawn on the minimap."},{"name":"aiController","type":"Prov of ? extends UnitController","defaultValue":"{code}","notes":"The default AI controller to assign on creation."},{"name":"controller","type":"Func of Unit, ? extends UnitController","defaultValue":"get() : new CommandAI()","notes":"Function that chooses AI controller based on unit entity."},{"name":"constructor","type":"Prov of ? extends Unit","defaultValue":"null","notes":"Creates a new instance of this unit class."},{"name":"abilities","type":"Seq of Ability","defaultValue":"[]","notes":"list of \"abilities\", which are various behaviors that update each frame"},{"name":"weapons","type":"Seq of Weapon","defaultValue":"[]","notes":"All weapons that this unit will shoot with."},{"name":"immunities","type":"ObjectSet of StatusEffect","defaultValue":"new ObjectSet<>()","notes":"None of the status effects in this set can be applied to this unit."},{"name":"healColor","type":"Color","defaultValue":"98ffa9ff","notes":"color that this unit flashes when getting healed (if healFlash is true)"},{"name":"lightColor","type":"Color","defaultValue":"fbd367ff","notes":"Color of light that this unit produces when lighting is enabled in the map."},{"name":"shieldColor","type":"Color","defaultValue":"null","notes":"override for unit shield colour."},{"name":"deathSound","type":"Sound","defaultValue":"unset","notes":"sound played when this unit explodes (not when it is shot down)"},{"name":"deathSoundVolume","type":"float","defaultValue":"1.0","notes":"volume of death sound"},{"name":"wreckSound","type":"Sound","defaultValue":"unset","notes":"sound played when the unit wreck is shot down"},{"name":"wreckSoundVolume","type":"float","defaultValue":"1.0","notes":"volume of wreck falling sound"},{"name":"loopSound","type":"Sound","defaultValue":"none","notes":"sound played on loop when this unit is around."},{"name":"loopSoundVolume","type":"float","defaultValue":"0.5","notes":"volume of loop sound"},{"name":"stepSound","type":"Sound","defaultValue":"mechStepSmall","notes":"sound played when this mech/insect unit does a step"},{"name":"stepSoundVolume","type":"float","defaultValue":"0.5","notes":"volume of step sound"},{"name":"stepSoundPitch","type":"float","defaultValue":"1.0","notes":"base pitch of step sound"},{"name":"stepSoundPitchRange","type":"float","defaultValue":"0.1","notes":"base pitch of step sound"},{"name":"tankMoveSound","type":"Sound","defaultValue":"tankMove","notes":"sound looped when tank moves"},{"name":"moveSound","type":"Sound","defaultValue":"none","notes":"sound looped when the unit moves; volume depends on velocity"},{"name":"moveSoundVolume","type":"float","defaultValue":"1.0","notes":"volume of movement sound"},{"name":"moveSoundPitchMin","type":"float","defaultValue":"1.0","notes":"pitch of movement sound based on velocity"},{"name":"moveSoundPitchMax","type":"float","defaultValue":"1.0","notes":"pitch of movement sound based on velocity"},{"name":"tankMoveVolume","type":"float","defaultValue":"0.5","notes":"volume of tank move sfx"},{"name":"fallEffect","type":"Effect","defaultValue":"fallSmoke","notes":"effect that this unit emits when falling"},{"name":"fallEngineEffect","type":"Effect","defaultValue":"fallSmoke","notes":"effect created at engine when unit falls."},{"name":"deathExplosionEffect","type":"Effect","defaultValue":"dynamicExplosion","notes":"effect created when this unit dies"},{"name":"treadEffect","type":"Effect","defaultValue":"null","notes":"optional effect created when this tank moves"},{"name":"parts","type":"Seq of DrawPart","defaultValue":"[]","notes":"extra (usually animated) visual parts"},{"name":"engines","type":"Seq of UnitEngine","defaultValue":"[]","notes":"list of engines, or \"thrusters\""},{"name":"useEngineElevation","type":"boolean","defaultValue":"true","notes":"if false, the thruster is always displayed at its normal size regardless of elevation"},{"name":"engineColor","type":"Color","defaultValue":"null","notes":"override for all engine colors"},{"name":"engineColorInner","type":"Color","defaultValue":"ffffffff","notes":"color for inner portions of engines"},{"name":"trailLength","type":"int","defaultValue":"0","notes":"length of engine trail (if flying) or wave trail (if naval)"},{"name":"trailColor","type":"Color","defaultValue":"null","notes":"override for engine trail color"},{"name":"flowfieldPathType","type":"int","defaultValue":"-1","notes":"Cost type ID for flow field/enemy AI pathfinding."},{"name":"pathCost","type":"PathCost","defaultValue":"null","notes":"Function used for calculating cost of moving with ControlPathfinder. Does not affect \"normal\" flow field pathfinding."},{"name":"pathCostId","type":"int","defaultValue":"0","notes":"ID for path cost, to be used in the control path finder. This is the value that actually matters; do not assign manually. Set in init()."},{"name":"sample","type":"Unit","defaultValue":"null","notes":"A sample of the unit that this type creates. Do not modify!"},{"name":"targetFlags","type":"BlockFlag[]","defaultValue":"[null]","notes":"Flags to target based on priority. Null indicates that the closest target should be found. The closest enemy core is used as a fallback."},{"name":"allowChangeCommands","type":"boolean","defaultValue":"true","notes":"A value of false is used to hide command changing UI in unit factories."},{"name":"commands","type":"Seq of UnitCommand","defaultValue":"[]","notes":"Commands available to this unit through RTS controls. An empty array means commands will be assigned based on unit capabilities in init()."},{"name":"defaultCommand","type":"UnitCommand","defaultValue":"null","notes":"Command to assign to this unit upon creation. Null indicates the first command in the array."},{"name":"stances","type":"Seq of UnitStance","defaultValue":"[]","notes":"Stances this unit can have. An empty array means stances will be assigned based on unit capabilities in init()."},{"name":"outlineColor","type":"Color","defaultValue":"565666ff","notes":"color for outline generated around sprites"},{"name":"outlineRadius","type":"int","defaultValue":"3","notes":"thickness for sprite outline"},{"name":"outlines","type":"boolean","defaultValue":"true","notes":"if false, no sprite outlines are generated"},{"name":"itemCapacity","type":"int","defaultValue":"-1","notes":"amount of items this unit can carry; <0 to determine based on hitSize."},{"name":"ammoCapacity","type":"int","defaultValue":"-1","notes":"amount of ammo this unit can hold (if the rule is enabled); <0 to determine based on weapon fire rate."},{"name":"ammoType","type":"AmmoType","defaultValue":"copper)","notes":"ammo this unit uses, if that system is enabled."},{"name":"mineTier","type":"int","defaultValue":"-1","notes":"max hardness of ore that this unit can mine (<0 to disable)"},{"name":"mineSpeed","type":"float","defaultValue":"1.0","notes":"mining speed in weird arbitrary units"},{"name":"mineWalls","type":"boolean","defaultValue":"false","notes":"whether this unit can mine ores from floors/walls, respectively"},{"name":"mineFloor","type":"boolean","defaultValue":"true","notes":"whether this unit can mine ores from floors/walls, respectively"},{"name":"mineHardnessScaling","type":"boolean","defaultValue":"true","notes":"if true, harder materials will take longer to mine"},{"name":"mineSound","type":"Sound","defaultValue":"loopMineBeam","notes":"continuous sound emitted when mining."},{"name":"mineSoundVolume","type":"float","defaultValue":"0.6","notes":"volume of mining sound."},{"name":"mineItems","type":"Seq of Item","defaultValue":"[Copper, Lead, Titanium, Thorium]","notes":"Target items to mine. Used in MinerAI"},{"name":"legCount","type":"int","defaultValue":"4","notes":"number of legs this unit has (must have the correct type to function!)"},{"name":"legGroupSize","type":"int","defaultValue":"2","notes":"size of groups in which legs move. for example, insects (6 legs) usually move legs in groups of 3."},{"name":"legLength","type":"float","defaultValue":"10.0","notes":"total length of a leg (both segments)"},{"name":"legSpeed","type":"float","defaultValue":"0.1","notes":"how fast individual legs move towards their destination (non-linear)"},{"name":"legForwardScl","type":"float","defaultValue":"1.0","notes":"scale for how far in front (relative to unit velocity) legs try to place themselves; if legs lag behind a unit, increase this number"},{"name":"legBaseOffset","type":"float","defaultValue":"0.0","notes":"leg offset from the center of the unit"},{"name":"legMoveSpace","type":"float","defaultValue":"1.0","notes":"scaling for space between leg movements"},{"name":"legExtension","type":"float","defaultValue":"0.0","notes":"for legs without \"joints\", this is how much the second leg sprite is moved \"back\" by, so it covers the joint region (it's hard to explain without an image)"},{"name":"legPairOffset","type":"float","defaultValue":"0.0","notes":"Higher values of this field make groups of legs move less in-sync with each other."},{"name":"legLengthScl","type":"float","defaultValue":"1.0","notes":"scaling for how far away legs try to be from the body (not their actual length); e.g. if set to 0.5, legs will appear somewhat folded"},{"name":"legStraightLength","type":"float","defaultValue":"1.0","notes":"if legStraightness > 0, this is the scale for how far away legs are from the body horizontally"},{"name":"legMaxLength","type":"float","defaultValue":"1.75","notes":"maximum length of an individual leg as fraction of real length"},{"name":"legMinLength","type":"float","defaultValue":"0.0","notes":"minimum length of an individual leg as fraction of real length"},{"name":"legSplashDamage","type":"float","defaultValue":"0.0","notes":"splash damage dealt when a leg touches the ground"},{"name":"legSplashRange","type":"float","defaultValue":"5.0","notes":"splash damage radius of legs"},{"name":"baseLegStraightness","type":"float","defaultValue":"0.0","notes":"how straight the leg base/origin is (0 = circular, 1 = line)"},{"name":"legStraightness","type":"float","defaultValue":"0.0","notes":"how straight the leg outward angles are (0 = circular, 1 = horizontal line)"},{"name":"legBaseUnder","type":"boolean","defaultValue":"false","notes":"If true, the base (further away) leg region is drawn under instead of over."},{"name":"lockLegBase","type":"boolean","defaultValue":"false","notes":"If true, legs are locked to the base of the unit instead of being on an implicit rotating \"mount\"."},{"name":"legContinuousMove","type":"boolean","defaultValue":"false","notes":"If true, legs always try to move around even when the unit is not moving (leads to more natural behavior)"},{"name":"flipBackLegs","type":"boolean","defaultValue":"true","notes":"TODO neither of these appear to do much"},{"name":"flipLegSide","type":"boolean","defaultValue":"false","notes":"TODO neither of these appear to do much"},{"name":"emitWalkSound","type":"boolean","defaultValue":"true","notes":"Whether to emit a splashing noise in water."},{"name":"emitWalkEffect","type":"boolean","defaultValue":"true","notes":"Whether to emit a splashing effect in water (fasle implies emitWalkSound false)."},{"name":"mechLandShake","type":"float","defaultValue":"0.0","notes":"screen shake amount for when this mech lands after boosting"},{"name":"mechSideSway","type":"float","defaultValue":"0.54","notes":"parameters for mech swaying animation"},{"name":"mechFrontSway","type":"float","defaultValue":"0.1","notes":"parameters for mech swaying animation"},{"name":"mechStride","type":"float","defaultValue":"-1.0","notes":"parameters for mech swaying animation"},{"name":"mechStepParticles","type":"boolean","defaultValue":"false","notes":"whether particles are created when this mech takes a step"},{"name":"mechLegColor","type":"Color","defaultValue":"6e7080ff","notes":"color that legs change to when moving, to simulate depth"},{"name":"treadRects","type":"Rect[]","defaultValue":"[]","notes":"list of treads as rectangles in IMAGE COORDINATES, relative to the center. these are mirrored."},{"name":"treadFrames","type":"int","defaultValue":"18","notes":"number of frames of movement in a tread"},{"name":"treadPullOffset","type":"int","defaultValue":"0","notes":"how much of a top part of a tread sprite is \"cut off\" relative to the pattern; this is corrected for"},{"name":"crushFragile","type":"boolean","defaultValue":"false","notes":"if true, 'fragile' blocks will instantly be crushed in a 1x1 area around the tank"},{"name":"segments","type":"int","defaultValue":"0","notes":"number of independent segments"},{"name":"segmentUnits","type":"int","defaultValue":"1","notes":"TODO wave support - for multi-unit segmented units, this is the number of independent units that are spawned"},{"name":"segmentUnit","type":"UnitType","defaultValue":"null","notes":"unit spawned in segments; if null, the same unit is used"},{"name":"segmentEndUnit","type":"UnitType","defaultValue":"null","notes":"unit spawned at the end; if null, the segment unit is used"},{"name":"segmentLayerOrder","type":"boolean","defaultValue":"true","notes":"true - parent segments are on higher layers; false - parent segments are on lower layers than head"},{"name":"segmentMag","type":"float","defaultValue":"2.0","notes":"magnitude of sine offset between segments"},{"name":"segmentScl","type":"float","defaultValue":"4.0","notes":"scale of sine offset between segments"},{"name":"segmentPhase","type":"float","defaultValue":"5.0","notes":"index multiplier of sine offset between segments"},{"name":"segmentRotSpeed","type":"float","defaultValue":"1.0","notes":"how fast each segment moves towards the next one"},{"name":"segmentMaxRot","type":"float","defaultValue":"30.0","notes":"maximum difference between segment angles"},{"name":"segmentSpacing","type":"float","defaultValue":"-1.0","notes":"spacing between separate unit segments (only used for multi-unit worms)"},{"name":"segmentRotationRange","type":"float","defaultValue":"80.0","notes":"rotation between segments is clamped to this range"},{"name":"crawlSlowdown","type":"float","defaultValue":"0.5","notes":"speed multiplier this unit will have when crawlSlowdownFrac is met."},{"name":"crushDamage","type":"float","defaultValue":"0.0","notes":"damage dealt to blocks under this tank/crawler every frame."},{"name":"crawlSlowdownFrac","type":"float","defaultValue":"0.55","notes":"the fraction of solids under this block necessary for it to reach crawlSlowdown."},{"name":"lifetime","type":"float","defaultValue":"300.0","notes":"lifetime of this missile."},{"name":"homingDelay","type":"float","defaultValue":"10.0","notes":"ticks that must pass before this missile starts homing."},{"name":"baseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"legRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"previewRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"shadowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"cellRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"itemCircleRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"softShadowRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"jointRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"footRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"legBaseRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"baseJointRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"outlineRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"treadRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"mineLaserRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"mineLaserEndRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"wreckRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"segmentRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"segmentCellRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"segmentOutlineRegions","type":"TextureRegion[]","defaultValue":"null","notes":""},{"name":"treadRegions","type":"TextureRegion[][]","defaultValue":"null","notes":""}]},{"type":"Unloader","extends":"Block","fields":[{"name":"centerRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"speed","type":"float","defaultValue":"1.0","notes":""},{"name":"allowCoreUnload","type":"boolean","defaultValue":"true","notes":""}]},{"type":"VariableReactor","extends":"PowerGenerator","fields":[{"name":"maxHeat","type":"float","defaultValue":"100.0","notes":""},{"name":"unstableSpeed","type":"float","defaultValue":"0.0055555557","notes":"How quickly instability moves towards 1, per frame."},{"name":"warmupSpeed","type":"float","defaultValue":"0.1","notes":""},{"name":"effect","type":"Effect","defaultValue":"fluxVapor","notes":""},{"name":"effectChance","type":"float","defaultValue":"0.05","notes":""},{"name":"effectColor","type":"Color","defaultValue":"ffdf9dff","notes":""},{"name":"flashThreshold","type":"float","defaultValue":"0.01","notes":""},{"name":"flashAlpha","type":"float","defaultValue":"0.4","notes":""},{"name":"flashSpeed","type":"float","defaultValue":"7.0","notes":""},{"name":"flashColor1","type":"Color","defaultValue":"ff0000ff","notes":""},{"name":"flashColor2","type":"Color","defaultValue":"89e8b6ff","notes":""},{"name":"lightsRegion","type":"TextureRegion","defaultValue":"null","notes":""}]},{"type":"Wall","extends":"Block","fields":[{"name":"lightningChance","type":"float","defaultValue":"-1.0","notes":"Lighting chance. -1 to disable"},{"name":"lightningDamage","type":"float","defaultValue":"20.0","notes":""},{"name":"lightningLength","type":"int","defaultValue":"17","notes":""},{"name":"lightningColor","type":"Color","defaultValue":"f3e979ff","notes":""},{"name":"lightningSound","type":"Sound","defaultValue":"shootArc","notes":""},{"name":"chanceDeflect","type":"float","defaultValue":"-1.0","notes":"Bullet deflection chance. -1 to disable"},{"name":"flashHit","type":"boolean","defaultValue":"false","notes":""},{"name":"flashColor","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"deflectSound","type":"Sound","defaultValue":"none","notes":""}]},{"type":"WallCrafter","extends":"Block","fields":[{"name":"topRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rotatorBottomRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"rotatorRegion","type":"TextureRegion","defaultValue":"null","notes":""},{"name":"drillTime","type":"float","defaultValue":"150.0","notes":"Time to produce one item at 100% efficiency."},{"name":"liquidBoostIntensity","type":"float","defaultValue":"1.6","notes":"How many times faster the drill will progress when boosted by liquid."},{"name":"updateEffect","type":"Effect","defaultValue":"mineWallSmall","notes":"Effect randomly played while drilling."},{"name":"updateEffectChance","type":"float","defaultValue":"0.02","notes":""},{"name":"rotateSpeed","type":"float","defaultValue":"2.0","notes":""},{"name":"attribute","type":"Attribute","defaultValue":"sand","notes":"Attribute to check for wall output."},{"name":"output","type":"Item","defaultValue":"sand","notes":""},{"name":"boostItemUseTime","type":"float","defaultValue":"120.0","notes":""},{"name":"itemBoostIntensity","type":"float","defaultValue":"1.6","notes":"How many times faster the drill will progress when boosted by items. Note: Using item and liquid boosters at once is not supported."},{"name":"itemConsumer","type":"Consume","defaultValue":"null","notes":""},{"name":"hasLiquidBooster","type":"boolean","defaultValue":"false","notes":""},{"name":"timerUse","type":"int","defaultValue":"1","notes":""}]},{"type":"WaveEffect","extends":"Effect","fields":[{"name":"colorFrom","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"colorTo","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"lightColor","type":"Color","defaultValue":"null","notes":""},{"name":"sizeFrom","type":"float","defaultValue":"0.0","notes":""},{"name":"sizeTo","type":"float","defaultValue":"100.0","notes":""},{"name":"lightScl","type":"float","defaultValue":"3.0","notes":""},{"name":"lightOpacity","type":"float","defaultValue":"0.8","notes":""},{"name":"sides","type":"int","defaultValue":"-1","notes":""},{"name":"rotation","type":"float","defaultValue":"0.0","notes":""},{"name":"strokeFrom","type":"float","defaultValue":"2.0","notes":""},{"name":"strokeTo","type":"float","defaultValue":"0.0","notes":""},{"name":"interp","type":"Interp","defaultValue":"linear","notes":""},{"name":"lightInterp","type":"Interp","defaultValue":"reverse","notes":""},{"name":"offsetX","type":"float","defaultValue":"0.0","notes":""},{"name":"offsetY","type":"float","defaultValue":"0.0","notes":""}]},{"type":"Weapon","extends":"Object","fields":[{"name":"name","type":"String","defaultValue":"Weapon Name","notes":"displayed weapon region"},{"name":"bullet","type":"BulletType","defaultValue":"placeholder","notes":"bullet shot"},{"name":"ejectEffect","type":"Effect","defaultValue":"none","notes":"shell ejection effect"},{"name":"display","type":"boolean","defaultValue":"true","notes":"whether weapon should appear in the stats of a unit with this weapon"},{"name":"useAmmo","type":"boolean","defaultValue":"true","notes":"whether to consume ammo when ammo is enabled in rules"},{"name":"mirror","type":"boolean","defaultValue":"true","notes":"whether to create a flipped copy of this weapon upon initialization. default: true"},{"name":"flipSprite","type":"boolean","defaultValue":"false","notes":"whether to flip the weapon's sprite when rendering. internal use only - do not set!"},{"name":"alternate","type":"boolean","defaultValue":"true","notes":"whether to shoot the weapons in different arms one after another, rather than all at once; only valid when mirror = true"},{"name":"rotate","type":"boolean","defaultValue":"false","notes":"whether to rotate toward the target independently of unit"},{"name":"showStatSprite","type":"boolean","defaultValue":"true","notes":"Whether to show the sprite of the weapon in the database."},{"name":"baseRotation","type":"float","defaultValue":"0.0","notes":"rotation at which this weapon starts at."},{"name":"top","type":"boolean","defaultValue":"true","notes":"whether to draw the outline on top."},{"name":"continuous","type":"boolean","defaultValue":"false","notes":"whether to hold the bullet in place while firing; it will still require reload."},{"name":"alwaysContinuous","type":"boolean","defaultValue":"false","notes":"whether this weapon uses continuous fire without reloading; implies continuous = true"},{"name":"aimChangeSpeed","type":"float","defaultValue":"Infinity","notes":"Speed at which the turret can change its bullet \"aim\" distance. This is only used for point laser bullets."},{"name":"controllable","type":"boolean","defaultValue":"true","notes":"whether this weapon can be aimed manually by players"},{"name":"aiControllable","type":"boolean","defaultValue":"true","notes":"whether this weapon can be automatically aimed by the unit"},{"name":"alwaysShooting","type":"boolean","defaultValue":"false","notes":"whether this weapon is always shooting, regardless of targets ore cone"},{"name":"autoTarget","type":"boolean","defaultValue":"false","notes":"whether to automatically target relevant units in update(); only works when controllable = false."},{"name":"predictTarget","type":"boolean","defaultValue":"true","notes":"whether to perform target trajectory prediction"},{"name":"useAttackRange","type":"boolean","defaultValue":"true","notes":"if true, this weapon is used for attack range calculations"},{"name":"targetInterval","type":"float","defaultValue":"40.0","notes":"ticks to wait in-between targets"},{"name":"targetSwitchInterval","type":"float","defaultValue":"70.0","notes":"ticks to wait in-between targets"},{"name":"rotateSpeed","type":"float","defaultValue":"20.0","notes":"rotation speed of weapon when rotation is enabled, in degrees/t"},{"name":"reload","type":"float","defaultValue":"1.0","notes":"weapon reload in frames"},{"name":"inaccuracy","type":"float","defaultValue":"0.0","notes":"inaccuracy of degrees of each shot"},{"name":"shake","type":"float","defaultValue":"0.0","notes":"intensity and duration of each shot's screen shake"},{"name":"recoil","type":"float","defaultValue":"1.5","notes":"visual weapon knockback."},{"name":"recoils","type":"int","defaultValue":"-1","notes":"Number of additional counters for recoil."},{"name":"recoilTime","type":"float","defaultValue":"-1.0","notes":"time taken for weapon to return to starting position in ticks. uses reload time by default"},{"name":"recoilPow","type":"float","defaultValue":"1.8","notes":"power curve applied to visual recoil"},{"name":"cooldownTime","type":"float","defaultValue":"20.0","notes":"ticks to cool down the heat region"},{"name":"shootX","type":"float","defaultValue":"0.0","notes":"projectile/effect offsets from center of weapon"},{"name":"shootY","type":"float","defaultValue":"3.0","notes":"projectile/effect offsets from center of weapon"},{"name":"x","type":"float","defaultValue":"5.0","notes":"offsets of weapon position on unit"},{"name":"y","type":"float","defaultValue":"0.0","notes":"offsets of weapon position on unit"},{"name":"xRand","type":"float","defaultValue":"0.0","notes":"Random spread on the X/Y axis."},{"name":"yRand","type":"float","defaultValue":"0.0","notes":"Random spread on the X/Y axis."},{"name":"shoot","type":"ShootPattern","defaultValue":"new ShootPattern()","notes":"pattern used for bullets"},{"name":"shadow","type":"float","defaultValue":"-1.0","notes":"radius of shadow drawn under the weapon; <0 to disable"},{"name":"velocityRnd","type":"float","defaultValue":"0.0","notes":"fraction of velocity that is random"},{"name":"extraVelocity","type":"float","defaultValue":"0.0","notes":"extra velocity that is added as a fraction"},{"name":"shootCone","type":"float","defaultValue":"5.0","notes":"The half-radius of the cone in which shooting will start."},{"name":"rotationLimit","type":"float","defaultValue":"361.0","notes":"Cone in which the weapon can rotate relative to its mount."},{"name":"minWarmup","type":"float","defaultValue":"0.0","notes":"minimum weapon warmup before firing (this is not linear, do NOT use 1!)"},{"name":"shootWarmupSpeed","type":"float","defaultValue":"0.1","notes":"lerp speed for shoot warmup, only used for parts"},{"name":"smoothReloadSpeed","type":"float","defaultValue":"0.15","notes":"lerp speed for shoot warmup, only used for parts"},{"name":"linearWarmup","type":"boolean","defaultValue":"false","notes":"If true, shoot warmup is linear instead of a curve."},{"name":"soundPitchMin","type":"float","defaultValue":"0.8","notes":"random sound pitch range"},{"name":"soundPitchMax","type":"float","defaultValue":"1.0","notes":"random sound pitch range"},{"name":"ignoreRotation","type":"boolean","defaultValue":"false","notes":"whether shooter rotation is ignored when shooting."},{"name":"noAttack","type":"boolean","defaultValue":"false","notes":"If true, this weapon cannot be used to attack targets."},{"name":"minShootVelocity","type":"float","defaultValue":"-1.0","notes":"min velocity required for this weapon to shoot"},{"name":"parentizeEffects","type":"boolean","defaultValue":"false","notes":"should the shoot effects follow the unit (effects need followParent set to true for this to work)"},{"name":"otherSide","type":"int","defaultValue":"-1","notes":"internal value used for alternation - do not change!"},{"name":"layerOffset","type":"float","defaultValue":"0.0","notes":"draw Z offset relative to the default value"},{"name":"activeSound","type":"Sound","defaultValue":"none","notes":"sound looped when shooting"},{"name":"activeSoundVolume","type":"float","defaultValue":"1.0","notes":"volume of active sound"},{"name":"shootSound","type":"Sound","defaultValue":"shoot","notes":"sound used for shooting"},{"name":"shootSoundVolume","type":"float","defaultValue":"1.0","notes":"volume of the shoot sound"},{"name":"initialShootSound","type":"Sound","defaultValue":"none","notes":"sound used when this weapon first fires; for continuous weapons only"},{"name":"chargeSound","type":"Sound","defaultValue":"none","notes":"sound used for weapons that have a delay"},{"name":"region","type":"TextureRegion","defaultValue":"null","notes":"displayed region (autoloaded)"},{"name":"heatRegion","type":"TextureRegion","defaultValue":"null","notes":"heat region, must be same size as region (optional)"},{"name":"cellRegion","type":"TextureRegion","defaultValue":"null","notes":"cell region, must be same size as region (optional)"},{"name":"outlineRegion","type":"TextureRegion","defaultValue":"null","notes":"outline region to display if top is false"},{"name":"heatColor","type":"Color","defaultValue":"ab3400ff","notes":"heat region tint"},{"name":"shootStatus","type":"StatusEffect","defaultValue":"none","notes":"status effect applied when shooting"},{"name":"mountType","type":"Func of Weapon, WeaponMount","defaultValue":"WeaponMount::new","notes":"type of weapon mount to be used"},{"name":"shootStatusDuration","type":"float","defaultValue":"300.0","notes":"status effect duration when shot"},{"name":"shootOnDeath","type":"boolean","defaultValue":"false","notes":"whether this weapon should fire when its owner dies"},{"name":"shootOnDeathEffect","type":"Effect","defaultValue":"null","notes":"If not null and shootOnDeath == true, overrides the weapon's shoot effect only when its owner dies."},{"name":"parts","type":"Seq of DrawPart","defaultValue":"[]","notes":"extra animated parts"}]},{"type":"Weather","extends":"UnlockableContent","fields":[{"name":"duration","type":"float","defaultValue":"36000.0","notes":"Default duration of this weather event in ticks."},{"name":"opacityMultiplier","type":"float","defaultValue":"1.0","notes":""},{"name":"attrs","type":"Attributes","defaultValue":"new Attributes()","notes":""},{"name":"sound","type":"Sound","defaultValue":"none","notes":""},{"name":"soundVol","type":"float","defaultValue":"0.1","notes":""},{"name":"soundVolMin","type":"float","defaultValue":"0.0","notes":""},{"name":"soundVolOscMag","type":"float","defaultValue":"0.0","notes":""},{"name":"soundVolOscScl","type":"float","defaultValue":"20.0","notes":""},{"name":"hidden","type":"boolean","defaultValue":"false","notes":""},{"name":"type","type":"Prov of WeatherState","defaultValue":"WeatherState::create","notes":""},{"name":"status","type":"StatusEffect","defaultValue":"none","notes":""},{"name":"statusDuration","type":"float","defaultValue":"120.0","notes":""},{"name":"statusAir","type":"boolean","defaultValue":"true","notes":""},{"name":"statusGround","type":"boolean","defaultValue":"true","notes":""}]},{"type":"WobbleProp","extends":"Prop","fields":[{"name":"wscl","type":"float","defaultValue":"25.0","notes":""},{"name":"wmag","type":"float","defaultValue":"0.4","notes":""},{"name":"wtscl","type":"float","defaultValue":"1.0","notes":""},{"name":"wmag2","type":"float","defaultValue":"1.0","notes":""}]},{"type":"WrapEffect","extends":"Effect","fields":[{"name":"effect","type":"Effect","defaultValue":"none","notes":""},{"name":"color","type":"Color","defaultValue":"ffffffff","notes":""},{"name":"rotation","type":"float","defaultValue":"0.0","notes":""}]}]