# How many ticks to wait before moving to the next tab when the keybind is held
# Used to smooth out the visual difference between instant screens (like the player inventory) and ping-dependent screens
# Can be lowered for shenanigans
# default: 3
holdTabCooldown = 3
# Whether to allow interacting with entities through blocks
# More seamless, but may be considered cheating by the server
# default: true
ignoreWalls = true
# Whether to rotate the player towards the clicked tab
# Less seamless, but trips anti-cheat less often
# default: false
rotatePlayer = false
# Remove the 1 unit padding in container screens them slightly taller and offset from other screens
# If you're seeing stacks in the wrong places (offset up by 1 unit) on modded containers, turn this off
# default: true
consistentContainers = true
# Strip titles from 6-row container screens to fit them onto minimum-ratio viewports
# default: false
compactLargeContainers = false
# Emits helpful information for setting up this config when joining a world
# Logs all registered screen handler IDs for use in screen overrides
# Logs all registry tab provider contents (blocks etc) to help find bad tabs
# default: true
configLogging = true
# Whether to log vanilla tab provider contents
# For development purposes, not modpack configuration
# default: false
configLoggingVanilla = false
# Whether to show tabs on screens that aren't specified below
# default: true
allowScreensByDefault = true
# Whether to show tabs on the bottom of screens that aren't specified below
# default: false
invertTabsByDefault = false
# How many ticks to keep a tab on-screen for when its block is obstructed.
# Prevents tab 'flickering' with specific setups - raising to 4 should be plenty.
# range: 0 - 5
# default: 0
blockRaycastTimeout = 0

# 
# -------------------------------
# 
# Manually set whether tabs should be shown on a given screen
# 
[screenOverrides]
	"minecraft:smoker" = true

# 
# -------------------------------
# 
# Manually set the left bound offset for a given screen
# Positive values expand the left boundary, allowing more tabs to be drawn
# null means the player inventory
# 
[leftBoundOffsetOverride]
	"minecraft:loom" = 0

# 
# -------------------------------
# 
# Manually set the right bound offset for a given screen
# Positive values expand the right boundary, allowing more tabs to be drawn
# null means the player inventory
# 
[rightBoundOffsetOverride]
	"minecraft:loom" = 0

# 
# -------------------------------
# 
# Manually choose where to place tabs on a given screen
# false means above, true means below
# null key means the player inventory
# 
[invertedTabsOverride]
	"minecraft:beacon" = false

# 
# -------------------------------
# 
# Manually set the Tab Provider for a given block or tag
# | -Provider ID-        | -Tab Behaviour-                            | -Default Blocks Added-
# | block_shulker_box    | Checks shulker blocked state               | Adds all ShulkerBoxBlocks
# | block_ender_chest    | Unique, checks chest blocked state         | Adds all EnderChestBlocks
# | block_chest          | L/R Multiblock, checks chest blocked state | Adds all AbstractChestBlocks
# | block_unique         | Only one tab can exist per block type      | Adds all CraftingTableBlocks, AnvilBlocks, CartographyTableBlocks, GrindstoneBlocks, LoomBlocks, and StonecutterBlocks
# | block_simple_storage | Sorted alongside other chest-like tabs     | Adds all BarrelBlocks
# | block_simple         | No special logic                           | Adds all BlockWithEntities, except 25 known-bad vanilla block classes - this adds lots of invalid modded blocks!
# | ""                   | No tab at all!                             | Use this to disable bad block tabs in your pack
# 
[blockProviderOverrides]
	"minecraft:crafting_table" = "inventory_tabs:block_unique"
	"#minecraft:doors" = ""
	"minecraft:fletching_table" = ""

# 
# -------------------------------
# 
# Manually set the Tab Provider for a given entity or tag
# | -Provider ID- | -Tab Behaviour-                          | -Default Entities Added-
# | entity_sneak  | Uses sneak-interact, checks tamed/riding | Adds all RideableOpenableInventories
# | entity_simple | Checks player isn't riding the entity    | Adds all StorageMinecartEntities
# | ""            | No tab at all!                           | Use this to disable bad entity tabs in your pack
# 
[entityProviderOverrides]
	"minecraft:chest_minecart" = "inventory_tabs:entity_simple"

# 
# -------------------------------
# 
# Manually set the Tab Provider for a given item or tag
# | -Provider ID- | -Tab Behaviour-                      | -Default Items Added-
# | item_unique   | Only one tab can exist per item type | Adds nothing
# | item_simple   | No special logic                     | Adds nothing
# | ""            | No tab at all!                       | Use this to disable bad item tabs in your pack
# 
[itemProviderOverrides]
	"minecraft:dirt" = ""

# 
# -------------------------------
# 
# Enable or disable the default added logic for each tab provider (see above)
# Non-registry Tab Providers like player_inventory and vehicle_inventory can't be disabled here
# 
[registryProviderDefaults]
	"inventory_tabs:block_shulker_box" = true
	"inventory_tabs:block_ender_chest" = true
	"inventory_tabs:block_chest" = true
	"inventory_tabs:block_unique" = true
	"inventory_tabs:block_simple_storage" = true
	"inventory_tabs:block_simple" = true
	"inventory_tabs:entity_sneak" = true
	"inventory_tabs:entity_simple" = true
	"inventory_tabs:item_unique" = true
	"inventory_tabs:item_sneak" = true
	"inventory_tabs:item_simple" = true
	"inventory_tabs:player_inventory" = true
	"inventory_tabs:vehicle_inventory" = true
