Creation v1.0.0-alpha.9 — loot that comes to you, a cleaner mob/ore/player config, and configurable weapons and movement
v1.0.0-alpha.9 continues getting the config system into shape before mods exist — mob, ore, and player configs are restructured with clearer names, and the last pre-1.0 deprecated keys are gone — while landing some real gameplay wins, headlined by a pickup magnet that gathers loot toward you.
Existing worlds and saves carry over as-is. There are breaking format changes for mob, ore, and player configs (detailed below), but since the game is still pre-mods there’s no known impact — this is the time to settle the formats. Note that all pre-1.0 deprecated config keys have now been removed — they previously loaded with a warning, and are hard errors as of this release.
Loot comes to you
Dropped items now magnetize toward a nearby player who has room to hold them, so the loot scattered across a fight gathers to you instead of making you walk over each drop one at a time. It’s tunable per world type (radius and speed) and can be turned off entirely.
Alongside that, dropped items finally move correctly on your own screen — both the new magnet pull and their normal falling. Until now, an item drop’s movement was only ever visible to other players; on your own client a drop appeared frozen where it landed and just blinked into your inventory. Their icons also no longer vanish after you change resolution or display settings, and long-lived drops no longer slowly leak server memory the longer they sit in the world.
Configurable weapons and movement
A few things that used to be fixed are now yours to tune:
- Weapon swing hitboxes. A weapon’s (or a mob’s unarmed attack’s) melee swing area is now configurable via
wielded-item-data.hitbox({ width, height }) instead of always being a fixed 1×1 box. It defaults to 1×1, so existing weapons are unchanged — but you can now give a greatsword real reach. - Player hitbox and movement. The player’s hitbox and movement — walk speed, jump, fall-through — are now configurable in
player-config.yamlviahitbox:andmovement:blocks. Defaults match the previous built-in values, so nothing changes unless you set them. - Drifting light particles. Particles can now drift via
velocityeven while carrying a light or using motion expressions, and an attached light now travels with the particle instead of being left behind at the spawn point. Eachvelocityaxis is optional (set justxor justy), andpredefined-variablesis now written as a concise name-to-expression map.
Modders: mob, ore, and player configs restructured
The config cleanup that started last release continues, this time through the mob, ore, and player files. These are breaking format changes — worth knowing before you author content:
- Mob config is regrouped. Movement settings now live under a
movement:block, client render settings underrendering:, and all Lua hooks (including mounton-mounted/on-dismounted) under ascripts:block. Hook scripts are now declared by path alone and simplyreturntheir function — the old per-hookfunction-nameis gone. Natural spawning also gained an explicitspawn-rules.enabledtoggle. See the updated mob configuration docs. - Clearer mob field names.
horizontal-velocityis nowwalk-speed(distinct frommax-velocity, which is a physics cap on all movement), and a mob’sempty-handnatural attack is nowunarmed-attack. - AoE zones live in one place. A mob’s inline
aoe-zones:block is gone — zones are now declared only inaoe-zone-config.yaml(they always registered globally anyway) and still triggered by name from Lua. - Ore tuning is more intuitive.
chance/inverse-chanceare replaced byabundance— a true fraction of eligible blocks, soabundance: 0.1fills roughly 10% — and the twofrequency-modifier-x/-yfields merge into a singlefrequencythat takes one number for both axes or a{ x, y }map to stretch veins along one axis. - Player health/oxygen renamed.
default-player-healthanddefault-player-oxygenare now justhealth:andoxygen:, matching the key names a mob’s health and oxygen blocks already use.
Stricter validation and removed keys
- More configs fail loudly on typos. Unknown or misspelled keys now error out (naming the offending field) across many more blocks — projectiles, hitboxes, velocity, health, oxygen, mob and player movement, mob rendering, vehicle seats and taming, crafting ingredients, AoE zones, light color, biome surface-fill blocks, and sound entries. A sound’s
categoryis validated too: an unrecognized value is now a load error instead of silently defaulting tosfx. The server also warns when a mob’sspawn-rulesreference amob-typethat nomob-limitsentry uses (usually a typo) instead of the mob silently never spawning. - The last deprecated keys are gone. All pre-1.0 compatibility shims have been removed and are now hard errors: the block
item-drops:field (usedrop-table:),light-dampening(uselight-transmission), the loot-tablechance/min-loot/max-lootkeys (useweight/min-rolls/max-rolls), and theblock-direction-phase-*keys (usephase:/phase-all:). The one-time migration of pre-1.0 save formats is also removed — worlds and server profiles must already be in the current format.
Fixes you’ll feel while playing
- Melee now swings what you’re actually holding. After changing the contents of your selected hotbar slot — placing, taking, crafting, or moving an item into it — the server used to keep swinging the old item until you switched slots and back, so your damage could silently mismatch what you saw equipped. The swung item now updates immediately.
- UI positioning fixes. Confirmation and message dialogs now center on screen at any window size instead of appearing in the upper-left corner, and the main menu’s version and account text stay pinned to the bottom-left corner instead of floating mid-screen on larger windows.
Security
- Corrupt saves and hostile servers can’t crash via bad inventory data. An out-of-range selected hotbar slot in a save no longer crashes the server on first item use, and the same class of bad index from a malicious server can no longer crash a connecting client.
- Item-count math is overflow-safe. An absurd item count from a corrupt save or hostile packet can no longer crash the game or silently destroy items when stacks are merged or split.
- The mod Lua API is hardened. Numeric entity and static-object setters now reject non-finite (
NaN/infinite) values and clamp oversized inventory and pathfinding counts, so a buggy or malicious mod can’t corrupt world state withNaNpositions or stall the server with unbounded counts.
What’s next
alpha.9 brings loot that gathers to you, configurable weapons and player movement, and another round of config cleanup — clearer mob/ore/player formats, stricter validation, and the last of the pre-1.0 deprecated keys retired. Thanks as always to everyone playtesting with us; keep the reports coming.