> For the complete documentation index, see [llms.txt](https://epromc.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://epromc.gitbook.io/docs/etools/readme.md).

# Overview

Documentation for eTools - custom tools and utilities plugin for Paper, Purpur, and Folia.

**eTools** (`v0.0.1-RELEASE`) is a custom tools plugin for Paper, Purpur, and Folia servers running Minecraft 1.21.x and 26.1.2 - 26.2 on Java 21+ or Java 25. It provides configurable tools with area mining, tree felling, AoE farming, AoE shearing, and infinite utility items, all with an optional lifespan system.

[![bStats Servers](https://img.shields.io/bstats/servers/33947?style=for-the-badge\&logo=minecraft\&logoColor=white\&label=bStats%20Servers\&color=00D26A)](https://bstats.org/plugin/bukkit/eTools/33947) [![bStats Players](https://img.shields.io/bstats/players/33947?style=for-the-badge\&logo=minecraft\&logoColor=white\&label=bStats%20Players\&color=1085FF)](https://bstats.org/plugin/bukkit/eTools/33947)

***

## Tool Types

**Drills and Shovels (`DRILL`, `SHOVEL`)** Break blocks in a configurable area defined by three dimensions: **width x height x depth**. The area automatically rotates to match the face the player is mining:

* Mining a **wall** (facing North/South/East/West) opens a vertical tunnel - width spans horizontal, height spans vertical.
* Mining a **floor or ceiling** (looking up/down) clears a flat horizontal plane - width and height span the X/Z axes relative to the player's facing direction.
* The **depth** field extends the area further into the wall or downward, enabling true 3D shapes like `3x3x3` or `3x3x5`.

Drill target blocks include all stone, ore, deepslate, netherrack, end stone, sandstone, basalt, blackstone, tuff, and similar. Shovel target blocks include dirt, grass, sand, gravel, clay, mud, soul sand, soul soil, and snow.

**Tree Feller (`AXE`)** Fells a connected tree in one swing using BFS traversal. Continues to adjacent logs of the same type up to a configurable block limit (default: 500, configurable via `max-tree-feller-blocks` or per-tool `max-logs`). Connected leaves are removed automatically after felling if `tree-feller-decay-leaves` is enabled.

**Farming Hoes (`HOE`)** Two distinct behaviors depending on what the player clicks:

* **Mature crops** - harvests all mature crops (wheat, carrots, potatoes, beetroots, nether wart, cocoa, pitcher crops, torchflowers) in the configured area, then replants seeds at age 0 automatically.
* **Hoe-mineable blocks** - breaks blocks in a directional area using the same `width x height x depth` system as drills. Supported blocks include hay bales, sculk family, moss, leaves, sponges, froglights, melons, pumpkins, and others in the `MINEABLE_HOE` tag.

**AoE Shears (`SHEARS`)** Shears all adult sheep within range simultaneously or harvests leaves, cobwebs, vines, and tall grass in a directional area.

**Infinite Utility Items** Items that do not consume the item on use:

* `INFINITE_PEARL` - ender pearl throw with configurable cooldown
* `INFINITE_ROCKET` - elytra boost with configurable cooldown
* `INFINITE_BUCKET` - place water or lava; placed fluid evaporates automatically after `temporary-duration` seconds (default: 10s) to prevent abuse
* `INFINITE_GOLDEN_APPLE` - eat golden apple with cooldown
* `INFINITE_STEAK` - eat steak with cooldown

***

## Lifespan System

Each tool can be configured with one of three expiry modes:

| Mode          | Behavior                                                           |
| ------------- | ------------------------------------------------------------------ |
| `ONLINE_TIME` | Counts down only while the player is online. Pauses on disconnect. |
| `REAL_TIME`   | Counts down in real-world time regardless of login status.         |
| `UNLIMITED`   | No expiry. Tool lasts indefinitely.                                |

Remaining time is stored per-item UUID in the database and displayed in the item lore via the `<time_remaining>` placeholder.

***

## Natural Only Mode

Players can toggle **Natural Only** mode via `/etools settings`. When enabled, area mining skips any block that was placed by a player (detected via PDC metadata or CoreProtect integration), so the tool only breaks naturally generated terrain.

***

## Pages

* [Installation & Setup](/docs/etools/getting-started/installation-and-setup.md)
* [Commands & Permissions](/docs/etools/getting-started/commands-and-permissions.md)
* [Custom Tools Guide](/docs/etools/core-features-and-mechanics/custom-tools-guide.md)
* [Configuration Guide](/docs/etools/core-features-and-mechanics/configuration-guide.md)
* [Database & Lifespans](/docs/etools/core-features-and-mechanics/database-and-lifespans.md)
* [Terms of Service](/docs/etools/legal/terms-of-service.md)
* [FAQ](/docs/etools/legal/faq.md)

***

## Purchasing & License Terms

eTools requires a commercial license key to operate. Keys are sold exclusively through the EproMC Discord server and are bound to your server IP address (covering 1 production server and 1 private test server). Open a ticket in the `#purchase` channel. After purchasing, place your key in `plugins/eTools/license.yml`.

Before purchasing or using eTools, please review and agree to our [Terms of Service](/docs/etools/legal/terms-of-service.md). All digital sales are strictly final and non-refundable once the license key has been issued. For common questions regarding instance limits, IP rebinding, and activation, check the [FAQ](/docs/etools/legal/faq.md).

***

## Support

* Discord: [discord.gg/sVWuc49eYV](https://discord.gg/sVWuc49eYV)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://epromc.gitbook.io/docs/etools/readme.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
