Repository navigation
Releases: dev-hydrogen/oxygen
Releases · dev-hydrogen/oxygen
Release list
Oxygen 0.2.2
Added
- The Context panel can fill every query the preview has no value for (0, 1 or an empty string) in one step, clear
them, and nudge or scale every number set for a query at once, as it already could for variables. - When a query has no value in the preview, the Problems panel says why: it needs an entity, the game can't run
it in particle Molang, or it returns a struct to assign to a variable.
Changed
Measured in the game with new tests in the test pack (t66–t80, e13–e31):
- Queries for world generation or tags (
q.heightmap,q.above_top_solid,q.noise, the biome tags,
q.any_tag) are load errors, as in the game, and their field uses its default. Completions no longer offer them. - Names with more dots (
v.a.b) are structs:v.c = v.acopies every member, readingv.agives 0, and setting
a member replaces a numberv.aheld.??on a member and temp members are flagged as warnings, as the game
logs them, and still run. - Bone queries assigned to a variable fill the struct with zeros, as the game does in particles, where they never
find a bone. Used any other way they're a load error. q.life_timeandq.delta_timeread 0 in particles.- An event's
pre_effect_expressionruns after the spawned effect'screation_expression. loophas no 1,024 cap, and a fractional count rounds up.<,>,+and the other numeric operators on a string are load errors.- An assignment has a value:
v.a = (v.b = 3)sets both. - Children of a particle's events on an entity appear where the game puts them:
emitter_boundchildren at the
emitter,emitterchildren at the particle (at the emitter when the parent keeps its particles in local space). emitter_local_spacewith rotation but no position is ignored, as the game rejects it.bind_to_actor: falseeffects use the world's axes.
Oxygen 0.2.1
Added
- The desktop app updates itself on Windows and Linux: a new version downloads in the background and installs the
next time Oxygen restarts, or right away from Restart to update in the status bar (it asks first if anything
is unsaved). Help › Check for updates… looks now, and Settings › General can turn automatic downloads off.
On macOS it says when there's a new version and links to it. This starts with the first release after 0.2.0:
install that one by hand. - The web app tells a tab left open when a newer version is out, and reloads into it on request.
- MCP servers installed from the release zip tell the agent when a newer release is out, and how to update.
- Effects on an entity use real locators. Import them from a model's
.geo.json(worked out through its bones)
or make your own with an offset and rotation as a geometry file writes them. The viewport draws the axes the
effect gets. The stand-in entity also has a scale, a collision box size forentity_aabb, a facing, a time
when it goes away, and a Follows it switch forbind_to_actor: false. The MCP tools take all of these as an
entityoption. - The Inspector's texture area shows a small picture of what the particle draws (the area, or a flipbook's first
frame). Clicking it opens the Texture panel. - The Context panel takes temps (
t.size) as inputs too, as a parent's event leaves them before it spawns the
effect, and context values (c.size), which every expression can read.evaluate_molangtakescontextstoo. - The Debug panel shows the values a selected particle's own expressions left on its turn in the frame, such as the
index it took from a counter, next to what the emitter's shared variables hold now.
Changed
- Effects on an entity now behave as measured in the game (test pack
e01–e12):- A locator flips the effect's axes: an unturned locator points Y down and X to the entity's left. Without a
locator X points to the entity's right and Z behind it. - An emitter on an entity holds 1,000 particles, not 10,000.
- The entity's movement adds no speed to its particles, even with
emitter_local_spacevelocity on. - World-space effects on an entity take
relative_positionfrom the world origin. entity_aabbfills the entity's box at the emitter, in the emitter's axes.- Entity queries read 0 in an emitter's creation expression.
q.positionis where the entity stands. - When the entity goes away, particles in its space go with it.
- A locator flips the effect's axes: an unturned locator points Y down and X to the entity's left. Without a
- The entity's facing uses Minecraft's yaw: 0 is south, 90 west.
- The Scene panel no longer offers made-up attachment points (head, hands and so on) as locators. Scenes saved
with them keep them as locators at the same places.
Removed
- The Flip Y switch for locators. Every locator flips its axes in the game, so Oxygen always does.
Fixed
- The start screen shows the keys you bound for New effect, Open files and Commands.
Oxygen v0.2.0
See the changelog for everything new in Oxygen 0.2.0
- Settings (File › Settings…, Ctrl+,): preview defaults, the camera, resolution, background, text size and more, with search, export and import.
- Every key can be changed, including the fly keys and the Molang editors' commands.
- About Oxygen: what's new, the engine and game data versions, and system details for bug reports.
- An MCP server for coding agents, Vibrant Visuals that match the game far more closely, and fixes for paused previews and looping effects.
Downloads: Oxygen.Setup.0.2.0.exe (Windows), Oxygen-0.2.0-arm64.dmg (macOS), Oxygen-0.2.0.AppImage (Linux), oxygen-particle-editor-0.2.0.vsix (VS Code), oxygen-mcp.zip (the MCP server for coding agents: paste the setup prompt into your agent to install it). Or use it in the browser at oxygen.hydrogen.exposed.