{
  "$schema" : "https://json-schema.org/draft/2019-09/schema",
  "type" : "object",
  "properties" : {
    "allowDisassembly" : {
      "type" : "boolean",
      "description" : "Whether or not disassembly is permitted"
    },
    "antiVelocityMassRelevance" : {
      "type" : "number",
      "format" : "double",
      "description" : "How much inertia affects Eureka ships. Max 10 = full inertia"
    },
    "ballastNoWeight" : {
      "type" : "number",
      "format" : "double",
      "description" : "Weight of ballast when highest redstone power"
    },
    "ballastWeight" : {
      "type" : "number",
      "format" : "double",
      "description" : "Weight of ballast when lowest redstone power"
    },
    "balloonElevationMaxSpeed" : {
      "type" : "number",
      "format" : "double",
      "description" : "The max elevation speed boost gained by having extra extra balloons"
    },
    "baseImpulseElevationRate" : {
      "type" : "number",
      "format" : "double",
      "description" : "Vertical sensitivity up ascend/descend"
    },
    "baseSpeed" : {
      "type" : "number",
      "format" : "double",
      "description" : "The speed a ship with no engines can move at"
    },
    "blockBlacklist" : {
      "description" : "Blacklist of blocks that don't get assembled",
      "type" : "array",
      "items" : {
        "type" : "string",
        "description" : "Blacklist of blocks that don't get assembled"
      }
    },
    "diagonals" : {
      "type" : "boolean",
      "description" : "Whether the ship helm assembles diagonally connected blocks or not"
    },
    "doFluidDrag" : {
      "type" : "boolean",
      "description" : "Allow Eureka controlled ships to be affected by fluid drag"
    },
    "elevationSnappiness" : {
      "type" : "number",
      "format" : "double",
      "description" : "Ascend and descend acceleration"
    },
    "engineFuelMultiplier" : {
      "type" : "number",
      "format" : "float",
      "description" : "Fuel burn time multiplier"
    },
    "engineFuelSaving" : {
      "type" : "boolean",
      "description" : "Avoids consuming fuel when heat is 100%"
    },
    "engineHeatChangeExponent" : {
      "type" : "number",
      "format" : "float",
      "description" : "Increases heat gained at low heat level, and increased heat decreases when at high heat and not consuming fuel"
    },
    "engineHeatGain" : {
      "type" : "number",
      "format" : "float",
      "description" : "The amount of heat a gain per tick (when burning)"
    },
    "engineHeatLoss" : {
      "type" : "number",
      "format" : "float",
      "description" : "The amount of heat a engine loses per tick"
    },
    "engineMinCapacity" : {
      "type" : "integer",
      "format" : "int32",
      "description" : "Increasing this value will result in more items being able to converted to fuel"
    },
    "enginePowerAngular" : {
      "type" : "number",
      "format" : "float",
      "description" : "Turning power per engine when heated fully"
    },
    "enginePowerAngularMin" : {
      "type" : "number",
      "format" : "float",
      "description" : "Turning power per engine when minimal heat"
    },
    "enginePowerLinear" : {
      "type" : "number",
      "format" : "float",
      "description" : "Movement power per engine when heated fully"
    },
    "enginePowerLinearMin" : {
      "type" : "number",
      "format" : "float",
      "description" : "Movement power per engine with minimal heat"
    },
    "engineRedstoneBehaviorPause" : {
      "type" : "boolean",
      "description" : "Pause fuel consumption and power when block is powered"
    },
    "floaterBuoyantFactorPerKg" : {
      "type" : "number",
      "format" : "double",
      "description" : "The amount extra that each floater will make the ship float, per kg mass"
    },
    "linearStabilizeMaxAntiVelocity" : {
      "type" : "number",
      "format" : "double",
      "description" : "How fast a ship will stop. 1 = fast stop, 0 = slow stop"
    },
    "massPerBalloon" : {
      "type" : "number",
      "format" : "double",
      "description" : "Amount of mass in kg a balloon can lift"
    },
    "maxCasualSpeed" : {
      "type" : "number",
      "format" : "double",
      "description" : "Max speed of a ship without boosting"
    },
    "maxFloaterBuoyantFactor" : {
      "type" : "number",
      "format" : "double",
      "description" : "The maximum amount extra each floater will multiply the buoyant force by, irrespective of mass"
    },
    "maxShipBlocks" : {
      "type" : "integer",
      "format" : "int32",
      "description" : "Maximum number of blocks allowed in a ship. Set to 0 for no limit"
    },
    "maxSizeForTurnSpeedPenalty" : {
      "type" : "number",
      "format" : "double",
      "description" : "The maximum distance from center of mass to one end of the ship considered by the turn speed. At it's default of 16, it ensures that really large ships will turn at the same speed as a ship with a center of mass only 16 blocks away from the farthest point in the ship. That way, large ships do not turn painfully slowly"
    },
    "popSideBalloonChance" : {
      "type" : "number",
      "format" : "double",
      "description" : "Chance for popped balloons to pop adjacent balloons, per side"
    },
    "stabilizationSpeed" : {
      "type" : "number",
      "format" : "double",
      "description" : "The speed at which the ship stabilizes"
    },
    "stabilizationTorqueConstant" : {
      "type" : "number",
      "format" : "double",
      "description" : "How much torque a ship will apply to try and keep level"
    },
    "turnAcceleration" : {
      "type" : "number",
      "format" : "double",
      "description" : "The maximum linear acceleration at any point on the ship caused by helm torque"
    },
    "turnSpeed" : {
      "type" : "number",
      "format" : "double",
      "description" : "The maximum linear velocity at any point on the ship caused by helm torque"
    },
    "$schema" : {
      "type" : "string"
    }
  },
  "additionalProperties" : false
}