{"id":65492,"date":"2026-06-03T21:22:21","date_gmt":"2026-06-03T18:22:21","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/"},"modified":"2026-06-03T21:22:21","modified_gmt":"2026-06-03T18:22:21","slug":"essentialutils","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/","title":{"rendered":"EssentialUtils"},"content":{"rendered":"<p># Essential Utils<\/p>\n<p>![Java](https:\/\/img.shields.io\/badge\/Java-21-orange) ![Gradle](https:\/\/img.shields.io\/badge\/Gradle-Build-brightgreen) ![PaperMC](https:\/\/img.shields.io\/badge\/PaperMC-1.21.8-blue) ![Folia](https:\/\/img.shields.io\/badge\/Folia-Supported-success)<\/p>\n<p>> A **Folia-optimized survival convenience plugin** for Paper\/Folia 1.21.8.<br \/>\n> Adds smooth, lag-free mechanics like tree chopping, vein mining, and auto-farming.<\/p>\n<p>&#8212;<\/p>\n<p>## \u2728 Features<\/p>\n<p>&#8211; **\ud83c\udf32 Tree Assist (axe)**<br \/>\n  &#8211; Incrementally chops connected logs with **per-block delay** (smooth, no spikes).<br \/>\n  &#8211; **Leaf checks** to avoid cutting adjacent trees.<br \/>\n  &#8211; **Optional auto-replant** (saplings\/propagules), retries with cooldown until successful.<br \/>\n  &#8211; Durability decreases **once per N blocks**, not per block.<\/p>\n<p>&#8211; **\u26cf Vein Mine (pickaxe)**<br \/>\n  &#8211; Incrementally mines connected ore veins.<br \/>\n  &#8211; Enforces **Minecraft tool tier rules**:<br \/>\n    &#8211; If tier too low \u2192 **no break**, **alert shown** (rate-limited).<br \/>\n  &#8211; Delay per block scales with vein size.<br \/>\n  &#8211; Durability decreases once per N blocks.<\/p>\n<p>&#8211; **\ud83c\udf3e Auto Farm (hoe)**<br \/>\n  &#8211; Harvests **only mature crops** in a radius.<br \/>\n  &#8211; No auto-replant (intentional).<br \/>\n  &#8211; Optimized for local chunk scans.<\/p>\n<p>&#8211; **\u2699 Activation**<br \/>\n  &#8211; **Hold Shift for 5 seconds** \u2192 arms tool (progress bar shown).<br \/>\n  &#8211; Once armed, stays armed even after releasing Shift.<br \/>\n  &#8211; **Deactivates only when item is changed** or player quits.<\/p>\n<p>&#8211; **\ud83d\udee1 Safety**<br \/>\n  &#8211; Respects protections (future: WorldGuard\/GriefDefender hooks).<br \/>\n  &#8211; Requires loaded chunks.<br \/>\n  &#8211; Folia region-safe scheduling only (no async hacks).<\/p>\n<p>&#8211; **\ud83d\udcca Performance**<br \/>\n  &#8211; Centralized per-player tick budget.<br \/>\n  &#8211; Strict per-feature caps.<br \/>\n  &#8211; Smooth staggered breaking.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcc2 Project Structure<\/p>\n<p>&#8220;`<br \/>\nsrc\/main\/java\/net\/ppekkungz\/essentialUtils\/<br \/>\n\u251c\u2500\u2500 EssentialUtils.java<br \/>\n\u251c\u2500\u2500 config\/PluginConfig.java<br \/>\n\u251c\u2500\u2500 state\/StateManager.java<br \/>\n\u251c\u2500\u2500 listener\/ActivationListener.java<br \/>\n\u251c\u2500\u2500 work\/<br \/>\n\u2502   \u251c\u2500\u2500 WorkService.java<br \/>\n\u2502   \u251c\u2500\u2500 WorkItem.java<br \/>\n\u2502   \u2514\u2500\u2500 WorkQueue.java<br \/>\n\u251c\u2500\u2500 features\/<br \/>\n\u2502   \u251c\u2500\u2500 Feature.java<br \/>\n\u2502   \u251c\u2500\u2500 tree\/TreeAssistFeature.java<br \/>\n\u2502   \u251c\u2500\u2500 vein\/VeinMineFeature.java<br \/>\n\u2502   \u2514\u2500\u2500 farm\/AutoFarmFeature.java<br \/>\n\u251c\u2500\u2500 util\/<br \/>\n\u2502   \u251c\u2500\u2500 HarvestUtil.java<br \/>\n\u2502   \u251c\u2500\u2500 Materials.java<br \/>\n\u2502   \u2514\u2500\u2500 Ores.java<br \/>\n\u2514\u2500\u2500 indicator\/<br \/>\n    \u251c\u2500\u2500 BossBarIndicator.java<br \/>\n    \u2514\u2500\u2500 ActionBarIndicator.java<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \u26a1 Usage<\/p>\n<p>1. Drop `EssentialUtils-x.x.x.jar` into your `plugins\/` folder.<br \/>\n2. Run with **Paper 1.21.8+** and **Folia**.<br \/>\n3. Config (`config.yml`) is generated on first run.<\/p>\n<p>### Commands<br \/>\n&#8220;`bash<br \/>\n\/eutils reload   # reloads config.yml<br \/>\n&#8220;`<\/p>\n<p>### Permission<br \/>\n&#8220;`<br \/>\nessentialutils.admin   # required for \/eutils reload (default: op)<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \u2699 Config Highlights<\/p>\n<p>&#8220;`yaml<br \/>\nactivation:<br \/>\n  holdSneakSeconds: 5<br \/>\n  requireToolWhileHold: true<\/p>\n<p>features:<br \/>\n  treeAssist:<br \/>\n    breakDelayTicks: 2<br \/>\n    durabilityPerNBlocks: 8<br \/>\n    replant:<br \/>\n      enabled: true<br \/>\n      retryCooldownTicks: 5<br \/>\n      maxRetries: 10<\/p>\n<p>  veinMine:<br \/>\n    breakDelayBaseTicks: 1<br \/>\n    breakDelayExtraPer16: 1<br \/>\n    durabilityPerNBlocks: 10<br \/>\n    alertOnInsufficientTier: true<\/p>\n<p>  autoFarm:<br \/>\n    replant: false<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udee0 Build<\/p>\n<p>Requires:<br \/>\n&#8211; JDK **21**<br \/>\n&#8211; Gradle (wrapper included)<\/p>\n<p>Build with:<br \/>\n&#8220;`bash<br \/>\n.\/gradlew build<br \/>\n&#8220;`<\/p>\n<p>Jar output:<br \/>\n&#8220;`<br \/>\nbuild\/libs\/essential-utils-<version>.jar<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \u2705 TODO \/ Roadmap<\/p>\n<p>&#8211; [x] Tree Assist (incremental, replant, durability-per-N)<br \/>\n&#8211; [x] Vein Mine (incremental, tier alerts, delay scaling, durability-per-N)<br \/>\n&#8211; [x] Auto Farm (mature crops only, no replant)<br \/>\n&#8211; [x] Activation (Shift-hold progress, persists armed, deactivates on item change)<br \/>\n&#8211; [x] Config reload (`\/eutils reload`)<br \/>\n&#8211; [x] Folia-safe scheduling<br \/>\n&#8211; [x] Strict per-feature caps<br \/>\n&#8211; [ ] Protection hooks (WorldGuard\/GriefDefender)<br \/>\n&#8211; [ ] BossBar indicators during ACTIVE<br \/>\n&#8211; [ ] Configurable durability rules per tool type<br \/>\n&#8211; [ ] Additional auto-farm crops (bamboo, sugarcane, kelp)<br \/>\n&#8211; [ ] Multi-language messages<br \/>\n&#8211; [ ] Metrics toggle (bStats)<br \/>\n&#8211; [ ] Per-player toggle commands (enable\/disable features individually)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcdc License<\/p>\n<p>MIT \u00a9 2025 ppekkungz<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tree chopping, vein mining, and auto-farming.<\/p>\n","protected":false},"featured_media":65493,"template":"","meta":{"_minecraft_slug":"essentialutils","_minecraft_project_id":"zbPvI2b0","_minecraft_author":"PPekKunGz","_minecraft_license":"MIT","_minecraft_downloads":198,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"essentialutils.zip","_minecraft_size_bytes":34892,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T12:44:55.650525Z","_minecraft_date_created":"2025-11-13T00:31:15.114246Z","_minecraft_date_modified":"2025-11-09T14:53:19.642742Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/essentialutils","_minecraft_icon_attachment_id":65493,"_minecraft_imported_at":"2026-06-03T18:22:22+00:00","_minecraft_import_hash":"859480221b67423c5d95cdb17b42f767","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,88,125,90,127,129,123,92],"mod_loader":[130,131,132,134],"minecraft_version":[62,37,40,73,74,38,78,79,80,81,82],"class_list":["post-65492","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-equipment","mod_category-folia","mod_category-optimization","mod_category-paper","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-folia","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>EssentialUtils - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EssentialUtils - Minecraft\" \/>\n<meta property=\"og:description\" content=\"tree chopping, vein mining, and auto-farming.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/\",\"name\":\"EssentialUtils - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp\",\"datePublished\":\"2026-06-03T18:22:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/essentialutils\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"EssentialUtils\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"EssentialUtils - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/","og_locale":"en_US","og_type":"article","og_title":"EssentialUtils - Minecraft","og_description":"tree chopping, vein mining, and auto-farming.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/","name":"EssentialUtils - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp","datePublished":"2026-06-03T18:22:21+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/essentialutils-icon-07e2b4bf7c4c77eca72aa5697d27753bdd5e38ba_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/essentialutils\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"EssentialUtils"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/65492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/65493"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=65492"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=65492"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=65492"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=65492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}