# Configuration file

general {

    ##########################################################################################################
    # feature opt-outs
    #--------------------------------------------------------------------------------------------------------#
    # Settings to completly omit defined categories.
    ##########################################################################################################

    "feature opt-outs" {
        # Opt-out any block by its registry name ('*' wildcard matching, comma separated list, whitespaces ignored. You must match the whole name, means maybe add '*' also at the begin and end. Example: '*wood*,*steel*' excludes everything that has 'wood' or 'steel' in the registry name. The matching result is also traced in the log file. 
        S:"Pattern exclude"=

        # Prevent blocks from being opt'ed by registry name ('*' wildcard matching, comma separated list, whitespaces ignored. Evaluated before all other opt-out checks. You must match the whole name, means maybe add '*' also at the begin and end. Example: '*wood*,*steel*' includes everything that has 'wood' or 'steel' in the registry name.The matching result is also traced in the log file.
        S:"Pattern include"=

        # Completely disable all automatic switches.
        # Affects server and client side. Requires restart.
        B:"Without automatic switches"=false

        # Completely disable all (lever like) bistable switches.
        # Affects server and client side. Requires restart.
        B:"Without bistable switches"=false

        # Completely disable all sound emmitting indicators.
        # Affects server and client side. Requires restart.
        B:"Without blinking indicators"=false

        # Disable color tinting for switches and gauges.
        # Affects client and server side. Can be changed during server operation,requires client restart.
        B:"Without color tinting"=false

        # Completely disable all contact switches.
        # Affects server and client side. Requires restart.
        B:"Without contact switches"=false

        # Completely disable all decorative blocks.
        # Affects server and client side. Requires restart.
        B:"Without decorative blocks"=false

        # Gauges shall not frequently lookup weak power provided to the block they are attached to.
        # Affects server side. Can be changed while the game is running.
        B:"Without gauge weak power measurements"=false

        # Completely disable all (power metering) gauges.
        # Affects server and client side. Requires restart.
        B:"Without gauges"=false

        # Completely disable all (blinking and steady) indicator lamps/LEDs.
        # Affects server and client side. Requires restart.
        B:"Without indicators"=false

        # Completely disable all link relay switches.
        # Affects server and client side. Requires restart.
        B:"Without link relay switches"=false

        # Completely disable all (button like) pulse switches.
        # Affects server and client side. Requires restart.
        B:"Without pulse switches"=false

        # Disable pulse time configuration of switches using redstone dust stack clicking
        # Affects server side only. Can be changed while the game is running.
        B:"Without pulse time configuration"=false

        # Disables the possibility to right click switches with Redstone Dust, Ender Pearls or Switch Link pearls for configuration or linking. Can be useful if it is important to the players that no unforseen switch configuration happens when activating a switch was intended. Affects server side only. Can be changed during operation.
        B:"Without rclick item config"=false

        # Disable the 'no output' config option for switches.
        # Affects server side only. Can be changed while the game is running.
        B:"Without switch 'no output' option"=false

        # Disables switch remote linking.
        # Affects server side only. Can be changed during operation.
        B:"Without switch linking"=false
    }

    ##########################################################################################################
    # performance and usability tweaks
    #--------------------------------------------------------------------------------------------------------#
    # Settings to tweak the performance, or use cases normally no change should berequired here.
    ##########################################################################################################

    "performance and usability tweaks" {
        # Sample interval of the gauges in ticks. Lower values decrease the display latency for indirect weak power measurements. Minor performance impact for values >= 5.
        # Affects server side only. Can be changed during operation.
        # Min: 2
        # Max: 100
        I:"Gauge sample interval"=8

        # Sample interval of the linear switches in ticks (like laser pointer based sensors). Lower values make the switches reacting faster, but also have an impact on the server performance due to ray tracing. Has much less impact
        # as the volumetric autoswitch interval.
        # Affects server side only. Can be changed during operation.
        # Min: 1
        # Max: 50
        I:"Linear sensor switch sample interval"=4

        # Timeout in milliseconds defining the timeout for left clicking switches or devices in order to configure them. If the device can be opened, it will be opened on 'double-left-click' and closed again on 'single-left-click'. The item in the hand must be a valid wrench (see 'Accepted wrenches'). For switches/devices that cannot be opened, multi-clicking cycles through the configuration options. The block has to be at least clicked two times withing the timeout to differ configuration from block breaking, and prevent misconfiguration on unintended left-clicking.
        # Affects server side only. Can be changed during operation.
        I:"Switch left-double-click config timeout"=700

        # Sample interval of volume sensing automatic switches in ticks (e.g infrared motion detector). Lower values make the switches reacting faster, but also have an impact on the server performance due to ray tracing.
        # Affects server side only. Can be changed during operation.
        # Min: 5
        # Max: 50
        I:"Volumetric sensor switch sample interval"=10
    }

    ##########################################################################################################
    # miscellaneous
    #--------------------------------------------------------------------------------------------------------#
    # Settings for beta testing and trouble shooting. Some of the settings may be moved to other categories after testing.
    ##########################################################################################################

    miscellaneous {
        # Comma sepatated list of items names that can be used alter configurable blocks of this mod. This applies when the display side of the block is right click (activated) with the item in the main hand.
        # Affects server side only. Can be changed during operation.
        S:"Accepted wrenches"=redstone_torch

        # Defines a constant light level for sensitive glass on the server, no matter if the block is powered or not. Prevents performance issues if many sensitive glass blocks are frequently switched on and off.
        # Affects server side only. Can be changed during operation.
        B:"Constant sensitive glass light level on server"=false

        # Defines how far you or a link source switch can be away from the target to activate it. The value 0 means 'no limitation'.
        # Affects server and client side. Can be changed in-game.
        I:"Max switch linking distance"=48

        # Blocks and items opt'ed out in this config will not disabled in the recipe system, but not registered at all. Note this can cause trouble if server and client have different settings here.
        # Affects server and client side. Requires restart.
        B:"Omit registrations of opt-out features"=false

        # Vertial position of the switch status overlay message.
        # Affects client only. Can be changed in-game.
        # Min: 0.1
        # Max: 0.8
        D:"Switch status overlay y-position"=0.75

        # Enables experimental features, blocks or items.
        # Affects server and client side. Use at own risk.
        B:"With experimental"=false

        # Disable tile entity update() for detector switches
        # (for performance testing only, don't do this at home).
        # Affects server side only. Can be changed during operation.
        B:"Without detector switch update"=false

        # Disable tile entity update() for environmental sensor switches.
        # (for performance testing only, don't do this at home)
        # Affects server side only. Can be changed during operation.
        B:"Without environmental switch update"=false

        # Disable the status overlay for switches and use chat messages instead.
        # Affects server and client side. Requires restart.
        B:"Without switch status overlay"=false

        # Disable tile entity update() for time based switches.
        # (for performance testing only, don't do this at home)
        # Affects server side only. Can be changed during operation.
        B:"Without timer switch update"=false
    }

}


