GlymeraObelisk - Defensive Lightning Obelisk
A 17-block gold-brick monument that automatically fires glowing energy bolts at hostile or aggressive creatures within a configurable 3D cube radius. Owner-protected, craftable, with custom sound and particle effects.
What is GlymeraObelisk?
GlymeraObelisk gives you a static defensive structure you can plant in your base, your farm, your trade outpost, anywhere you want to keep hostile mobs out. Place a single item, and a full 17-block gold-brick obelisk rises from the ground. From the moment it stands, it will quietly scan the area around it and pick off any creature that is hostile to players, or any creature that can become hostile to players (predators, mythic beasts) - while leaving peaceful livestock and prey alone.
It is built from native Hytale blocks, hooks into the native NPC attitude system to decide who is a valid target, and uses a custom particle and sound pair so you can clearly tell when one of your obelisks is engaging.
How It Works
Placement
Craft or pick up an Obelisk item. Right-click any block to place. The item triggers placement of a 17-block structure at that position:
- 7 stacked Rock_Gold_Brick_Ornate blocks form the central column
- 4 Rock_Gold_Brick_Roof blocks form a sloped base around the bottom
- 4 Rock_Gold_Brick_Beam blocks form a cross at the top
- 1 Rock_Gold_Brick_Pillar_Base + 1 Rock_Gold_Brick_Beam crown the tip
The block layout is captured 1:1 from a hand-built template, so the orientations are guaranteed to be correct.
Targeting
Every second, each obelisk scans a 3D cube around its anchor (default: 16-block half-edge, i.e. 33x33x33 blocks centered on the bottom ornate) and looks for valid targets.
A creature is a valid target if:
- Its default attitude toward players is HOSTILE (always-aggressive: zombies, skeletons, goblins, troops...), OR
- Its default attitude toward players is NEUTRAL AND its AttitudeGroup is not "Prey" or "Livestock" (predators that can be provoked: bears, wolves, mythic beasts...)
Peaceful animals like armadillos, rabbits, sheep, chickens, cows, pigs etc. are never targeted, even when they have NEUTRAL attitude, because their AttitudeGroup marks them as Prey/Livestock.
The closest valid target is selected per tick.
Firing
The obelisk fires from its tip (top beam):
- A laser-flash sound and a chain of golden energy spheres travel from the tip toward the target
- A delayed impact (based on distance and projectile speed, default 50 blocks/s) plays an explosion sound and applies damage at the target
- Damage is dealt as
PHYSICAL and is environmental-sourced ("Obelisk")
Default damage: 50 HP per shot. Default fire interval: 1 second.
Sound
Two custom sound events are bundled:
SFX_Obelisk_Shot - the laser-flash at the obelisk tip
SFX_Obelisk_Impact - the explosion at the target
Both have 3D positional attenuation (full volume from 0-1 blocks, fading to silence at 20 blocks).
Particles
A custom particle system ObeliskBolt is bundled. It uses the round Ball6.png texture, square-scaled with ScaleRatioConstraint: OneToOne so the particle reads as a small glowing sphere from any angle. Coloured gold (255, 215, 0) per spawn via the packet's color modifier.
Crafting
Craft at the Workbench in the Survival category:
- 3x Greater Essence of Life (
Ingredient_Life_Essence_Concentrated)
- 5x Gold Bar (
Ingredient_Bar_Gold)
- 5-second craft time, yields 1 Obelisk
The recipe can be disabled via config; OPs can still spawn Obelisks via /obelisk spawn.
Commands
| Command |
Who |
Description |
/obelisk spawn |
OP only |
Spawn an obelisk at your current position |
/obelisk remove |
OP only |
Remove the nearest obelisk in this world |
/obelisk list |
Anyone |
Show how many obelisks you own and the world total |
/obelisk capture <halfWidth> <height> |
OP only |
(Build tool) capture a volume of blocks as the placement template |
/obelisk captureat <x> <y> <z> <halfWidth> <height> |
OP only |
(Build tool) capture from explicit world coordinates |
The capture commands are how the template was built originally. They write to plugins/GlymeraObelisk/template.json. Most servers will never need them - the bundled template is correct out of the box.
Block Protection
- Only the obelisk's owner (the player who placed it) or an OP can damage or break it.
- Damage from other players is silently cancelled.
- Breaking by owner/OP removes the entire 17-block structure and returns 1 Obelisk item to the breaker's hotbar inventory (with a
/give fallback if the hotbar is full).
Each block of the obelisk is marked as "deco" via BlockPhysics.markDeco so the cross arms and decorative pieces don't fall when a neighbour changes.
Config
File: plugins/GlymeraObelisk/config.json (created on first start).
| Setting |
Default |
Description |
guardRadius |
16 |
3D Chebyshev (cube) half-edge in blocks. Total covered = (2*r+1)^3. |
attackNeutral |
true |
If true, also target NEUTRAL creatures (predators that can be provoked). Peaceful prey is always excluded regardless. |
fireTickMs |
1000 |
How often each obelisk scans + shoots, in milliseconds. |
damage |
50.0 |
HP damage per shot. |
projectileSpeed |
50.0 |
Visual projectile speed in blocks/second. Controls impact delay only. |
recipesEnabled |
true |
Whether the Workbench recipe is allowed. Set to false to gate access to /obelisk spawn only. |
Persistence
plugins/GlymeraObelisk/obelisks.json - placed obelisks (world, anchor position, rotation quarter, owner UUID). Atomically written via tmp + fsync + atomic rename, survives crashes.
plugins/GlymeraObelisk/template.json - the captured block template (overrides the bundled default if present).
plugins/GlymeraObelisk/config.json - settings (above).
Features
- 17-block structure from a single item - placement triggers a multi-block layout with correct rotations
- 3D cube targeting with configurable radius (no infinite vertical range)
- Attitude-aware filtering - hostile + provoke-able predators, never peaceful prey
- Custom particle + sound system bundled in the JAR
- Owner protection - only owner or OP can damage/break
- Item-on-break - breaking returns the item to the breaker's hotbar
- Physics-stable -
BlockPhysics.markDeco prevents the cross-arms from falling
- Recipe toggle via config
- Persistent + atomic save of placed obelisks
Installation
- Place
GlymeraObelisk-1.0.0.jar in your server's mods/ folder.
- Start (or restart) the server.
- Everything is embedded in the JAR - no external asset folders needed.
Sound Credits
- Shot sound based on "flash-laser-gun" by the freesound community
- Impact sound based on "pixel-explosion" by Lumora Studios
Both samples have been trimmed and re-encoded to OGG.
Made with care by Glymera for the Hytale community