All Mods Resource Packs Data Packs Shaders Modpacks Plugins
AutoSwitch

AutoSwitch

by dexman545 • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

client Fabric API

AutoSwitch is a Minecraft mod available on Fabric and NeoForge for automatically switching the active tool to the correct one when attacking or interacting with blocks or entities - you attack a stone block, it switches to a pickaxe, then when you hit an annoying gravel patch it switches to a shovel. Which tool is chosen and when is all configurable, taking into account information such as the current enchantments on the tool, the target's blockstate, or an entity's equipment.

AutoSwitch uses a HOCON config file autoswitch.conf, located in the config folder which is next to the resource pack folder. A quick way to navigate there is by going to Options > Resource Packs > navigate up one folder.

The mod can be toggled on/off in game by pressing R (default).


Configuration

This section only applies to AutoSwitch 12+. Earlier versions used a different config format.

There are four sections in the config file - three for defining selectors and targets when various actions occur, and one for general feature configuration:

  • attack-action - rules used when attacking (entities or blocks).
  • interact-action - rules used when interacting (right-clicking entities or blocks).
  • stat-change-action - rules triggered by stat events (e.g., a totem of undying activates, works only in singleplayer).
  • feature-config - Controls the overall behavior of the mod.

Each rule contains:

  • priority - integer; higher values are given precedence what multiple targets match.
  • target - an IdSelector of type BLOCK, ENTITY, STAT, or an EXPRESSION allowing the combination of other targets).
  • tools - ordered array of IdSelectors or EXPRESSIONs with the ITEM type to switch to, or be an empty list (to disable switching for that target).

IdSelectors can reference tags or specific explicit IDs (#minecraft:stone, minecraft:ender_chest). They have an optional data field to allow matching against things like specific item enchantments or blockstates. The player data field can be applied to any type of selector, allowing matching based on the player's condition such as if they are crouching or a certain distance away from a target.

EXPRESSIONs can have as many elements or as much depth as you wish, allowing for a great deal of control. The default config covers a wide range of cases and should serve as a great basis for expanding.

Live edits

Simply resave the config file while the game is running for it to be automatically reloaded.

Configuration Details

Expressions

Expressions can be nested to any depth you desire.

Expressions support the following operations:

  • OR - Match any one of its children
  • AND - Match all of its children
  • NOT - Match none of its children
  • XOR - Match only one of its children

Data

Currently, the following data types are supported:

  • BlockState - The block state to match
  • Component - Currently only supports POTION_CONTENTS on items
  • Enchantment - The enchantments an item has
  • EntityEquipment - The equipment an entity is wearing, such as a pig with a saddle
  • Player - The player's condition, such as if they are sneaking, have a certain item, are riding something, or a certain distance away from a target.

Selection Priority

First, AutoSwitch will examine the target for any match, prefering the highest priority match with matching tools. If there are multiple matches with the same priority, it will begin to look at how specific the configuration is - for example, if config defines targets #minecraft:stone (a tag) and minecraft:stone (a block), and both match and have the same priority, it will prefer the non-tag minecraft:stone target. If that target did not have any matching tools, then it will look at the tools specified by the tag target. If any optional data is specified, that is also considered to make the match more specific. The more data is specified, the more specific the match is considered.

If the matched targets have the same priority and specificity, then it will use a context-aware type rating to prioritize the selection. For blocks, they all have the same rating, but enchantments will be based on the enchantment level, or for items when attacking a mob, it will be based on the estimated damage to be dealt. Specified data can also have its own ratings (e.g. enchantments on a tool). The rating of the type takes precedence over the data rating.

Once a target has been selected, tool selection follows roughly the same process as above. A tool's priority is based on how early it appears in the tool list for the given target, otherwise the specificity, type rating, and data rating are the same as with targets.

If there is no preferred tool at this point, and the held item is one of these tying tools, then it will be preferred. Otherwise, it will prefer the tied tool in the leftmost hotbar slot.

Text-based Flowchart
START: candidate inventory slots (all slots that matched a selector)
|
v
Compare Target Priority
|-- if different --> choose highest Target Priority --> END
|
v (same)
Compare Target Rating (levels 0..N)
For each level:
- compare: isGroup? (non-group preferred)
- compare: hasData? (with data preferred)
- compare: typeRating (higher wins)
- compare: dataRating (higher wins)
|-- if difference found --> choose winner --> END
|
v (no difference)
Compare Tool Priority
|-- if different --> choose highest Tool Priority --> END
|
v (same)
Compare Tool Rating (levels 0..N)
(same per-level rules as Target Rating)
|-- if difference found --> choose winner --> END
|
v (still tied)
Prefer currently selected slot?
|-- Yes --> choose currently selected --> END
|-- No  --> choose smallest (leftmost) slot --> END

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3.x
Neoforge
22h ago 1
26.3.x
Fabric
22h ago 1
26.2.x
Neoforge
22h ago 1
26.2.x
Fabric
22h ago 1
26.2.x
Fabric
22h ago 1
26.2.x 26.1.x 26w14a
Neoforge
22h ago 1
26.2.x 26.1.x 26w14a
Fabric
22h ago 1
26.1.x
Neoforge
22h ago 1
26.1.x
Fabric
22h ago 1
26.1.x
Fabric
22h ago 1
25w46a 25w45a 25w44a +5
Neoforge
22h ago 1
25w46a 25w45a 25w44a +5
Fabric
22h ago 1
1.21.11
Neoforge
22h ago 1
1.21.11
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Neoforge
22h ago 1
25w35a 25w34b 25w34a +4
Fabric
22h ago 1
26.1-snapshot-1
Fabric
22h ago 1
26.1-snapshot-1
Fabric
22h ago 1
1.21.11
Fabric
22h ago 1
1.21.11
Neoforge
22h ago 1
25w46a 25w45a 25w44a +5
Fabric
22h ago 1
25w46a 25w45a 25w44a +5
Neoforge
22h ago 1
25w35a 25w34b 25w34a +4
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Neoforge
22h ago 1
1.21.11
Fabric
22h ago 1
1.21.11
Neoforge
22h ago 1
1.21.11
Fabric
22h ago 1
1.21.11
Neoforge
22h ago 1
1.21.11
Fabric
22h ago 1
1.21.11
Neoforge
22h ago 1
25w35a 25w34b 25w34a +4
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Neoforge
22h ago 1
25w42a 25w41a 25w37a +1
Fabric
22h ago 1
25w42a 25w41a 25w37a +1
Neoforge
22h ago 1
25w37a 1.21.x
Neoforge
22h ago 1
25w37a 1.21.x
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Neoforge
22h ago 1
25w37a 1.21.x
Fabric
22h ago 1
25w37a 1.21.x
Neoforge
22h ago 1
25w37a 1.21.x
Fabric
22h ago 1
25w37a 1.21.x
Neoforge
22h ago 1
25w35a 25w34b 25w34a +4
Fabric
22h ago 1
25w35a 25w34b 25w34a +4
Neoforge
22h ago 1
25w33a 25w32a 25w31a +1
Fabric
22h ago 1
25w33a 25w32a 25w31a +1
Neoforge
22h ago 1
25w32a 25w31a 1.21.x
Fabric
22h ago 1
25w32a 25w31a 1.21.x
Neoforge
22h ago 1
1.21.x
Neoforge
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Neoforge
22h ago 1
1.21.x
Fabric
22h ago 1
25w16a 25w15a 25w14craftmine +4
Fabric
22h ago 1
25w09a
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.2-pre2
Fabric
22h ago 1
1.21.2-pre2
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.21.x
Fabric
22h ago 1
1.20.x
Fabric
22h ago 1
1.20.5-pre4
Fabric
22h ago 1
24w09a
Fabric
22h ago 1
24w03b
Fabric
22h ago 1
23w46a 23w45a 23w44a +10
Fabric
22h ago 1
23w35a 23w33a 23w32a +2
Fabric
22h ago 1
23w35a 23w33a 23w32a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w18a 23w17a 23w16a +2
Fabric
22h ago 1
23w07a 23w06a 23w05a +3
Fabric
22h ago 1
22w44a 22w43a 22w42a +7
Fabric
22h ago 1
1.19.3
Fabric
22h ago 1
22w45a
Fabric
22h ago 1
22w44a 22w43a 22w42a +7
Fabric
22h ago 1
22w43a 22w42a 22w24a +6
Fabric
22h ago 1
22w43a 22w42a 22w24a +6
Fabric
22h ago 1
22w43a 22w42a 22w24a +6
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
1.19.x
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w24a 22w19a 22w18a +4
Fabric
22h ago 1
22w19a 22w18a 22w17a +3
Fabric
22h ago 1
22w19a 22w18a 22w17a +3
Fabric
22h ago 1
22w19a 22w18a 22w17a +3
Fabric
22h ago 1
22w19a 22w18a 22w17a +3
Fabric
22h ago 1
22w19a 22w18a 22w17a +3
Fabric
22h ago 1
22w16b 22w16a
Fabric
22h ago 1
22w07a 22w06a 1.18.x
Fabric
22h ago 1
22w07a 22w06a 1.18.x
Fabric
22h ago 1
22w07a 22w06a 1.18.x
Fabric
22h ago 1
22w07a 22w06a 1.18.x
Fabric
22h ago 1
22w07a 22w06a
Fabric
22h ago 1
22w06a
Fabric
22h ago 1
22w06a 22w05a 22w03a +46
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w44a 21w43a 21w42a +35
Fabric
22h ago 1
21w41a 21w40a 21w39a +40
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w20a 21w19a 21w18a +35
Fabric
22h ago 1
21w14a 21w13a 21w11a +18
Fabric
22h ago 1
21w14a 21w13a 21w11a +18
Fabric
22h ago 1
21w11a 21w10a 21w08b +16
Fabric
22h ago 1
21w11a 21w10a 21w08b +16
Fabric
22h ago 1
21w10a 21w08b 21w08a +15
Fabric
22h ago 1
21w10a 21w08b 21w08a +15
Fabric
22h ago 1
21w08b 21w08a 21w07a +14
Fabric
22h ago 1
21w08a 21w07a 21w06a +13
Fabric
22h ago 1
21w06a 21w05b 21w05a +11
Fabric
22h ago 1
21w03a 20w51a 20w49a
Fabric
22h ago 1
20w51a 20w49a
Fabric
22h ago 1
20w51a 20w49a
Fabric
22h ago 1
20w51a
Fabric
22h ago 1
20w51a
Fabric
22h ago 1
20w49a
Fabric
22h ago 1
20w30a 20w29a 20w28a +3
Fabric
22h ago 1
[17.0.0] autoswitch 17.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.3

[17.0.0] autoswitch 17.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.3

[16.0.0] autoswitch 16.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.2

[16.0.0] autoswitch 16.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.2

  • Fix crash on joining world

[15.0.1] autoswitch 15.0.1 by dexman545 on Oct 18, 2026
Download
  • Fix crash on joining world

[15.0.1] autoswitch 15.0.1 by dexman545 on Oct 18, 2026
Download
  • Fix crash on joining world

[15.0.0] autoswitch 15.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.1 and unobfuscated Minecraft
  • Fix an error when writing an ExpressionTree to the config file
  • Fix an error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve the maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix more complicated data structures not being written correctly
  • Fix Neoforge update url
  • Separate preserve-damaged-items out from skip-depleted-items to allow these behaviors to be controlled independently
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |

[15.0.0] autoswitch 15.0.0 by dexman545 on Oct 18, 2026
Download
  • Update for 26.1 and unobfuscated Minecraft
  • Fix an error when writing an ExpressionTree to the config file
  • Fix an error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve the maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix more complicated data structures not being written correctly
  • Fix Neoforge update url
  • Separate preserve-damaged-items out from skip-depleted-items to allow these behaviors to be controlled independently
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |

  • Update for 26.1 and unobfuscated Minecraft
  • Fix an error when writing an ExpressionTree to the config file
  • Fix an error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve the maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix more complicated data structures not being written correctly
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[13.3.0] autoswitch 13.3.0 by dexman545 on Oct 18, 2026
Download
# 13.3.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[13.3.0] autoswitch 13.3.0 by dexman545 on Oct 18, 2026
Download
# 13.3.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[14.1.0] autoswitch 14.1.0 by dexman545 on Oct 18, 2026
Download
# 14.1.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[14.1.0] autoswitch 14.1.0 by dexman545 on Oct 18, 2026
Download
# 14.1.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[12.3.0] autoswitch 12.3.0 by dexman545 on Oct 18, 2026
Download
# 12.3.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
[12.3.0] autoswitch 12.3.0 by dexman545 on Oct 18, 2026
Download
# 12.3.0
  • Fix an error when writing data to the config file
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Ported Fabric API's "Client Tags" module to Neoforge
  • Now conventional tags (eg c:ores) will work when connecting to a vanilla server from a Neoforge client
  • Fix Neoforge update url
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|---------------|--------------------------------------------------|----------------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
| hasItem | If the player has the given item | ExpressionTree |
| hasHotbarItem | If the player has the given item on their hotbar | ExpressionTree |
# 15.0.0
  • Update for 26.1 and unobfuscated Minecraft
  • Fix an error when writing an ExpressionTree to the config file
  • Fix an error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve the maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config
  • Allow eliding type=<enchantment|item> in tools list, offhand selectors, and enchantments definitions
  • Fix usage of neoforge-replaced way of getting item enchantments
  • Add a default target for ores
  • By default, prefers pickaxes with fortune over those with silk touch, unless the player is crouching,
in which case the opposite occurs with silk touch being preferred.
  • Add Player data type, mostly to support things like the mace
  • Usable in any IdSelector (anywhere you can have a data entry)
  • Supports the same sort of value comparison as Enchantment Levels
  • Example
``hocon
target {
type=BLOCK
id="obsidian"
data {
player {
isCrouching = true
distance {
GREATER = 2
}
}
}
}
``
  • Currently Available Entries

| Type | Description | Type |
|--------------|--------------------------------------------|---------|
| isFlying | If the player is flying | Boolean |
| isCrouching | If the player is crouching | Boolean |
| isPassenger | If the player is riding something | Boolean |
| isOnGround | If the player is on the ground | Boolean |
| isSprinting | If the player is sprinting | Boolean |
| distance | The distance between the player and target | Number |
| fallDistance | The distance the player has fallen | Number |
# 15.0.0
  • Update for 26.1 and unobfuscated Minecraft
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 14.0.3
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats

# 14.0.2
  • Fix incorrect version range

# 14.0.1
  • Fix incorrect mixin json

# 14.0.0
  • Update for 1.21.11

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.3] autoswitch 14.0.3 by dexman545 on Oct 18, 2026
Download
# 15.0.0
  • Update for 26.1 and unobfuscated Minecraft

# 14.0.3
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 14.0.2
  • Fix incorrect version range

# 14.0.1
  • Fix incorrect mixin json

# 14.0.0
  • Update for 1.21.11

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.3] autoswitch 14.0.3 by dexman545 on Oct 18, 2026
Download
# 15.0.0
  • Update for 26.1 and unobfuscated Minecraft

# 14.0.3
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 14.0.2
  • Fix incorrect version range

# 14.0.1
  • Fix incorrect mixin json

# 14.0.0
  • Update for 1.21.11

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[13.2.2] autoswitch 13.2.2 by dexman545 on Oct 18, 2026
Download
# 13.2.2
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[13.2.2] autoswitch 13.2.2 by dexman545 on Oct 18, 2026
Download
# 13.2.2
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[12.2.2] autoswitch 12.2.2 by dexman545 on Oct 18, 2026
Download
# 12.2.2
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 12.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[12.2.2] autoswitch 12.2.2 by dexman545 on Oct 18, 2026
Download
# 12.2.2
  • Improve handling of fallback tools in default config
  • Add mace as a preferred tool for destroying boats
  • Fix error when writing an ExpressionTree to the config file
  • Fix error when writing data to the config file
  • Add support for "exploded data" - that is, the outer data {} tag is now optional. If present, it will take precedence
over the implicitly defined data.
  • Improve maintainability of the ToolSorter
  • Remove unnecessary OR statements from the default config

# 12.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.2] autoswitch 14.0.2 by dexman545 on Oct 18, 2026
Download
# 14.0.2
  • Fix incorrect version range

# 14.0.1
  • Fix incorrect mixin json

# 14.0.0
  • Update for 1.21.11

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.2] autoswitch 14.0.2 by dexman545 on Oct 18, 2026
Download
# 14.0.2
  • Fix incorrect version range

# 14.0.1
  • Fix incorrect mixin json

# 14.0.0
  • Update for 1.21.11

# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.1] autoswitch 14.0.1 by dexman545 on Oct 18, 2026
Download
# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.1] autoswitch 14.0.1 by dexman545 on Oct 18, 2026
Download
# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.0] autoswitch 14.0.0 by dexman545 on Oct 18, 2026
Download
# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
[14.0.0] autoswitch 14.0.0 by dexman545 on Oct 18, 2026
Download
# 13.2.1
  • Remove shearing target defaults for mooshroom, bogged, and snow golems
  • Add sea lanterns to the silk touch default target
  • Add default config entry for things that prefer silk touch axes
  • Add default config entry for things that prefer silk touch hoes
  • Fix stat-change action not working in singleplayer
  • Unfortunately, due to how statistics work they cannot function in multiplayer.
  • If a suitable replacement is found, it will be added to get multiplayer working
  • Simplify honey level target definition in default config
  • Fix matching target debug texts being merged
  • Fix switch-actions config not being obeyed

# 13.2.0
  • Add debug huds to show matched targets and tool selectors
  • Access via F3+F6
  • Named autoswitch:attack_targets, autoswitch:tool_selectors, and autoswitch:interact_targets
  • tool_selectors do not take into consideration the target or Action, they only consider the held item
  • Sorted based on data ratings (not very useful)
  • *_targets are sorted based on target priority and data ratings
  • Mimics the sorting used by the Selection Engine to choose which tool to use
  • Add debug hud to show item tags that apply to the currently held item
  • Access via F3+F6
  • Named autoswitch:item_tags
  • Add debug hud to show enchantment tags for currently held item
  • Access via F3+F6
  • Named autoswitch:enchantment_tags
  • Add debug hud to show entity tags of the currently targeted entity
  • Access via F3+F6
  • Named autoswitch:entity_tags
  • Update Neoforge for new transfer api
  • Support for 21.9.1-beta+

# 13.1.0

# 13.0.0
  • Update for 1.21.9/25w37a

# 12.2.0

# 12.1.2
  • Fix fabric loader dependency always being bumped when building
  • Lock MC version upper bound to 1.21.8/25w36a due to breaking changes in vanilla

# 12.1.1
  • Convert feature-config.switch-away-from-tools from a boolean to a set of actions that can
have the switch away behavior. Defaults to just the ATTACK action.
  • Fix switchback not triggering when feature-config.switch-away-from-tools selects an empty slot.
  • Fix switchback remembering the incorrect slot

# 12.1.0
  • Add config option feature-config.switchback-waits-for-attack-progress to
control when switchback waits for attack progress to fully reset.

# AutoSwitch 12.0.1
  • Fix skipDeletedItems not being applied to items with durability

# Changes Since AutoSwitch 11
  • Complete rewrite of AutoSwitch
  • Update for 1.21.6
  • Minecraft version range is no longer open ended
  • Added Neoforge support
  • New config system using HOCON, see config file in config/autoswitch.conf
  • Added target priorities for cases where multiple targets (eg tags) match
  • Support limiting entity targets based on equipment
  • Support ItemComponent selectors
  • Currently limited to Potion Contents
  • Removed custom tool groups, everything is now using item tags
  • Allow combing selectors with expressions such as AND, OR, XOR, etc for more complex selection logic
  • Use entity sensitive_to tags to for enchantment preferences
  • Remove entity ride event default in favor of interact selectors
  • Add default selector for interacting with fire -> water splash potion
  • Add support for choosing what items to move to the offhand and for which action
  • Fix DPS calculation for entity tool ratings
  • Swords are not correctly preferred over axs without explicit ordering
  • Disable switchback when the player selects a new slot manually
  • Rework AutoSwitch API
  • No longer requires a compile time dependency on AutoSwitch
  • On Neoforge, use IMC
  • On Fabric, use ObjectShare
  • Use Minecraft's internal profiler in some places
  • Added actual tests so hopefully things don't break
  • Removed config commands
  • emvoe bow target
AutoSwitch Icon
Download AutoSwitch
Select game version
Select platform