# Configuration file

##########################################################################################################
# boats
#--------------------------------------------------------------------------------------------------------#
# Options related to boats.
##########################################################################################################

boats {
    # Whether to patch EntityBoat.
    # Default: true
    B:patchEntityBoat=true

    # Prevents underwater boat passengers from being ejected after 60 ticks (3 seconds).
    # Default: false
    B:preventUnderwaterBoatPassengerEjection=false

    # The buoyancy of boats when they are under flowing water.
    # The vanilla default is -0.0007.
    # Min: -1.7976931348623157E308
    # Max: 1.7976931348623157E308
    # Default: 0.023
    D:underwaterBoatBuoyancy=0.023
}


##########################################################################################################
# client
#--------------------------------------------------------------------------------------------------------#
# Options related to client-sided features.
##########################################################################################################

client {
    # Adds a separate keybind for dismounting.
    # Default: true
    B:dismountKeybind=false

    # Speeds up language switching.
    # Default: true
    B:fastLanguageSwitch=true

    # Forces Minecraft to show the title screen after disconnecting rather than the Multiplayer or Realms menu.
    # Default: false
    B:forceTitleScreenOnDisconnect=false

    # The framerate limit slider step size.
    # If this is set to 10.0, vanilla behavior is not changed.
    # Min: 4.9E-324
    # Max: 260.0
    # Default: 1.0
    D:framerateLimitSliderStepSize=1.0

    # Whether to fix the player model occasionally disappearing when flying with elytra in a straight line in third-person mode.
    # Default: true
    B:invisiblePlayerModelFix=true

    # Whether to add the Toggle Narrator keybind to the controls.
    # Default: true
    B:narratorKeybind=true

    # Set this to false to disable the Minecraft class patches (the Toggle Narrator keybind and custom window title/icon).
    # Default: true
    B:patchMinecraftClass=true

    # Set this to false to force disable the "force title screen on disconnect" patch.
    # Default: true
    B:patchTitleScreenOnDisconnect=true

    # Whether to apply the potion glint patch so that the potion glowing effect can be toggled.
    # Default: true
    B:patchPotionGlint=true

    # Whether to remove the glowing effect from potions.
    # Default: false
    B:removePotionGlint=true

    # Backports the smooth eye level change animations from Minecraft 1.13 and newer.
    # Default: true
    B:patchSmoothEyeLevelChanges=true

    # Whether smooth eye level change animations should be enabled.
    # Default: true
    B:smoothEyeLevelChanges=true

    # Enables the /rpreloadclient command.
    # Default: true
    B:rpreloadclient=true

    ##########################################################################################################
    # window
    #--------------------------------------------------------------------------------------------------------#
    # Options related to the Minecraft window.
    ##########################################################################################################

    window {
        # The path to the 16x16 Minecraft window icon.
        # Leave this and the 32x32 icon blank to use the default icon.
        # Default: 
        S:icon16=

        # The path to the 32x32 Minecraft window icon.
        # Leave this and the 16x16 icon blank to use the default icon.
        # Default: 
        S:icon32=

        # The path to the 256x256 window icon which is used on Mac OS X.
        # Leave this, the 16x16 icon and the 32x32 icon blank to use the default icon.
        # Default: 
        S:icon256=

        # The Minecraft window title.
        # Default: Minecraft 1.12.2
        S:title=Magiculture 2
    }

}


##########################################################################################################
# misc
#--------------------------------------------------------------------------------------------------------#
# Options that don't fit into any other categories.
##########################################################################################################

misc {
    # Whether to prevent the observer from emitting a signal when it is placed.
    # This fixes MC-109832.
    # Default: true
    B:disableObserverSignalOnPlace=true

    # Whether to fix dismount positions being too high.
    # This fixes MC-3328 and MC-111726.
    # Default: true
    B:dismountPositionFix=true

    # Fixes the End portal and End gateway break particle textures and improves End portal rendering.
    # Default: true
    B:endPortalTweaks=true

    # Whether to patch WorldServer to prevent a "TickNextTick list out of synch" IllegalStateException.
    # Default: true
    B:fixTickNextTickListOutOfSynch=false

    # Fixes MC-2025.
    # More information can be found here: https://www.reddit.com/r/Mojira/comments/8pgd4q/final_and_proper_fix_to_mc2025_simple_reliable/
    # Default: true
    B:mc2025Fix=true

    # Fixes MC-64836, which causes non-player entities to be allowed to control minecarts using their AI.
    # Default: true
    B:minecartAIFix=true

    # Fixes MC-5694, which causes fast mining to sometimes only destroy blocks client-side only.
    # Default: true
    B:miningGhostBlocksFix=true

    # Fixes MC-10369 (server-side particle spawning not creating particles for clients) and MC-93826 (breeding hearts only showing once instead of all of the time an animal can breed).
    # Default: true
    B:particleFixes=true

    # Set this to false to disable the NetHandlerPlayServer patches (the speed limits and disconnect timeouts).
    # Default: true
    B:patchNetHandlerPlayServer=true

    # Whether to patch the packet size limit.
    # Default: true
    B:patchPacketSizeLimit=true

    # The packet size limit.
    # The vanilla limit is 2097152.
    # Min: 257
    # Max: 2147483647
    # Default: 16777216
    I:packetSizeLimit=16777216

    # Fixes MC-54026, which causes blocks attached to slime blocks in some circumstances to create ghost blocks if a piston pushes the slime block.
    # Default: true
    B:pistonGhostBlocksFix=true

    # Fixes MC-11944, which allows players to replace End portals, End gateways and Nether portals using buckets.
    # Default: true
    B:portalBucketReplacementFix=true

    # Enables the portal bucket replacement fix for Nether portals.
    # Default: false
    B:portalBucketReplacementFixForNetherPortals=false

    # Fixes MC-129057, which prevents ingredients with NBT data from being transferred to the crafting grid when a recipe is clicked in the recipe book.
    # Default: true
    B:recipeBookNBTFix=true

    # Enables the /rpreload command.
    # Default: true
    B:rpreload=true

    # Fixes player skull stacking.
    # Default: true
    B:skullStackingFix=true

    # Whether skull stacking requires the same textures or just the same player profile.
    # Default: true
    B:skullStackingRequiresSameTextures=true
}


##########################################################################################################
# speedLimits
#--------------------------------------------------------------------------------------------------------#
# Options related to the movement speed limits.
##########################################################################################################

speedLimits {
    # The maximum player speed.
    # The vanilla default is 100.0.
    # Min: 1.0
    # Max: 3.4028234663852886E38
    # Default: 1000000.0
    D:maxPlayerSpeed=1000000.0

    # The maximum player elytra speed.
    # The vanilla default is 300.0.
    # Min: 1.0
    # Max: 3.4028234663852886E38
    # Default: 1000000.0
    D:maxPlayerElytraSpeed=1000000.0

    # The maximum player vehicle speed.
    # The vanilla default is 100.0.
    # Min: 1.0
    # Max: 1.7976931348623157E308
    # Default: 1000000.0
    D:maxPlayerVehicleSpeed=1000000.0
}


##########################################################################################################
# timeouts
#--------------------------------------------------------------------------------------------------------#
# Options related to the disconnect timeouts.
##########################################################################################################

timeouts {
    # The interval at which the server sends the KeepAlive packet.
    # Min: 1
    # Max: 2147483647
    # Default: 15
    I:keepAlivePacketInterval=15

    # The login timeout in ticks.
    # Min: 1
    # Max: 2147483647
    # Default: 1800
    I:loginTimeout=1500

    # Whether to apply the login timeout.
    # Default: true
    B:patchLoginTimeout=true

    # The read timeout in seconds.
    # This is the time it takes for a player to be disconnected after not responding to a KeepAlive packet.
    # This value is automatically rounded up to a product of keepAlivePacketInterval.
    # Min: 1
    # Max: 2147483647
    # Default: 90
    I:readTimeout=90

    # Whether to patch NetworkManager to apply the client-sided read timeout.
    # Default: true
    B:patchNetworkManager=true
}


