Description
GlymeraLumberTower - Automated Tree-Felling Tower with Built-In Chests
Place a single tower block and watch it shoot bolts at nearby trees, fell them, vacuum the wood into its built-in chests, and replant a sapling of the same species - all on its own.
What is GlymeraLumberTower?
GlymeraLumberTower adds a static 9-block-tall tower (17 gold-brick blocks + 4 built-in chests) that automates tree harvesting completely. Place it, then walk away. Every five seconds it scans a 60-block cube around itself, fires a green energy bolt at the nearest tree, fells the entire trunk column, sucks the drops into its own chests, and plants a replacement sapling of the matching wood type. When all chests are full, the tower pauses until you make space.
Single JAR, no setup. Drop it into your server's mods/ folder and craft the tower at a workbench.
Features
Fully Automated Tree Harvesting
- 5-second fire cycle per tower - scans, fires, fells, vacuums, replants
- 60-block Chebyshev cube range (3D cube, not sphere - matches the way players think about block ranges)
- Picks the nearest tree when multiple are in range
- Visual bolt: bright green particle trail from the tower tip to the trunk plus an impact strike, with shot/impact sound effects
Smart Trunk Felling
- Fells the entire trunk column in one shot, not just the bottom block
- Triggers Hytale's native physics cascade for branches and leaves (
breakBlock(x, y, z, 0x100)) - Spawns the trunk's natural item drops (the programmatic break path otherwise loses them)
Drop Vacuuming
- 1.5 seconds after impact, the tower scans all item entities in its fire radius
- Tree-drop filter: only picks up wood, leaves, branches, and saplings - unrelated drops on the ground stay where they are
- Round-robin insertion across the four built-in chests, falling through full ones
- Visual feedback: a small green particle burst at the tower tip on each successful vacuum
Automatic Replanting
- On each successful chop, plants a
Plant_Sapling_<WoodType>on the nearest soil block (Type=Soil tag, broader than justSoil_*) - One-sapling-per-tree rule: skips the replant if any sapling already sits within 10 blocks - so multi-shot chopping of one tree never produces a forest of saplings
- Species match: an Oak trunk replants Oak, Stormbark replants Stormbark, etc. (species without a matching sapling - Burnt, Fir - are silently skipped)
Atomic Tower Break (Exploit-Proof)
- The four chest blocks and the floor directly underneath them are protected from being broken or damaged - undermining the floor would otherwise physics-drop a chest as an item
- Breaking any tower block (chest, gold-brick, ornate top) demolishes the entire tower atomically and returns a single tower item to the player
- All chest contents are spawned as item drops at the tower's base - survival players never lose stored items when picking up the tower
- Non-owners cannot break the tower; OPs override
Built-In Chests
- 4×
Furniture_Dungeon_Chest_Epicblocks form the tower's foot - right-click to open like any native chest - Tower pauses firing when all four chests are completely full - no items are destroyed by an overflowing tower
- Chest contents survive server restarts (native Hytale persistence)
Recipe Toggle
- Workbench recipe is enabled by default
- Set
recipesEnabled: falseinconfig.jsonto disable crafting and let admins gate distribution via/give
Crafting
The tower is crafted at the Workbench (Crafting → Workbench_Survival category):
| Ingredient | Quantity |
|---|---|
Concentrated Life Essence (Ingredient_Life_Essence_Concentrated) |
3 |
Gold Bar (Ingredient_Bar_Gold) |
5 |
Output: 1× GlymeraLumberTower (5 second craft time)
Admins can also use /give <player> GlymeraLumberTower to hand them out directly.
Commands
All sub-commands of /lumbertower are OP-only by design (world-modifying or admin commands).
| Command | Description |
|---|---|
/lumbertower spawn |
Place a tower at your feet (the NW-bottom-chest is the anchor) |
/lumbertower remove |
Remove the nearest tower in this world (clean removal, no item drop) |
/lumbertower list |
Show the tower count in this world (yours / total) |
/lumbertower capture <halfWidth> <height> |
Re-capture the structure around you as a new tower template |
/lumbertower captureat <x> <y> <z> <halfWidth> <height> |
Same, with an explicit anchor position |
Configuration
Config file: mods/de.glymera_GlymeraLumberTower/config.json (auto-generated on first start)
{
"_info": "GlymeraLumberTower v1.0.0 - Automated lumber towers.",
"fireRadius": 60,
"cooldownMs": 5000,
"fireTickMs": 1000,
"maxTreeHeight": 32,
"projectileSpeed": 50.0,
"recipesEnabled": true
}
| Field | Description |
|---|---|
fireRadius |
3D Chebyshev half-edge in blocks (default 60 → 121×121×121 search cube) |
cooldownMs |
Milliseconds between shots per tower (default 5000 = 5s) |
fireTickMs |
How often the tower's fire-tick loop runs (default 1000 = 1s) |
maxTreeHeight |
Maximum trunk-column height the felling walks up (default 32) |
projectileSpeed |
Bolt flight speed in blocks per second (default 50 → ~1.2s at 60 blocks) |
recipesEnabled |
If false, the workbench recipe is blocked - admins distribute via /give |
Installation
Drop the single JAR into your server's mods/ folder:
mods/GlymeraLumberTower-1.0.0.jar
That's it. The JAR contains everything: plugin code, the default tower template, block + recipe definitions, particle systems, sounds, icon, and language files. Config, template, and tower-data files are auto-generated under mods/de.glymera_GlymeraLumberTower/ on first start.
Technical Details
- All-in-one JAR with
IncludesAssetPack: true- no separate pack folders required - Default tower template is shipped as
/default-template.jsoninside the JAR and extracted to the data directory on first start (matches the GlymeraObelisk pattern) - Trunk felling uses
world.breakBlock(x, y, z, 0x100)to trigger Hytale's native neighbour-update cascade (thesetBlock("Empty")low-level path would silently delete blocks without propagating updates to branches and leaves) - Trunk drops are spawned manually via
ItemComponent.generateItemDropsbecause the programmatic break path does not produce the natural drop pipeline output - Bottom-trunk detection filters trunks whose block below is not the same trunk type (natural Hytale trees have
Wood_*_RootswithMaterial:Emptybeneath the bottom log) - Soil detection uses the
Type=Soiltag rather than theSoil_*name prefix - this also catchesPathway_*and other tagged blocks that saplings will accept - Sapling re-validation gap: Hytale does not validate
Support.DownatsetBlocktime, only at the first growth tick. The 10-block radius check on existing saplings ensures one tree → one sapling regardless of how many bolts hit it - Atomic protection is tracked in two maps:
blockPosToLumberTower(the 21 tower blocks) andsupportPosToLumberTower(the 4 floor positions under the chests). Break/Damage events on either map trigger atomic demolition; on demolition all chest contents are extracted viaItemContainerBlock.getItemContainer().getItemStack(i)and spawned as item drops - Persistence is atomic (
.tmp+ATOMIC_MOVE) to prevent zero-byte files on crash
Good to Know
- Towers do not aim across worlds. Each tower scans only its own world.
- Towers do not aim at branches or leaves. Only bottom-trunk blocks are targeted - branches and leaves come down via the physics cascade after the trunk is broken.
- Multiple towers in overlapping range all fire independently. The chest contents may end up redundantly populated if both towers vacuum the same drops - that's fine, items are not duplicated.
- Tower placement uses the player's foot position as the NW-bottom-chest anchor. Make sure you have a 3×3 footprint of clear space at your feet when using
/lumbertower spawn. - The recipe is identical to the GlymeraObelisk recipe (3× Concentrated Life Essence + 5× Gold Bar at Workbench Survival). Both items appear as separate craftable entries in the bench - the player picks which one to craft.
Made with care by Glymera for the Hytale community


