Description
GlymeraMath – 77 Mathematical Structures for Hytale
Spawn any of 77 hand-crafted mathematical or organic structures into your world with a single command. Cubes, spheres, pyramids, domes, platonic and Kepler-Poinsot star polyhedra, fractals, minimal surfaces, knots, hearts – all exposed as one clean command with sensible parameters.
Don't miss my other exciting projects — take a look at GlymeraCraft's Profile Discord: https://discord.gg/s5NRFWfxgy
What is GlymeraMath?
GlymeraMath adds a single command, /gmath, which lets you drop mathematical structures directly at your feet. Every shape is written in pure Java, ships with the plugin, and uses existing Hytale blocks as the material – no asset pack, no client mod, no prefab files on disk.
Every shape exposes simple parameters (size, height, hollow, material, plus shape-specific tweaks) so you can iterate quickly. Spawn, look, /gmath undo, change a value, spawn again.
- 77 shapes in 13 categories
- Parametric – tweak size, density, thickness, number of sides, etc.
- Hollow toggle on every solid shape – perfect for turning a dome into a roof, a cube into a room
- Undo per player – one spawn history per player, any
/gmath undorestores the overwritten terrain - Streamed placement for huge spawns – spawns above a configurable threshold are placed in batches across server ticks, so the server stays responsive even for multi-million-block structures. Cancel any running spawn with
/gmath cancel(rolls back everything already placed). - Server-side only – players use their normal Hytale client
- Configurable permissions – OP only, or open to every player
- Soft + hard block limits – a warning step prevents accidental mega-spawns
Quick Start
/gmath list - browse all shapes, grouped by category
/gmath info <name> - show parameters + defaults for a shape
/gmath spawn <name> [k=v ...] - place the shape at your current position
/gmath cancel - abort a running streamed spawn (and roll it back)
/gmath undo - remove the last spawn
Examples:
/gmath spawn sphere size=30 hollow=true material=Rock_Marble
/gmath spawn mandelbulb size=45 material=Rock_Slate
/gmath spawn torus majorRadius=20 minorRadius=6 material=Rock_Basalt
Commands
| Command | Who | Description |
|---|---|---|
/gmath list [filter] |
allowed player | List all 77 shapes, optionally filtered by category or name substring |
/gmath categories |
allowed player | List the 13 categories and how many shapes each has |
/gmath info <name> |
allowed player | Show parameters + defaults + default material of a shape |
/gmath spawn <name> [k=v …] |
allowed player | Place the shape centred on your position |
/gmath confirm |
allowed player | Confirm a large spawn that triggered the warn threshold |
/gmath cancel |
allowed player | Abort a running streamed spawn and roll back all blocks already placed |
/gmath undo |
allowed player | Restore the terrain from your last spawn |
/gmath reload |
OP only | Re-read config.json after editing (no server restart) |
"Allowed player" = OP by default, or everyone if allowNonOps is set to true in the config.
Installation
- Drop
GlymeraMath-3.0.0.jarinto your server'smods/folder. - Start (or restart) the server.
- Done. No asset pack, no second file needed.
On first start the plugin writes plugins/GlymeraMath/config.json with sensible defaults.
Configuration
All settings live in plugins/GlymeraMath/config.json:
{
"allowNonOps": false,
"warnAtBlocks": 100000,
"maxBlocks": 300000,
"confirmTimeoutSeconds": 30,
"batchThreshold": 10000,
"batchSize": 2500,
"batchIntervalMs": 50
}
| Field | What it does |
|---|---|
allowNonOps |
false (default): only OPs can use /gmath. true: every player may spawn shapes. |
warnAtBlocks |
Spawns above this block count require confirmation via /gmath confirm. |
maxBlocks |
Hard limit. Spawns above this are refused with a message pointing at this config. |
confirmTimeoutSeconds |
How long a pending confirm is remembered before it expires. |
batchThreshold |
Spawns above this block count are streamed in batches across ticks instead of placed all at once. Below this threshold the spawn is applied synchronously like before. |
batchSize |
Blocks placed per batch (one batch per tick). Default 2 500 – a good compromise between throughput and server smoothness at 20 TPS. Lower = smoother but slower; higher = faster but more micro-lag. |
batchIntervalMs |
Milliseconds between batches. 50 = one batch per server tick. Raise to 100 (every 2 ticks) to let other work catch up between batches. Minimum 10. |
Edit the file while the server is running, then run /gmath reload.
Safety Limits
Three tiers prevent accidental million-block disasters:
- ≤ warnAtBlocks (default 100 000) – spawns immediately, no interaction.
- warnAtBlocks < blocks ≤ maxBlocks – the plugin prints
"This shape would place X blocks. Type /gmath confirm within 30 seconds to spawn it."The spawn is held per player; any other command or a timeout cancels it. - > maxBlocks (default 300 000) – spawn refused with a message naming the config key an admin can raise.
Placement itself is additionally gated by batchThreshold (default 10 000):
- Below the threshold – blocks are placed synchronously in a single operation, same as in earlier versions.
- Above the threshold – the spawn is streamed in batches across server ticks. The player gets progress messages at 25 %, 50 %, 75 % and a "Done" line at 100 %. Only one streamed spawn per player at a time – a second
/gmath spawnis rejected with a hint to call/gmath cancelfirst.
/gmath cancel aborts a running streamed spawn and rolls back every block already placed, leaving the terrain as if the spawn never happened.
Copy & Paste Examples – just change the values
Every example below spawns a reasonable default. Copy the line, paste it, tweak any parameter, and spawn again. All examples use Rock_Marble as the material – swap it for any Hytale block you like (Rock_Basalt, Rock_Sandstone, Plant_Coral_Block_Pink, Metal_Gold, Soil_Grass, and many more).
Any shape supports these common parameters:
material=<Block_Name>– what the shape is made ofhollow=true|false– keep only the outer shell (solid shapes only)
I. Simple Solids
cube
Axis-aligned solid cube.
/gmath spawn cube size=20 hollow=false material=Rock_Marble
Change size to taste. hollow=true gives a hollow room.
sphere
Solid sphere. hollow=true gives a perfect 1-block shell.
/gmath spawn sphere size=30 hollow=true material=Rock_Marble
cylinder
Vertical solid cylinder.
/gmath spawn cylinder size=20 height=30 hollow=true material=Rock_Marble
Change size (diameter) and height independently.
cone
Upright cone, apex on top.
/gmath spawn cone size=25 height=35 hollow=false material=Rock_Marble
pyramid
Square-base pyramid. height=0 gives Egyptian proportions (~0.63 × size).
/gmath spawn pyramid size=40 height=0 hollow=false material=Rock_Sandstone
steppyramid
Stepped (Mesoamerican / Ziggurat) pyramid.
/gmath spawn steppyramid size=32 steps=6 stepHeight=3 material=Rock_Sandstone
Change steps to make it taller with more tiers, stepHeight for deeper steps.
dome
Hemisphere (top half of a sphere).
/gmath spawn dome size=30 hollow=true material=Rock_Marble
torus
Donut ring, lies flat on the ground.
/gmath spawn torus majorRadius=20 minorRadius=6 material=Rock_Marble
majorRadius = ring size, minorRadius = tube thickness.
arch
Upright half-torus – a gate.
/gmath spawn arch majorRadius=15 minorRadius=3 depth=3 material=Rock_Marble
oniondome
Bulb dome (Russian / Byzantine style).
/gmath spawn oniondome size=22 height=32 material=Metal_Gold
prism
N-gonal extruded prism. Triangle, pentagon, hexagon, octagon – whatever.
/gmath spawn prism sides=6 size=20 height=30 hollow=true material=Rock_Marble
sides=3 for triangle, sides=8 for octagonal column, etc.
antiprism
N-gonal antiprism – top polygon twisted 180/N° relative to bottom.
/gmath spawn antiprism sides=6 size=20 height=25 hollow=true material=Rock_Marble
wedge
Ramp / wedge. Rectangular base rising linearly in Z.
/gmath spawn wedge size=30 length=30 height=20 material=Rock_Marble
frustum
Truncated cone. sides=0 → round, sides≥3 → N-gonal pyramid frustum.
/gmath spawn frustum size=30 topSize=12 height=25 sides=0 hollow=true material=Rock_Marble
obelisk
Egyptian obelisk: tapered square shaft + pyramidion.
/gmath spawn obelisk size=8 topSize=4 height=40 pyramidion=6 material=Rock_Sandstone
capsule
Vertical pill: cylinder with hemispheric caps.
/gmath spawn capsule size=16 height=40 hollow=true material=Rock_Marble
column
Classical Greek column – square base + round shaft + square capital.
/gmath spawn column size=8 height=40 endHeight=3 material=Rock_Marble
tube
Hollow vertical cylinder with a configurable wall thickness.
/gmath spawn tube size=20 height=30 wallThickness=2 material=Rock_Marble
bell
Bell shape – flared at the bottom, narrowing to a rounded top.
/gmath spawn bell size=20 height=24 material=Metal_Bronze
lens
Oblate spheroid – flat in X / Z, squashed in Y.
/gmath spawn lens size=30 thickness=6 material=Rock_Marble
spire
Slender tower with pointed top (gothic spire).
/gmath spawn spire size=8 height=60 shaftRatio=0.3 material=Rock_Marble
shaftRatio=0.0 → fully pointed, 0.8 → mostly cylindrical with a short tip.
II. Platonic Solids
All four accept a single size parameter (circumsphere diameter).
tetrahedron
/gmath spawn tetrahedron size=30 hollow=true material=Rock_Basalt
octahedron
/gmath spawn octahedron size=30 hollow=true material=Rock_Marble
dodecahedron
/gmath spawn dodecahedron size=30 hollow=true material=Rock_Marble
icosahedron
/gmath spawn icosahedron size=25 hollow=true material=Rock_Marble
II.b Kepler-Poinsot Star Polyhedra
The four classic non-convex star polyhedra. Each is rendered as a polyhedral core with pyramidal spikes on every face.
smallstellateddodecahedron
/gmath spawn smallstellateddodecahedron size=30 spikeLength=14 material=Rock_Marble
greatdodecahedron
/gmath spawn greatdodecahedron size=28 spikeLength=8 material=Rock_Marble
greatstellateddodecahedron
/gmath spawn greatstellateddodecahedron size=28 spikeLength=18 material=Rock_Marble
greaticosahedron
/gmath spawn greaticosahedron size=26 spikeLength=22 material=Rock_Marble
III. Archimedean Solids
Edge-uniform convex polyhedra. All take size = circumsphere diameter.
cuboctahedron
/gmath spawn cuboctahedron size=25 hollow=true material=Rock_Marble
truncatedoctahedron
Space-filling – copies of this tile 3D space with no gaps.
/gmath spawn truncatedoctahedron size=30 hollow=true material=Rock_Marble
icosidodecahedron
/gmath spawn icosidodecahedron size=30 hollow=true material=Rock_Marble
rhombicdodecahedron
/gmath spawn rhombicdodecahedron size=25 hollow=true material=Rock_Marble
III.b Compound Polyhedra
Multiple polyhedra interpenetrating, sharing a common symmetry axis. Spectacular to look at.
compound2cubes
Two cubes, one rotated 60° around the body diagonal.
/gmath spawn compound2cubes size=24 material=Rock_Marble
compound5cubes
Five cubes sharing a dodecahedral vertex set.
/gmath spawn compound5cubes size=26 material=Rock_Marble
compound5tetrahedra
Five tetrahedra in chiral arrangement.
/gmath spawn compound5tetrahedra size=26 material=Rock_Marble
compound10tetrahedra
Two chirally-opposite 5-tetrahedra compounds overlaid.
/gmath spawn compound10tetrahedra size=26 material=Rock_Marble
compound5octahedra
Five octahedra sharing the 30 icosahedral edge-midpoints.
/gmath spawn compound5octahedra size=26 material=Rock_Marble
III.c Faceted / Catalan-Hybrid Polyhedra
tetrakis
Tetrakis hexahedron – cube with a pyramid on every face.
/gmath spawn tetrakis size=20 spikeLength=6 material=Rock_Marble
pentakis
Pentakis dodecahedron – dodecahedron with a pyramid on every pentagonal face. Football-like.
/gmath spawn pentakis size=28 spikeLength=5 material=Rock_Marble
excavateddodecahedron
Dodecahedron with a pyramid-shaped cavity carved INTO every face.
/gmath spawn excavateddodecahedron size=32 depth=7 material=Rock_Marble
IV. Fractals
Self-similar structures. Set level / size carefully – fractals explode in block count fast.
menger
Classic Menger sponge. Edge = 3^level blocks, filled cubes = 20^level.
/gmath spawn menger level=3 material=Rock_Marble
level=3 → 27³ edge / 8 000 blocks. level=4 → 81³ / 160 000. level=5 → 243³ / 3 200 000 (requires maxBlocks raised and uses streamed placement – takes about a minute).
sierpinskitetra
Sierpinski tetrahedron.
/gmath spawn sierpinskitetra size=40 level=3 material=Rock_Basalt
sierpinskicarpet
2D Sierpinski carpet extruded into a slab.
/gmath spawn sierpinskicarpet level=3 depth=5 material=Rock_Marble
romanesco
Fractal cauliflower. Fibonacci spiral of recursive cones.
/gmath spawn romanesco size=30 height=42 level=3 hollow=true material=Plant_Coral_Block_Lime
level=4 for more detail – watch the block count.
apollonian
Apollonian gasket: nested hollow spheres packed inside an outer shell.
/gmath spawn apollonian size=32 seed=1337 material=Rock_Marble
Change seed for a different packing layout.
mandelbulb
Power-8 3D Mandelbrot set. Alien volumetric fractal.
/gmath spawn mandelbulb size=45 material=Rock_Slate
Increase size for more detail (and block count).
mandelbox
Box-folded Mandelbrot. Very alien. scale is the fold factor (2–3 interesting range).
/gmath spawn mandelbox size=40 scale=2.0 material=Rock_Slate
julia3d
Quaternion 3D Julia set. Change the constant (cx, cy, cz, cw) for wildly different shapes.
/gmath spawn julia3d size=40 cx=-0.4 cy=0.6 cz=0.0 cw=0.0 material=Rock_Slate
V. Triply Periodic Minimal Surfaces (TPMS)
Implicit surfaces that tile 3D space infinitely. Beautiful foam / sponge structures.
gyroid
sin(x)cos(y) + sin(y)cos(z) + sin(z)cos(x) = 0
/gmath spawn gyroid size=32 wavelength=16 thickness=0.33 material=Plant_Coral_Block_Cyan
schwarzp
Schwarz Primitive: cos(x)+cos(y)+cos(z)=0
/gmath spawn schwarzp size=32 wavelength=20 thickness=0.4 material=Plant_Coral_Block_SkyBlue
schwarzd
Schwarz Diamond (tetrahedral symmetry).
/gmath spawn schwarzd size=32 wavelength=16 thickness=0.35 material=Plant_Coral_Block_Cyan
neovius
3(cx+cy+cz) + 4(cx·cy·cz) = 0
/gmath spawn neovius size=32 wavelength=18 thickness=0.7 material=Plant_Coral_Block_Pink
lidinoid
Rotated relative of the gyroid. Intricate minimal foam.
/gmath spawn lidinoid size=32 wavelength=18 thickness=0.25 material=Plant_Coral_Block_Purple
VI. Spirals & Knots
nautilus
Logarithmic spiral with exponentially growing tube.
/gmath spawn nautilus size=25 windings=1.75 growth=0.18 material=Rock_Marble
More windings = longer spiral. Higher growth = bigger growth per turn.
doublehelix
DNA-style helix with rungs.
/gmath spawn doublehelix size=10 height=40 turns=5 tube=1.5 rungStep=4 material=Rock_Marble
rungStep=0 → no rungs.
torusknot
(p, q) torus knot: wraps p times around the major axis, q times around the minor.
/gmath spawn torusknot majorRadius=14 minorRadius=5 tube=1.6 p=2 q=3 material=Metal_Copper
Try (p,q) = (3,2), (2,5), (3,5) for different knots.
trefoil
The simplest non-trivial knot.
/gmath spawn trefoil size=25 tube=2.2 material=Metal_Gold
conicalspiral
Snail-shell spiral rising upward.
/gmath spawn conicalspiral size=30 windings=4 growth=0.15 tube=2.0 pitch=6 material=Rock_Marble
solenoid
Tight helical coil / spring.
/gmath spawn solenoid size=14 height=40 turns=12 tube=1.2 material=Metal_Copper
VII. Parametric Exotica
kleinbottle
Non-orientable self-intersecting surface.
/gmath spawn kleinbottle size=30 tube=1.5 material=Plant_Coral_Block_Purple
moebius
Thick Möbius strip: one-sided surface with a single twist.
/gmath spawn moebius size=20 width=6 thick=2 material=Rock_Marble
supershape
Gielis superformula in 3D. Flowers, stars, fruits – from a handful of numbers.
/gmath spawn supershape size=25 m1=7 m2=6 n1=0.2 n2=1.7 n3=1.7 material=Plant_Coral_Block_Orange
Change m1 / m2 for different symmetries. Small n1 → star-like.
superellipsoid
|x/a|^r + |y/b|^r + |z/c|^r ≤ 1. From cube (r→∞) to octahedron (r=1).
/gmath spawn superellipsoid size=28 rx=4 ry=4 rz=4 hollow=true material=Rock_Marble
supertoroid
Torus with a super-ellipsoid cross-section.
/gmath spawn supertoroid majorRadius=18 minorRadius=6 e1=2.0 e2=2.0 material=Rock_Marble
stellaoctangula
Compound of two interpenetrating tetrahedra ("star tetrahedron").
/gmath spawn stellaoctangula size=25 material=Rock_Marble
VIII. Waves
sinwave
2D sine-wave terrain.
/gmath spawn sinwave size=40 amplitude=6 wavelength=16 thickness=2 material=Plant_Coral_Block_SkyBlue
waveinterference
Two-source circular wave interference pattern – water ripples.
/gmath spawn waveinterference size=60 amplitude=5 wavelength=10 spacing=20 thickness=2 material=Plant_Coral_Block_Blue
chladni
3D Chladni figure – nodal surfaces of standing waves in a box.
/gmath spawn chladni size=32 nx=3 ny=3 nz=3 thickness=0.2 material=Plant_Coral_Block_Yellow
Try different (nx, ny, nz) mode triples for wildly different patterns.
IX. Minimal Surfaces
catenoid
Minimal surface of revolution (cosh profile).
/gmath spawn catenoid size=20 height=30 thickness=0.7 material=Plant_Coral_Block_White
helicoid
Infinite spiral ramp. A "ruled" minimal surface.
/gmath spawn helicoid size=20 height=30 turns=2 thickness=1 material=Rock_Marble
enneper
Self-intersecting minimal surface.
/gmath spawn enneper size=6 scale=5 tube=1.2 material=Rock_Marble
scherk
Scherk's first surface. Periodic, plays on exp(z)·cos(y) = cos(x).
/gmath spawn scherk size=30 period=12 thickness=0.6 material=Rock_Marble
X. Organic & Other
heart
3D heart (Taubin equation).
/gmath spawn heart size=20 material=Plant_Coral_Block_Red
egg
Asymmetric tapered ellipsoid.
/gmath spawn egg size=20 height=28 taper=0.6 material=Rock_Marble
Smaller taper → narrower top.
voronoi
3D Voronoi foam – cell walls visible, bone-like.
/gmath spawn voronoi size=30 sites=18 seed=11 wallThickness=0.9 material=Rock_Marble
Change seed for a different random layout.
fibonaccisphere
Points arranged on a sphere via Fibonacci spiral (sunflower seeds, pinecones).
/gmath spawn fibonaccisphere size=30 points=200 seedRadius=1.5 material=Plant_Coral_Block_Yellow
Good to Know
- All 77 shapes ship inside the ~142 KB JAR. No asset pack, no external data.
- Every spawn is reversible.
/gmath undorestores the terrain that was overwritten. Only the latest spawn per player is kept. Streamed spawns also record their snapshot while placing, so undo works on them too. - Shapes centre on the player. Where you stand becomes approximately (0, 0, 0) of the shape's local frame, with the shape's ground level at your feet.
- Parameter order doesn't matter.
/gmath spawn cube material=Rock_Basalt size=10and/gmath spawn cube size=10 material=Rock_Basaltare identical. - Unknown parameters are silently ignored. Useful for copy-paste – if a parameter doesn't apply to the shape you use, it's just dropped.
- Hollow works universally. The plugin applies a generic voxel-peel after the shape has been generated (remove every voxel that has 6 face-neighbours), so
hollow=trueworks on every solid shape, even those we didn't specifically design around it. - Quiet runtime. The plugin does not log on spawn, undo or config changes – no clutter in your server log. Progress messages for streamed spawns are sent only to the spawning player, not the global chat.
Performance
Each spawn runs the math on the server thread, then places blocks via the standard Hytale ChunkStore API. Generation for typical shapes is a few milliseconds to ~100 ms (mandelbulb / large-size shapes).
Block placement has two modes:
- Synchronous (<
batchThreshold, default 10 000): placed in one go, same as earlier versions. Linear in block count, uses Hytale's cached chunk accessors. - Streamed (≥
batchThreshold): placed inbatchSizechunks per tick, scheduled onHytaleServer.SCHEDULED_EXECUTOR. A Level-5 Menger sponge (3.2 M blocks) at the default 2 500 blocks per 50 ms takes ~64 seconds to complete while the server stays responsive for other players.
Undo is O(block count) and uses the stored per-block snapshot.
Made with care by Glymera for the Hytale community
