# Configuration file

accelerator {
    # Enable accelerator blocks. Requires a compatible server, as it won't work in single player
    B:enable=true

    # Maximum number of particle bunches per accelerator controller
    I:max_particle_bunches=20
}


breathing {
    # Update speed of air generation
    I:air_generation_interval_ticks=40

    # Maximum range of an air generator for each tier, measured in block
    I:air_generation_range_blocks <
        200
        16
        48
        144
     >

    # Duration of a single breath cycle measured in ticks.
    I:air_tank_breath_duration_ticks=300

    # Number of breaths cycles available in a air tank, by tier (canister, normal, advanced, superior).
    I:air_tank_capacity_by_tier <
        20
        32
        64
        128
     >

    # Spam creative players with air status around them, use at your own risk.
    B:enable_air_at_entity_debug=false

    # Energy cost per air canister refilled
    I:energy_per_canister=200

    # Energy cost to sustain air distribution per open side per interval
    I:energy_per_existing_air_block_by_tier <
        0
        4
        60
        870
     >

    # Energy cost to start air distribution per open side per interval for a given tier
    I:energy_per_new_air_block_by_tier <
        0
        12
        180
        2610
     >

    # Maximum energy stored for a given tier
    I:max_energy_stored_by_tier <
        0
        1400
        21000
        304500
     >

    # Minimum delay between consecutive air propagation updates of the same block.
    I:simulation_delay_ticks=30

    # Maximum depth of blocks to update when a volume has changed.
    # Higher values may cause TPS lag spikes, Lower values will exponentially increase the repressurization time
    I:volume_update_depth_blocks=256
}


capacitor {
    # Energy transfer efficiency for each upgrade apply, first value is without upgrades (0.8 means 20% loss)
    D:efficiency_per_upgrade <
        0.95
        0.98
        1.0
     >

    # Flux energy transferred per tick for each subspace capacitor tier
    I:flux_rate_input_per_tick_by_tier <
        1073741823
        800
        4000
        20000
     >

    # Flux energy transferred per tick for each subspace capacitor tier
    I:flux_rate_output_per_tick_by_tier <
        1073741823
        800
        4000
        20000
     >

    # IC2 energy sink tier (ULV, LV, MV, HV, EV, IV, LuV, ZPMV, UV, MaxV) for each subspace capacitor tier
    S:ic2_sink_tier_name_by_tier <
        MaxV
        MV
        HV
        EV
     >

    # IC2 energy source tier (ULV, LV, MV, HV, EV, IV, LuV, ZPMV, UV, MaxV) for each subspace capacitor tier
    S:ic2_source_tier_name_by_tier <
        MaxV
        MV
        HV
        EV
     >

    # Maximum energy stored for each subspace capacitor tier
    I:max_energy_stored_by_tier <
        20000000
        800000
        4000000
        20000000
     >
}


chunk_loader {
    # Energy consumed per chunk loaded
    I:energy_per_chunk=8

    # Maximum energy stored
    I:max_energy_stored=1000000

    # Maximum radius when loading a square shape, measured in chunks. A linear shape can be up to 1 chunk wide by (radius + 1 + radius) ^ 2 chunks long.
    I:max_radius=2
}


client {
    # Force rendering the breathing overlay to compensate HUD modifications
    B:breathing_overlay_forced=true

    # Hexadecimal color code for location background (0xAARRGGBB where AA is alpha, RR is Red, GG is Green and BB is Blue component)
    S:location_background_color=0x40303030

    # Shadow casting option for current celestial object name
    B:location_has_shadow=true

    # Prefix for location name, useful to add formatting
    S:location_name_prefix=Â§l

    # Horizontal offset on screen, increase to move to the right
    I:location_offset_x=0

    # Vertical offset on screen, increase to move down
    I:location_offset_y=-20

    # Scale for location text font
    D:location_scale=1.0

    # Alignment on screen: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER or BOTTOM_RIGHT
    S:location_screen_alignment=MIDDLE_RIGHT

    # Text alignment: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER or BOTTOM_RIGHT
    S:location_text_alignment=TOP_RIGHT

    # Hexadecimal color code for location foreground (0xAARRGGBB where AA is alpha, RR is Red, GG is Green and BB is Blue component)
    S:location_text_color=0xE6B4B4F0

    # Text width as a minimum 'pixel' count
    I:location_width_min=90

    # Text width as a ratio of full screen width
    D:location_width_ratio=0.0
}


cloaking {
    # Extra blocks covered after the outer coils
    I:coil_capture_blocks=5

    # Maximum energy stored
    I:max_energy_stored=500000000

    # Maximum distance between cloaking core and any cloaked side
    I:max_field_radius=63

    # Energy cost per non-air block in a Tier1 cloak
    I:tier1_energy_per_block=32

    # Update speed of a Tier1 cloak
    I:tier1_field_refresh_interval_ticks=60

    # Energy cost per non-air block in a Tier2 cloak
    I:tier2_energy_per_block=128

    # Update speed of a Tier2 cloak
    I:tier2_field_refresh_interval_ticks=30

    # Cloak volume won't be refreshed unless it's older than that many seconds
    I:volume_scan_age_tolerance=120

    # Number of blocks to scan per tick when getting cloak bounds, too high will cause lag spikes when resizing a cloak
    I:volume_scan_blocks_per_tick=1000
}


enantiomorphic_reactor {
    # Maximum energy stored in the core for a given tier
    I:max_energy_stored_by_tier <
        100000000
        100000000
        500000000
        2000000000
     >

    # Maximum energy added to the core when enabled, measured in RF/t, for a given tier
    I:max_generation_RF_by_tier <
        64000
        64000
        192000
        576000
     >

    # Maximum number of stabilisation laser shots per seconds before loosing efficiency
    I:max_lasers <
        64
        6
        12
        24
     >

    # Minimum energy added to the core when enabled, measured in RF/t, for a given tier
    I:min_generation_RF_by_tier <
        4
        4
        4
        4
     >
}


energy {
    # display units for energy (EU, RF, FE, ȰI)
    S:display_units=RF

    # Enable Forge energy support, disable it for a pure EU or RF energy support
    B:enable_FE=true

    # Enable Gregtech EU energy support when the GregtechCE mod is present, disable otherwise
    B:enable_GTCE_EU=true

    # Enable IC2 EU energy support when the IndustrialCraft2 mod is present, disable otherwise
    B:enable_IC2_EU=true

    # Enable RF energy support when the RedstoneFlux mod is present, disable otherwise
    B:enable_RF=true

    # Explosion strength factor in case of EU voltage overload, set to 0 to disable completely
    D:overvoltage_explosion_factor=1.0

    # Shock damage factor to entities in case of EU voltage overload, set to 0 to disable completely
    D:overvoltage_shock_factor=1.0

    # delay between scan for energy receivers (measured in ticks)
    I:scan_interval_ticks=20
}


force_field {
    # Maximum strength for vanilla explosion object used by simple explosives like TechGuns rockets.
    D:explosion_strength_vanilla_cap=15.0

    # Scale applied to explosion strength, increase the value to reduce explosion impact on a force field. Enable weapon logs to see the damage level.
    D:projector_explosion_scale=1000.0

    # Maximum energy stored for each projector tier
    I:projector_max_energy_stored_by_tier <
        20000000
        30000
        90000
        150000
     >

    # Number of maxed out laser cannons required to break a superior force field.
    D:projector_max_laser_required=10.0
}


general {
    # Reaction delay when updating blocks in an assembly (measured in seconds)
    I:assembly_scanning_interval=10

    # Maximum allowed blast resistance for non-hull, breakable blocks from other mods. Required to fix non-sense scaling in modded fluids, etc. Default is basic hull resistance (60).
    D:blast_resistance_cap=60.0

    # Number of blocks to move per ticks, too high will cause lag spikes on ship jumping or deployment, too low may break the ship wirings
    I:blocks_per_tick=3500

    # Enable experimental refresh during jump to prevent duping, use at your own risk
    B:enable_experimental_refresh=false

    # Enable experimental tile entity unloading during jump to force a cleanup, required for IC2 Classic, may cause issues with other mods
    B:enable_experimental_unload=true

    # Enable fast blockstate placement, skipping light computation. Disable if you have world implementations conflicts
    B:enable_fast_set_blockstate=false

    # Enable automatic configuration of Forge's ChunkManager for WarpDrive. Disable to control manually WarpDrive specific settings.
    B:enable_forge_chunk_manager=true

    # Enable area protection checks from other mods or plugins, disable if you use the event system exclusively
    B:enable_protection_checks=true

    # Disable to boot the game even when celestial objects are invalid. Use at your own risk!
    B:enforce_valid_celestial_objects=true

    # Entity NPC ID
    I:entity_NPC_id=246

    # Entity camera ID
    I:entity_camera_id=243

    # Entity laser exploder ID
    I:entity_laser_exploder_id=245

    # Entity offline avatar ID
    I:entity_offline_avatar_id=247

    # Entity particle bunch ID
    I:entity_particle_bunch_id=244

    # Entity seat ID
    I:entity_seat_id=248

    # Entity sphere generator ID
    I:entity_sphere_generator_id=241

    # Entity star core ID
    I:entity_star_core_id=242

    # Hyperspace dimension provider ID
    I:hyperspace_provider_id=15

    # LUA scripts to load when connecting machines: 0 = none, 1 = templates in a subfolder, 2 = ready to roll (templates are still provided)
    I:lua_scripts=2

    # Enforce a minimum value for Forge's dimensionUnloadQueueDelay to fix various dimension transition issues from unloading the world too soon (set below 100 at your own risk)
    I:minimum_dimension_unload_queue_delay_ticks=100

    # Complex computation delay in an assembly (measured in ticks)
    I:parameters_update_interval=20

    # Registration period for an assembly (measured in seconds)
    I:registry_update_interval=10

    # Root folder where to load and save ship schematics
    S:schematics_location=warpDrive_schematics

    # Space biome ID
    I:space_biome_id=95

    # Space dimension provider ID
    I:space_provider_id=14
}


ic2_reactor_laser {
    # Maximum component heat added to the focus every reactor tick
    I:component_heat_transfer_per_tick=54

    # Update speed of the check for reactors to cool down. Use 10 to tick as fast as the reactor simulation
    I:cooling_interval_ticks=10

    # Heat extracted from the focus by interval
    I:cooling_per_interval=1080

    # Energy cost per heat absorbed
    D:energy_per_heat=2.0

    # Maximum heat transferred between 2 connected focus every reactor tick
    I:focus_heat_transfer_per_tick=648

    # Maximum heat stored in the focus
    I:max_heat_stored=30000

    # Maximum reactor heat added to the focus every reactor tick
    I:reactor_heat_transfer_per_tick=54
}


jump_gate {
    # Maximum jump gate size on each axis in blocks, for a given tier
    I:size_max_per_side_by_tier <
        127
        32
        64
        127
     >
}


laser_cannon {
    # Maximum probability of energy absorption (i.e. block not breaking)
    D:block_hit_absorption_max=0.8

    # Probability of energy absorption (i.e. block not breaking) per block hardness. Set to 1.0 to always break the block.
    D:block_hit_absorption_per_block_hardness=0.01

    # Maximum energy required for breaking a block
    I:block_hit_energy_max=750000

    # Minimum energy required for breaking a block
    I:block_hit_energy_min=75000

    # Energy cost per block hardness for breaking a block
    I:block_hit_energy_per_block_hardness=150000

    # Explosion base strength, 4 is Vanilla TNT
    D:block_hit_explosion_base_strength=8.0

    # Energy per added explosion strength
    I:block_hit_explosion_energy_per_strength=125000

    # Minimum block hardness required to cause an explosion
    D:block_hit_explosion_hardness_threshold=5.0

    # Maximum explosion strength, set to 0 to disable explosion completely
    D:block_hit_explosion_max_strength=50.0

    # Energy factor applied from boosting to main laser
    D:booster_beam_energy_efficiency=0.6

    # Delay while booster beams are accepted, before actually shooting
    I:emit_fire_delay_ticks=5

    # Delay while booster beams are accepted, before actually scanning
    I:emit_scan_delay_ticks=1

    # Energy attenuation when going through air blocks (on a planet or any gas in space)
    D:energy_attenuation_per_air_block=2.0E-4

    # Energy attenuation when going through a broken block
    D:energy_attenuation_per_broken_block=0.23

    # Energy attenuation when going through void blocks (in space or hyperspace)
    D:energy_attenuation_per_void_block=5.0E-6

    # Minimum damage to entity hit (measured in half hearts)
    I:entity_hit_base_damage=3

    # Base energy consumed from hitting an entity
    I:entity_hit_energy=15000

    # Energy required by additional hit point (won't be consumed)
    I:entity_hit_energy_per_damage=30000

    # Minimum energy to cause explosion effect
    I:entity_hit_energy_threshold_for_explosion=900000

    # Explosion base strength, 4 is Vanilla TNT
    D:entity_hit_explosion_base_strength=4.0

    # Energy per added explosion strength
    I:entity_hit_explosion_energy_per_strength=125000

    # Maximum explosion strength, set to 0 to disable explosion completely
    D:entity_hit_explosion_max_strength=4.0

    # Maximum damage to entity hit, set to 0 to disable damage completely
    I:entity_hit_max_damage=100

    # Duration of fire effect on entity hit (in seconds)
    I:entity_hit_set_on_fire_seconds=20

    # Maximum energy in beam after accounting for boosters beams
    I:max_laser_energy=3400000

    # Maximum number of laser mediums per laser
    I:max_mediums_count=10

    # Maximum distance travelled
    I:range_max=500
}


laser_medium {
    # Bonus multiplier of a laser medium line for a given tier
    D:bonus_factor_by_tier <
        1.25
        0.5
        1.0
        1.5
     >

    # Maximum energy stored for a given tier
    I:max_energy_stored_by_tier <
        1000000
        10000
        30000
        100000
     >
}


lift {
    # Energy consumed per entity moved
    I:energy_per_entity=150

    # Cooldown after moving an entity
    I:entity_cooldown_ticks=40

    # Maximum energy stored
    I:max_energy_stored=900

    # Update speed of the check for entities
    I:update_interval_ticks=10
}


logging {
    # Detailed LUA logs to help debug the mod, enable it before reporting a bug
    B:enable_LUA_logs=false

    # Save XML preprocessor results as output*.xml file, enable it to debug your XML configuration files
    B:enable_XML_preprocessor_logs=false

    # Detailed accelerator logs to help debug the mod, enable it before reporting a bug
    B:enable_accelerator_logs=false

    # Detailed break/place event logs to help debug the mod, enable it before reporting a bug
    B:enable_break_place_logs=false

    # Detailed breathing logs to help debug the mod, enable it before reporting a bug
    B:enable_breathing_logs=false

    # Detailed building logs to help debug the mod, enable it before reporting a bug
    B:enable_building_logs=false

    # Detailed camera logs to help debug the mod, enable it before reporting a bug
    B:enable_camera_logs=false

    # Detailed chunk data logs to help debug the mod.
    B:enable_chunk_handler_logs=false

    # Chunk loading logs, enable it to report chunk loaders updates
    B:enable_chunk_loading_logs=true

    # Detailed collection logs to help debug the mod, enable it before reporting a bug
    B:enable_collection_logs=false

    # Dictionary logs, enable it to dump blocks hardness and blast resistance at boot
    B:enable_dictionary_logs=false

    # Detailed energy logs to help debug the mod, enable it before reporting a bug
    B:enable_energy_logs=false

    # EntityFX logs, enable it to dump entityFX registry updates
    B:enable_entity_fx_logs=false

    # Report in logs when a chunk is reloaded shortly after being unloaded, usually associated with server lag.
    B:enable_experimental_chunk_reloading_logs=false

    # Detailed force field logs to help debug the mod, enable it before reporting a bug
    B:enable_force_field_logs=false

    # ForceField registry logs, enable it to dump force field registry updates
    B:enable_force_field_registry_logs=false

    # GlobalRegion registry logs, enable it to dump global region registry updates
    B:enable_global_region_registry_logs=false

    # Gravity logs, enable it before reporting fall damage and related issues
    B:enable_gravity_logs=false

    # Basic jump logs, should always be enabled
    B:enable_jump_logs=true

    # Detailed jump logs to help debug the mod, will spam your logs...
    B:enable_jumpblocks_logs=false

    # Offline avatar logs, enable it before reporting related issues
    B:enable_offline_avatar_logs=true

    # Profiling logs for CPU time, enable it to check for lag
    B:enable_profiling_CPU_time=true

    # Profiling logs for memory allocation, enable it to check for lag
    B:enable_profiling_memory_allocation=false

    # Profiling logs for multi-threading, enable it to check for ConcurrentModificationException
    B:enable_profiling_thread_safety=false

    # Detailed radar logs to help debug the mod, enable it before reporting a bug
    B:enable_radar_logs=false

    # Detailed rendering logs to help debug the mod.
    B:enable_rendering_logs=false

    # Detailed transporter logs to help debug the mod, enable it before reporting a bug
    B:enable_transporter_logs=false

    # Detailed weapon logs to help debug the mod, enable it before reporting a bug
    B:enable_weapon_logs=false

    # Detailed world generation logs to help debug the mod, enable it before reporting a bug
    B:enable_world_generation_logs=false

    # How many milliseconds to wait before logging another occurrence in a time sensitive section of the mod (rendering, events, etc.)
    D:throttle_ms=5000.0
}


mining_laser {
    # Maximum number of laser mediums
    I:max_mediums_count=3

    # Mining duration per scanned block
    I:mine_delay_ticks=3

    # Energy cost per block on a planet with atmosphere
    I:mine_energy_per_block_in_atmosphere=2500

    # Energy cost per block in space or a planet without atmosphere
    I:mine_energy_per_block_in_void=1500

    # Energy cost multiplier per block when mining only ores
    D:mine_ores_only_energy_factor=15.0

    # Energy cost multiplier per block when mining with silktouch
    D:mine_silktouch_energy_factor=1.5

    # Mining radius without any laser medium, measured in blocks
    I:radius_no_laser_medium=4

    # Bonus to mining radius per laser medium, measured in blocks
    I:radius_per_laser_medium=1

    # Scan duration per layer
    I:scan_delay_ticks=20

    # Energy cost per layer on a planet with atmosphere
    I:scan_energy_per_layer_in_atmosphere=30000

    # Energy cost per layer in space or a planet without atmosphere
    I:scan_energy_per_layer_in_void=20000

    # Warmup duration (buffer on startup when energy source is weak)
    I:warmup_delay_ticks=20
}


offline_avatar {
    # Should avatar name tag always be visible?
    B:always_render_name_tag=false

    # Only create an offline avatar when player disconnects while inside a ship. Disabling may cause lag in spawn areas...
    B:create_only_aboard_ships=true

    # Delay before removing an avatar when their related player is in range (measured in seconds)
    I:delay_for_removal_s=1

    # Enable creation of offline avatars to follow ship movements. This only disable creating new ones.
    B:enable=true

    # Enable to forget current avatar position when it's killed, or disable player teleportation to last known avatar's position
    B:forget_on_death=false

    # Maximum range between a player and his/her avatar to consider it for removal
    D:max_range_for_removal=5.0

    # Minimum range between a player and their avatar to consider it for removal (i.e. ensuring connection was successful)
    D:min_range_for_removal=1.0

    # Scale of offline avatar compared to a normal player
    D:model_scale=0.5
}


radar {
    # energy cost factors {a, b, c, d}. You need to provide exactly 4 values.
    # The equation used is a + b * radius + c * radius^2 + d * radius^3
    D:factors_energy_cost <
        0.0
        0.0
        0.0
        1.0E-4
     >

    # maximum energy stored
    I:max_energy_stored=100000000

    # number of isolation blocks required to reach maximum effect (5 to 94)
    I:max_isolation_blocks=16

    # isolation effect achieved with max number of isolation blocks (0.01 to 1.00)
    D:max_isolation_effect=1.0

    # radius around core where isolation blocks count (2 to 8), higher is lagger
    I:max_isolation_range=2

    # minimum energy cost per scan (0+), independently of radius
    I:min_energy_cost=10000

    # number of isolation blocks required to get some isolation (0 to 20)
    I:min_isolation_blocks=2

    # isolation effect achieved with min number of isolation blocks (0.01 to 0.95)
    D:min_isolation_effect=0.12

    # scan delay factors {a, b, c, d}. You need to provide exactly 4 values.
    # The equation used is a + b * radius + c * radius^2 + d * radius^3, (measured in seconds)
    D:scan_delay_factors_seconds <
        1.0
        0.001
        0.0
        0.0
     >

    # minimum scan delay per scan (1+), (measured in seconds)
    I:scan_min_delay_seconds=1
}


ship {
    # Tolerance in block in case of collision before causing damages...
    I:collision_tolerance_blocks=3

    # Maximum ship mass (in blocks) for a given tier
    I:mass_max_by_tier <
        2000000
        3456
        13824
        110592
     >

    # Minimum ship mass (in blocks) for a given tier
    I:mass_min_by_tier <
        0
        64
        1728
        6912
     >

    # List of player names which have unlimited block counts to their ship
    S:mass_unlimited_player_names <
        notch
        someone
     >

    # Maximum energy stored for a given tier
    I:max_energy_stored_by_tier <
        0
        500000
        10000000
        100000000
     >

    # Maximum ship size on each axis in blocks, for a given tier
    I:size_max_per_side_by_tier <
        127
        24
        48
        96
     >

    # Maximum ship mass (in blocks) to jump on a planet
    I:volume_max_on_planet_surface=3000

    # Minimum ship mass (in blocks) to enter or exit hyperspace without a jumpgate
    I:volume_min_for_hyperspace=4000

    # Ship volume won't be refreshed unless it's older than that many seconds
    I:volume_scan_age_tolerance=120

    # Number of blocks to scan per tick when getting ship bounds, too high will cause lag spikes when resizing a ship
    I:volume_scan_blocks_per_tick=1000

    # Random variation added to warm-up (measured in ticks)
    I:warmup_random_ticks=60
}


ship_movement_costs {
    # Cooldown seconds to wait after jumping activating a jumpgate.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:gate_activating_cooldown_interval_seconds <
        20.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units activating a jumpgate.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:gate_activating_energyRequired_factors <
        20000.0
        10.0
        100.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks activating a jumpgate.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:gate_activating_max_jump_distance <
        100000.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds activating a jumpgate.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:gate_activating_sickness_seconds <
        3.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump activating a jumpgate.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:gate_activating_warmup_seconds <
        10.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping entering hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_entering_cooldown_interval_seconds <
        60.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units entering hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_entering_energyRequired_factors <
        1.0E7
        0.0
        0.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks entering hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_entering_max_jump_distance <
        100.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds entering hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_entering_sickness_seconds <
        10.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump entering hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_entering_warmup_seconds <
        40.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping existing hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_exiting_cooldown_interval_seconds <
        60.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units existing hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_exiting_energyRequired_factors <
        1.0E7
        0.0
        0.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks existing hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_exiting_max_jump_distance <
        100.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds existing hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_exiting_sickness_seconds <
        10.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump existing hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_exiting_warmup_seconds <
        40.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping moving in hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_moving_cooldown_interval_seconds <
        30.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units moving in hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_moving_energyRequired_factors <
        10000.0
        1.0
        10.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks moving in hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_moving_max_jump_distance <
        200.0
        0.5
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds moving in hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_moving_sickness_seconds <
        10.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump moving in hyperspace.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:hyperspace_moving_warmup_seconds <
        20.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping landing on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_landing_cooldown_interval_seconds <
        60.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units landing on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_landing_energyRequired_factors <
        10000.0
        10.0
        100.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks landing on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_landing_max_jump_distance <
        50.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds landing on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_landing_sickness_seconds <
        0.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump landing on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_landing_warmup_seconds <
        20.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping moving on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_moving_cooldown_interval_seconds <
        40.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units moving on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_moving_energyRequired_factors <
        100.0
        10.0
        100.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks moving on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_moving_max_jump_distance <
        50.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds moving on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_moving_sickness_seconds <
        0.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump moving on a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_moving_warmup_seconds <
        20.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping taking off a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_takeoff_cooldown_interval_seconds <
        90.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units taking off a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_takeoff_energyRequired_factors <
        10000.0
        10.0
        100.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks taking off a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_takeoff_max_jump_distance <
        50.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds taking off a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_takeoff_sickness_seconds <
        0.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump taking off a planet.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:planet_takeoff_warmup_seconds <
        20.0
        0.0
        0.0
        0.0
        0.0
     >

    # Cooldown seconds to wait after jumping moving in space.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:space_moving_cooldown_interval_seconds <
        30.0
        0.0
        0.0
        0.0
        0.0
     >

    # energy required measured in internal units moving in space.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:space_moving_energyRequired_factors <
        1000.0
        10.0
        100.0
        0.0
        0.0
     >

    # Maximum jump length value in blocks moving in space.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:space_moving_max_jump_distance <
        100.0
        0.1
        0.0
        0.0
        0.0
     >

    # Motion sickness duration measured in seconds moving in space.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:space_moving_sickness_seconds <
        0.0
        0.0
        0.0
        0.0
        0.0
     >

    # Warmup seconds to wait before starting jump moving in space.
    # You need to provide exactly 5 values < A B C D E >. The equation used is A + B * mass + C * distance + D * ln( mass ) * exp( distance / E )
    # Result is rounded up to an integer. Use 0 to ignore that part of the equation.
    D:space_moving_warmup_seconds <
        10.0
        0.0
        0.0
        0.0
        0.0
     >
}


ship_scanner {
    # Deployment speed, measured in blocks (1-3000)
    I:deploy_blocks_per_interval=10

    # Delay between deployment of 2 sets of blocks, measured in ticks (1-60)
    I:deploy_interval_ticks=4

    # Max distance from ship scanner to ship core, measured in blocks (5-150)
    I:max_deploy_radius_blocks=100

    # Scanning speed, measured in blocks (1-5000)
    I:scan_blocks_per_second=10

    # Max distance from ship scanner to ship core, measured in blocks (5-150)
    I:search_interval_ticks=20
}


tooltip {
    # When to show armor points in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_armor_points=NEVER

    # When to show block material in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_block_material=ADVANCED_TOOLTIPS

    # When to show burn time in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_burn_time=ADVANCED_TOOLTIPS

    # When to show durability in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_durability=ALWAYS

    # When to show armor & tool enchantability in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_enchantability=ON_SNEAK

    # When to show entity id in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_entity_id=ADVANCED_TOOLTIPS

    # When to show flammability in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_flammability=ADVANCED_TOOLTIPS

    # When to show fluid stats in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_fluid_stats=ALWAYS

    # When to show hardness & explosion resistance in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_hardness=ADVANCED_TOOLTIPS

    # When to show harvesting stats in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_harvesting_stats=ALWAYS

    # When to show opacity in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_opacity=ADVANCED_TOOLTIPS

    # When to show ore dictionary names in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_ore_dictionary_name=ALWAYS

    # When to show registry name in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_registry_name=ADVANCED_TOOLTIPS

    # When to show repair material in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:add_repair_material=ON_SNEAK

    # List of lines to remove from tooltips before adding ours. This can be a partial match in a line. Must be lowercase without formatting.
    S:cleanup_list <
        fuel details
        burn time
        durability
     >

    # When to remove duplicate lines in tooltips. Valid values are NEVER, ON_SNEAK, ADVANCED_TOOLTIPS, CREATIVE_ONLY, ALWAYS.
    S:enable_deduplication=ALWAYS
}


transporter {
    # Maximum energy stored
    I:max_energy_stored=1000000
}


tree_farm {
    # Maximum number of laser mediums
    I:max_mediums_count=5

    # Maximum scan radius without any laser medium, on X and Z axis, measured in blocks
    I:max_radius_no_laser_medium=3

    # Bonus to maximum scan radius per laser medium, on X and Z axis, measured in blocks
    I:max_radius_per_laser_medium=2

    # Maximum reach distance of the laser without any laser medium, measured in blocks
    I:max_reach_distance_no_laser_medium=8

    # Bonus to maximum reach distance per laser medium, measured in blocks
    I:max_reach_distance_per_laser_medium=6
}


