# Configuration file

general {

    blocks {
        # Fixes rendering issues with banners by correctly sizing their render bounding boxes
        # Incompatible with RenderLib
        B:"Banner Bounding Box"=true

        # Fixes inconsistent delays of comparators to prevent redstone timing issues
        B:"Comparator Timing"=true

        # Only damage living entities hit by falling blocks, prevents killing items and XP
        B:"Falling Block Entity Damage"=true

        # Slims down the hopper bounding box for easier access of nearby blocks
        B:"Hopper Bounding Box"=true

        # Prevents crashes when the destination tile entity becomes unavailable during the item insert process
        # Mainly utilized to suppress edge case symptoms with Thaumcraft's Thaumatorium
        B:"Hopper Insert Safety Check"=true

        # Prevents voiding held items when right + left clicking on an item frame simultaneously
        B:"Item Frame Void"=true

        # Disables climbing movement when flying
        B:"Ladder Flying Slowdown"=true
        B:"Mining Glitch"=true

        # Properly saves the last state of pistons to tags
        B:"Piston Progress"=true

        # Improves retraction behavior on double piston extenders
        B:"Piston Retraction"=false

        # Fixes sleeping always resetting rain and thunder times
        B:"Sleep Resets Weather"=true

        "block overlay" {
            # Fixes x-ray when standing in non-suffocating blocks
            B:"[1] Block Overlay Toggle"=true

            # Excludes blocks from the block overlay bugfix
            # Syntax: modid:block
            S:"[2] Blacklist" <
             >

            # Includes blocks in the block overlay bugfix
            # Syntax: modid:block
            S:"[3] Whitelist" <
             >
        }

        "mining glitch" {
            # Prevents ghost blocks by sending additional movement packets
            B:"[1] Mining Glitch Toggle"=true

            # Defines the maximum number of movement packets that can be sent per tick
            # Vanilla default is 5
            I:"[2] Maximum Movement Packets"=10
        }

    }

    entities {
        # Improves the attack radius of hostile mobs by checking the line of sight with raytracing
        B:"Attack Radius"=true

        # Prevents fire projectiles burning entities when blocking with shields
        B:"Block Fire"=true

        # Fixes entities glitching through the bottom of boats
        B:"Boat Riding Offset"=true

        # Replaces linked entity AI task sets with concurrent sets to avoid mod exception concerning entity AI
        # Only enable this if you're facing concurrent modification exceptions with entity AI tasks, for example Thaumcraft's Pechs
        B:"Concurrent Entity AI Tasks"=false

        # Fixes corrupted entities exceeding the allowed death time
        B:"Death Time"=true

        # Fixes lag caused by dead entities by sending additional packets when the player is not alive
        B:"Destroy Entity Packets"=true

        # Fixes missing player states when changing dimensions by sending additional packets
        B:"Dimension Change Player States"=true

        # Fixes item duplications when players are dropping items and disconnecting
        B:"Disconnect Dupe"=true

        # Fixes a duplication exploit connected to the inventories of donkeys and mules
        B:"Donkey/Mule Dupe"=true

        # Fixes consuming an item having a chance of also consuming a second item without any animation
        B:"Double Consumption"=true

        # Relocate elytra deployment and landing to client side to prevent issues with high latencies
        B:"Elytra Deployment & Landing"=true

        # Saves entity bounding boxes to tags to prevent breakouts and suffocation
        B:"Entity Bounding Box"=true

        # Fixes non-functional elytra firework boosting and guardian targeting if the entity ID is 0
        B:"Entity ID"=true
        B:"Entity Lists"=true

        # Prevents corruption of entities caused by invalid health or damage values
        B:"Entity NaN Values"=true

        # Pushes entities out of blocks when growing up to prevent suffocation
        B:"Entity Suffocation"=true

        # Fixes entity tracker to prevent client-sided desyncs when teleporting or changing dimensions
        # Incompatible with SpongeForge
        B:"Entity Tracker"=true

        # Changes UUIDs of loaded entities in case their UUIDs are already assigned (and removes log spam)
        B:"Entity UUID"=true

        # Fixes the player model occasionally disappearing when flying with elytra in a straight line in third-person mode
        # Incompatible with OpenModsLib
        B:"Fixes Invisible Player when Flying with Elytra"=true

        # Modifies falling logic of horses, listening to LivingFallEvent and taking jump boost into account
        B:"Horse Falling"=true

        # Corrects maximum player health on joining by setting the last saved health value
        B:"Max Player Health"=true

        # Fixes non-player entities being able to control minecarts
        B:"Minecart AI"=true

        # Fixes mounts and boats sometimes disappearing after dismounting
        B:"Mount Desync"=true

        # Fixes saturation depleting in peaceful mode
        B:"Player Saturation"=true

        # Fixes a duplication exploit connected to shearing mooshrooms
        B:"Shear Mooshroom Dupe"=true

        # Fixes skeletons not looking at their targets when strafing
        B:"Skeleton Aim"=true

        # Fixes untipped arrows emitting blue tipped arrow particles upon reloading a world
        B:"Untipped Arrow Particles"=true

        # Returns missing hoods to villager mantles
        B:"Villager Mantle Hoods"=true

        "entity desync" {
            # Fixes entity motion desyncs most notable with arrows and thrown items
            B:"[1] Entity Desync Toggle"=true

            # Syntax:  modid:entity
            # Example: minecraft:minecart
            S:"[2] Entity Blacklist" <
                minecraft:minecart
             >
        }

        "entity lists" {
            # Fixes chunk entity lists often not getting updated correctly
            B:"Chunk Updates"=true

            # Fixes client-side memory leak where some entity ids are not set before being added to the world's entity list
            B:"World Additions"=true
        }

    }

    misc {
        # Improves the accuracy of smooth lighting by checking for suffocation and light opacity
        B:"Accurate Smooth Lighting"=true
        B:"Blast Protection Knockback"=false

        # Fixes crafted item statistics not increasing correctly when items are crafted with shift-click or drop methods
        B:"Crafted Item Statistics"=true

        # Fixes entity and particle rendering issues by enabling depth buffer writing
        B:"Depth Mask"=true

        # Replaces the help command, sorts and reports broken commands
        B:"Help Command"=true

        # Prevents various crashes with Turkish locale
        B:"Locale Crash"=true

        # Increases the packet size limit to account for large packets in modded environments
        # Vanilla default is 0x200000
        # Incompatible with SpongeForge and RandomPatches
        I:"Packet Size"=16777216

        # Fixes various particle types not showing up on the client
        B:"Particle Spawning"=true

        # Fixes potion effects not displaying their level above 'IV'
        B:"Potion Amplifier Visibility"=true

        # Fixes the spectator menu not showing player skins
        B:"Spectator Menu"=true

        "model gap" {
            # Fixes transparent gaps in all 3D models of blocks and items
            B:"[1] Model Gap Toggle"=true

            # Quad X/Y offset
            # Moves the quad toward the center of the item
            # Use to hide gaps, keep as close to 0 as possible
            D:"[2] Recess Value"=0.007

            # Quad expansion increment
            # Enlarges each quad
            # Use to hide gaps, keep as close to 0 as possible
            D:"[3] Expansion Value"=0.008
        }

    }

    world {
        # Fixes loading of outdated chunks to prevent duplications, deletions and data corruption
        # Incompatible with SpongeForge
        B:"Chunk Saving"=true

        # Fixes invisible chunks in edge cases (small enclosed rooms at chunk borders)
        B:"Frustum Culling"=true

        # Fixes duplication issues that can occur when entities travel through portals
        B:"Portal Traveling Dupe"=true

        # Changes the data table of tile entities to resolve issues
        # HASHMAP:                   Vanilla default
        # LINKED_HASHMAP:            Keeps the loading order of tile entities to prevent issues during the first ticks of chunk loading
        # CONCURRENT_HASHMAP:        Allows simultaneous access to tile entities to prevent concurrent modification exceptions
        # CONCURRENT_LINKED_HASHMAP: Combines LINKED_HASHMAP and CONCURRENT_HASHMAP, may have random side effects
        # Valid values:
        # HASHMAP
        # LINKED_HASHMAP
        # CONCURRENT_HASHMAP
        # CONCURRENT_LINKED_HASHMAP
        S:"Tile Entity Map"=LINKED_HASHMAP

        # Fixes witch hut structure data not accounting for the height it is generated at
        B:"Witch Huts"=true
    }

}


