# Configuration file

general {
    # Prevents rain from going inside ships. Warning: laggy
    B:"Accurate Rain"=false

    # Override the auto generated mass value of blocks.
    # The units of mass are kg.
    S:"Block Mass" <
        minecraft:grass=1500
     >

    # Enable recipes for captain's chair/passenger's chair
    B:"Chair Recipes"=true

    # Not recommended unless you've encountered a strange bug, or the developers told you to enable this.
    # Default is false.
    B:"Debug Console Output"=false
    B:"Enable Gravity"=true
    B:"Enable Physics Blocks"=true
    D:"Gravity Vector X"=0.0
    D:"Gravity Vector Y"=-9.8
    D:"Gravity Vector Z"=0.0

    # The largest size ship a physics infuser will attempt to make.
    # If a ship is larger than this the infuser will assume it was placed on the ground and give up.
    # Default is 15000 blocks.
    I:"Max Detected Ship Size"=15000

    # Enabled minecarts on ships. WARNING: This will derail normal minecarts within a ship's AABB
    B:"Minecarts on ships"=false

    # The number of threads to use for physics
    # recommended to use your cpu's thread count minus 2.
    # Cannot be set at runtime.
    # Min: 2
    # Max: 2147483647
    I:"Number of Physics Threads"=10

    # If a player touches a ship, then unless they touch another ship (or the ground) they will move along with the ship for this many ticks.
    # After this number of ticks passes, the player will no longer move with the ship.
    # Min: 1
    # Max: 2147483647
    I:"Number of Ticks Players Stick to Ships"=20

    # When true all ship chunks will be rendered with a green outline (in debug rendering mode (f3 + b)).
    B:"Render Ship Chunk Debug Outline"=false

    # Blocks to not be included when assembling a ship.
    S:"Ship Spawn Detector Blacklist" <
        minecraft:air
        minecraft:dirt
        minecraft:grass
        minecraft:stone
        minecraft:tallgrass
        minecraft:water
        minecraft:flowing_water
        minecraft:sand
        minecraft:sandstone
        minecraft:gravel
        minecraft:ice
        minecraft:snow
        minecraft:snow_layer
        minecraft:lava
        minecraft:flowing_lava
        minecraft:grass_path
        minecraft:bedrock
        minecraft:end_portal_frame
        minecraft:end_portal
        minecraft:end_gateway
        minecraft:portal
     >
    D:"Ship Y Position Maximum"=1000.0
    D:"Ship Y Position Minimum"=-30.0

    # The amount of seconds simulated every physics tick.
    # There are 100 physics ticks per second by default, so the default value is 1/100th of a second.
    D:"Time Simulated Each Physics Tick"=0.01

    # If CUSTOM, vanilla explosions are replaced with a custom implementation which supports ships blocking
    # explosion damage and is also faster. May have slightly different semantics for things like TNT cannons
    # Valid values:
    # VANILLA
    # SLOW_VANILLA
    # CUSTOM
    S:"Use Vanilla Explosions"=CUSTOM

    # Send a warning if no known modules are installed
    B:"Warn If No Modules"=true

    ##########################################################################################################
    # ship loading settings
    #--------------------------------------------------------------------------------------------------------#
    # Sets the distance at which ships get loaded/unloaded and watched/unwatched by nearby players.
    # These settings must obey the following constraint:
    # Player Watch Distance < Ship Load Distance < Ship Load Background Distance <= Player Unwatch Distance < Ship Unload Distance
    ##########################################################################################################

    "ship loading settings" {
        # If ships should be permanently. Warning: may have unforseen consequences
        B:"Permanently loaded"=false

        # If a player's XZ distance to a ship is greater than this, then if they're current watching it, they will stop watching that ship.
        D:"Player Unwatch Ship Distance"=160.0

        # If a player's XZ distance to a ship is less than this, then if aren't already watching it, they will start watching that ship.
        D:"Player Watch Ship Distance"=128.0

        # If a player's XZ distance to a ship is less than this, then if that ship isn't already loaded in the world, it will preload itself using background threads.
        D:"Ship Load Background Distance"=160.0

        # If a player's XZ distance to a ship is less than this, then if that ship isn't already loaded in the world, it will be loaded in the world immediately.
        D:"Ship Load Distance"=144.0

        # If there are no players within this XZ distance of a ship, then if that ship is currently loaded, it will unload itself.
        D:"Ship Unload Distance"=192.0
    }

}


