Skip to content
Vaan1310 edited this page Aug 26, 2024 · 17 revisions

The CRAFT-files are files that define a craft type. the format is .craft and are located in types folder on Movecraft.

Mandatory flags

Key Variable Type Description
name String Defines the name of the craft
maxSize Integer Determines the maximum size of the craft
minSize Integer Determines the minimum size of the craft
allowedBlocks Block ID List Determines the blocks that are allowed on the craft
speed Double Determines the speed of the craft in meters per second

Optional flags

Key Variable Type Default Description
allowAADirectorSign Boolean true Removed, use Movecraft-Combat Determines if the craft can utilize the anti aircraft director feature
allowCannonDirectorSign Boolean true Removed, use Movecraft-Combat Determines if the craft can utilize the cannon director feature
allowHorizontalMovement Boolean true Determines if the craft can move on the horizontal axis
allowRemoteSign Boolean true Determines if the craft can utilize the remote sign feature
allowVerticalMovement Boolean true Determines if the craft can move on the vertical axis
allowVerticalTakeoffAndLanding Boolean true Determines if the craft can ascend immediately rather than needing to move horizontally before take off (similar to a plane on a runway)
blockedByWater Boolean true Deprecated, use phase blocks instead. Determines if the craft is blocked by water
canBeNamed Boolean true Determines if the craft can have a Name sign
canCruise Boolean false Determines if the craft can cruise
canDirectControl Boolean true Determines if the craft can use the direct control mode for piloting
canFly Boolean true Deprecated, use phase blocks instead. Determines if the craft is blocked by water
canHover Boolean false Not implemented. If true, the craft functions similair to a hovercraft, floating above ground instead of flying
canHoverOverWater Boolean true Deprecated. Use forbiddenHoverOverBlocks instead Determines if hovering craft can treat water as a surface to hover over
canStaticMove Boolean false Determines if the craft can use a relative move sign.
canTeleport Boolean false Determines if the craft can use the teleport sign feature
canSwitchWorld Boolean false Determines if the craft can switch worlds using the teleport sign feature
chestPenalty Boolean 0.0 Determines the penalty per chest for dynamic lag speed enabled craft
collisionExplosion Float 0.0 If non-zero, causes an explosion when the craft collides with a solid object
collisionSound Sound Sound.Source.NEUTRAL WIP
cruiseOnPilot Boolean false Determines if the craft should immediately begin cruising while piloting
cruiseOnPilotVertMove Integer 0 Vertical blocks to move when cruiseOnPilot is true
cruiseSkipBlocks Integer 0 Determines how many blocks to "jump" while cruising. Increasing this in conjunction with decreasing cruiseSpeed may improve performance. Does not affect the speed at which a craft moves.
cruiseSpeed Double Overrides the default speed of the craft while cruising
detectionblocks Block ID List with percentile None Determines blocks required in a certain percentile range only when the craft is piloted
detectionMultiplier Double Modifies the base value for detection with contacts
directionDependentMaterials Block ID List Lever, Ladder, Grindstone, Wall signs and torches, lanterns These blocks are checked if they are attached to a craft about to being piloted, only if they are will they be added to said craft
dynamicFlyBlock Integer 0 See dynamic flyblock speed
dynamicFlyBlockSpeedFactor Double 0.0 See dynamic flyblock speed
dynamicLagMinSpeed Double 0.0 See dynamic lag speed
dynamicLagSpeedFactor Double 0.0 See dynamic lag speed
dynamicLagPowerFactor Double 0.0 See dynamic lag speed
explodeOnCrash Float 0.0 If non-zero, causes an explosion when the craft collides with a solid object while sinking
flyblocks Block ID List with percentile None Determines blocks required in a certain percentile throughout the craft being piloted
focusedExplosion Boolean false Determines if an explosion based craft should have explosions occur distributed throughout the craft or only at the point of contact
forbiddenBlocks Block ID List None Determines the blocks that are forbidden on the craft
forbiddenHoverOverBlocks Block ID list None Determines the blocks a craft cannot hover over
forbiddenSignStrings String List None Determines strings that cannot be on the crafts signs
fuelBurnRate Double 0.0 Determines the rate at which fuel is consumed while flying
fuelTypes Material -> Double COAL_BLOCK -> 80.0
COAL -> 8.0
CHARCOAL -> 8.0
How much fuel does each Material restore
halfSpeedUnderwater Boolean false Deprecated(?) Determines if the craft should move at half the speed while submerged in water
harvestBlocks Block ID List None Determines blocks that can be consumed by harvest blades
harvesterBladeBlocks Block ID List None Determines blocks that act as harvest blades
hoverLimit Integer 0 Determines the distance of the ground a hover craft is allowed to travel
incendiaryOnCrash Boolean false If the explosion releated to explodeOnCrash should generate fire
keepMovingOnSink Boolean false Determines if a craft should maintain its previous velocity when it begins to sink
maxHeightAboveGround Integer -1 If greater than or equal to 0, determines the maximum height the craft can go vertically above a solid block
maxHeightLimit Integer 254 Determines the the upper boundary on the y-axis for the craft Values should be valid y-positions
minHeightLimit Integer 0 Determines the the lower boundary on the y-axis for the craft Values should be valid y-positions
moveblocks Block ID List with percentile Determines blocks required a craft requires in order to move and not be disabled
moveEntities Boolean true Determines if the craft should move entities with it
overallSinkPercent Double 0.0 Determines required damage to sink a craft. Values must range between 0.0 and 100.0
onlyMovePlayers Boolean true Determines if the craft should only move players
passthroughBlocks Block ID List Determines blocks that the craft can pass through while flying
requireWaterContact Boolean false Determines if the craft requires contact with the water to pilot. Does not enforce water contact while moving
rotateAtMidpoint Boolean false Determines if the craft should rotate at its midpoint or the point at which the rotation request originated from
sinkPercent Double 0.0 Determines required flyblock damage to sink a craft. Values must range between 0.0 and 100.0
sinkTickRate Int 0 Determines the amount of ticks before each movement while the craft is sinking
sinkSpeed Double 0 Deprecated, use sinkTickRate instead. Determines the speed at which the craft sinks
smokeOnSink Integer 0 Amount of smoke particles to trigger when a craft is sinking
staticWaterLevel Integer 0 If nonzero, uses a static water level for detecting submersion rather than dynamically detecting it
tryNudge Boolean false Deprecated?
underwaterDetectionMultiplier Double If set, overrides the default detection multiplier when underwater
useGravity Boolean false Not implemented(?) Determines if a craft should be pulled down by gravity
vertCruiseSkipBlocks Integer If set, overrides the default cruise skip blocks while cruising vertically
vertCruiseSpeed Double If set, overrides the default cruise speed when cruising vertically

maxStaticMove?

mustBeSubcraft?

gravityInclineDistance?

gravityDropDistance?

collisionSound?