Compatibility
Minecraft: Java Edition
1.21ā1.21.10
Platforms
Creators
Details
Licensed MIT
Published 3 months ago
Updated 3 months ago
Essential Utils
A Folia-optimized survival convenience plugin for Paper/Folia 1.21.8.
Adds smooth, lag-free mechanics like tree chopping, vein mining, and auto-farming.
⨠Features
-
š² Tree Assist (axe)
- Incrementally chops connected logs with per-block delay (smooth, no spikes).
- Leaf checks to avoid cutting adjacent trees.
- Optional auto-replant (saplings/propagules), retries with cooldown until successful.
- Durability decreases once per N blocks, not per block.
-
ā Vein Mine (pickaxe)
- Incrementally mines connected ore veins.
- Enforces Minecraft tool tier rules:
- If tier too low ā no break, alert shown (rate-limited).
- Delay per block scales with vein size.
- Durability decreases once per N blocks.
-
š¾ Auto Farm (hoe)
- Harvests only mature crops in a radius.
- No auto-replant (intentional).
- Optimized for local chunk scans.
-
ā Activation
- Hold Shift for 5 seconds ā arms tool (progress bar shown).
- Once armed, stays armed even after releasing Shift.
- Deactivates only when item is changed or player quits.
-
š” Safety
- Respects protections (future: WorldGuard/GriefDefender hooks).
- Requires loaded chunks.
- Folia region-safe scheduling only (no async hacks).
-
š Performance
- Centralized per-player tick budget.
- Strict per-feature caps.
- Smooth staggered breaking.
š Project Structure
src/main/java/net/ppekkungz/essentialUtils/
āāā EssentialUtils.java
āāā config/PluginConfig.java
āāā state/StateManager.java
āāā listener/ActivationListener.java
āāā work/
ā āāā WorkService.java
ā āāā WorkItem.java
ā āāā WorkQueue.java
āāā features/
ā āāā Feature.java
ā āāā tree/TreeAssistFeature.java
ā āāā vein/VeinMineFeature.java
ā āāā farm/AutoFarmFeature.java
āāā util/
ā āāā HarvestUtil.java
ā āāā Materials.java
ā āāā Ores.java
āāā indicator/
āāā BossBarIndicator.java
āāā ActionBarIndicator.java
ā” Usage
- Drop
EssentialUtils-x.x.x.jarinto yourplugins/folder. - Run with Paper 1.21.8+ and Folia.
- Config (
config.yml) is generated on first run.
Commands
/eutils reload # reloads config.yml
Permission
essentialutils.admin # required for /eutils reload (default: op)
ā Config Highlights
activation:
holdSneakSeconds: 5
requireToolWhileHold: true
features:
treeAssist:
breakDelayTicks: 2
durabilityPerNBlocks: 8
replant:
enabled: true
retryCooldownTicks: 5
maxRetries: 10
veinMine:
breakDelayBaseTicks: 1
breakDelayExtraPer16: 1
durabilityPerNBlocks: 10
alertOnInsufficientTier: true
autoFarm:
replant: false
š Build
Requires:
- JDK 21
- Gradle (wrapper included)
Build with:
./gradlew build
Jar output:
build/libs/essential-utils-<version>.jar
ā TODO / Roadmap
- [x] Tree Assist (incremental, replant, durability-per-N)
- [x] Vein Mine (incremental, tier alerts, delay scaling, durability-per-N)
- [x] Auto Farm (mature crops only, no replant)
- [x] Activation (Shift-hold progress, persists armed, deactivates on item change)
- [x] Config reload (
/eutils reload) - [x] Folia-safe scheduling
- [x] Strict per-feature caps
- [ ] Protection hooks (WorldGuard/GriefDefender)
- [ ] BossBar indicators during ACTIVE
- [ ] Configurable durability rules per tool type
- [ ] Additional auto-farm crops (bamboo, sugarcane, kelp)
- [ ] Multi-language messages
- [ ] Metrics toggle (bStats)
- [ ] Per-player toggle commands (enable/disable features individually)
š License
MIT Ā© 2025 ppekkungz



