nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)

AutoTools

modrinth modrinth

AutoTools looks through your whole inventory and finds the best tool to mine a block or attack a mob. The tool is determined by mining speed, mining level, enchantments, and the DPS. the Mod features a high level of customisation with many config options. For blocks where SilkTouch is preferred see silk_touch.json and for Fortune fortune.json. Shears will always pre preferred for shears.json.

All config options can conveniently be edited using the ClothConfig UI:

  • Selection Config [default]:

    • toggle [false]: AutoTools will always be active and try to get you the best tool. Can be toggled with the set key.
    • disableCreative [true]: Disables AutoTools in creative-mode if toggle is enabled.
    • keepSlot [false]: Keeps the selected slot when swapping to a new tool instead of using the vanilla mechanics.
    • hotbarOnly [false]: AutoTools will only select tool from you hotbar
    • preserveDurability [true]: AutoTools will switch to an item with no durability if no suitable tool has been found
    • hotbarOnly [false]: AutoTools will only select tools from you hotbar
    • preferHotBarTool [true]: AutoTools will prefer the tool already in your hotbar if multiple tools have the same mining speed, regardless their durability.
    • preferLowDurability [false]: AutoTools will prefer the tool with the lower durability, instead of the higher one, if they have the same mining speed and enchantments.
    • preserveDurability [true]: AutoTools will switch to an item with no durability if no suitable tool has been found
    • switchBack [false]: AutoTools will switch back to the item you had in your hand before breaking the block
    • showDPS [true]: Displays the weapons Damage when hovering over it as a tooltip
    • changeForEntities [true]: AutoTools will change to the tool with the most DPS when looking at an entity
    • keepAxe [false]: AutoTools won't change to a better weapon(e.g. a sword) when holding an axe
    • enabled [always]:
      • always: AutoTools will always be active
      • tool: AutoTools will only be active while holding a tool
      • no_tool: AutoTools will only be active while not holding a tool
    • ignoredSlots [[]]: AutoTools won't do anything if the currently selected one of these
    • targetSlots [[1,2,3,4,5,6,7,8,9]]: AutoTools only puts tools in these slots
    • ignoredInventorySlots [[]]: AutoTools won't select tools from these slots in your inventory. See Inventory Slots
    • minDurability [0.0]: If < 1: Seen as a percentage: Tools below minDurability won't be selected
      Else: Seen as durability: tools will be selected until at minDurability (e.g. set to 1 to never break a tool)
    • durabilityCheck [true]: Prevents mining when going under minDurability
    • experimentalBreakDelay [false]: Adds an experimental 1 Tick = 50ms delay if toggle is enabled before breaking a block after a tool switch. Enable this if you are experiencing Desyncs like Ghost-Blocks when instant mining.
  • Block Behaviour:

    • onlySwitchIfNecessary [false]: AutoTools only tries to get a new tool if it is needed to break the block
    • alwaysPreferFortune [false]: Autotools will use Fortune for Gravel and Leaves
    • preferSilkTouch [except_ores]:
      • always: Autotools additionally will use SilkTouch for: grass, stone, ores, leaves, snow
      • ores: AutoTools additionally will use SilkTouch for ores
      • except_ores: Autotools additionally will SilkTouch for: grass, stone, leaves, snow
      • never: Autotools will only use SilkTouch if its required to mine a block.
    • customTools
      • Add custom tool-configurations in JSON format (e.g. customTools={"minecraft:block_id":"minecraft:tool_id"} or customBlocks={"minecraft:block_id":["minecraft:tool_id_1", "minecraft:tool_id_2"]})
      • Note: On Forge and NeoForge you have the use customTools="{"minecraft:block_id":"minecraft: tool_id"}"
      • When adding multiple tools, the first one has the highest priority There are also pre-define lists for tool groups: autotools:pickaxe, autotools:axe, autotools:shovel, autotools:hoe, autotools:sword
      • To completely disable AutoTools for a block use: "autotools:disabled"
      • This works on both blocks and entities (e.g. "minecraft:stone" or "minecraft:sheep")

Compatability

There is a version available for the Forge, NeoForge and Fabric mod loader (ModMenu integration when using the Fabric version)
AutoTools requires ClothConfig.

AutoTools is entirely client-side and works on servers and with many third-party mods.

AutoTools also works with Controllable


For Developers:

Item Compatability:

Tools: Should implement Item.isCorrectToolForDrops(BlockState) and Item.getDestroySpeed(Item, BlockState). Additionally, Blocks should correctly implement requiresCorrectToolForDrops (Mojmap Mappings)

Weapons: Items need their attack damage (and attack speed) stored as AttributeModifiers

Mod Integration:

If you want to depend on AutoTools in your own project, use either one of these configs. A list of available packages can be found at:

https://maven.zelythia.net/#/releases/net/zelythia/autotools-common or https://github.com/zelythia/AutoTools/packages/2683389/versions

repositories {
    maven {
        name = "Zelythia Releases"
        url = uri("https://maven.zelythia.net/releases")
    }
}

According to the GitHub Documentation:

repositories {
    maven {
        url = uri("https://maven.pkg.github.com/zelythia/AutoTools")
        credentials {
            username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
            password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
        }
   }
}

External resources


Project members

zelythia

Owner


Technical information

License
MIT
Client side
required
Server side
unsupported
Project ID