Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Written for Consumers: what a mod building against Voidworks can use, or will se

- With Groundworks present, a Void Well is placed in one step from its core: holding a core shows the whole Well in Groundworks' preview, and a click places the core, its 56 casing and 16 rim around an open shaft, paid from the inventory, all or nothing, the core facing out of its wall toward the player, so the Well is whole at once. Once placed it is an ordinary Well, and breaking a casing stops it as before. Without Groundworks nothing changes: it is built by hand. The Assembly is data alone, `data/voidworks/groundworks/assembly/void_well.json`, its core made a Key by the `groundworks:assembly_keys` block tag. Voidworks still requires nothing but Minecraft and NeoForge. (#65)
- **Breaking:** a grown Void Dragon ages through four life stages, young, adult, senior and old, by the motes it unloads over its life, each stage `lifeStageMotes` (524,288) long, changing only at a stop (ADR 0010). Each stage multiplies its load and speed (`lifeStageLoads` 1/2/3.5/6, `lifeStageSpeeds` 1/0.6/0.35/0.2 in `voidworks-server.toml`), its speed stacking on its health's share, floored at a quarter; a new load applies from its next load and a new speed from its next dive. Only an adult lays Drained Dragon Eggs: eggs it still owes on turning senior are laid at its next loaded stop, then no more. An old dragon whose stage runs out dies at the end of a stop at a loaded Well, carrying nothing, living on past an unloaded one: it sets any rider down on the Well's rim, lays the eggs it owes, and its presence rises over the Well in a short Ender Dragon death, beams and sound, leaving nothing; nothing else tells its owner. An egg's price now counts its owner's living dragons and eggs soaking, not every dragon they ever hatched, so a death, or `/voidworks dragon remove`, lowers it (`Hatchery.lose`). `/voidworks dragon age <stage>` sets the grown dragon an operator looks at to the start of that stage, owing no egg. Jade shows a dragon's stage, and its presence is sized ×0.8, ×1, ×1.1 or ×1.2 by it. Dragons saved before this start young, their count toward an egg dropped. `Routing` takes a `LifeStages` and `step` returns the dragons that died; `VoidDragonRecord` gains `cargo` and loses `speed()`, now `LifeStages.speed(dragon)`; `DragonReport` gains `stage`. (#54)
- The Gallery pack builds a scene for each feature, in rows of three beside the Void Dragon's: the Overworld, End and Nether Displacers, Density, Voidstone networks, the Void Siphon, Dormant machines, the Mutation and Unmaking Chambers and the Void Crucible, each `voidworks:gallery/<scene>`. Clicking a scene's sign builds it again from the start. The End and Nether Displacers work only in their own dimension, so built anywhere else, as the Overworld's and Density's are outside the Overworld, their scene shows the Displacer as an item over a pedestal. (#77)
- The Gallery pack builds a scene for each feature, in rows of three beside the Void Dragon's: the Overworld, End and Nether Displacers, Density, Voidstone networks, charging and emptying the Void Siphon, Dormant machines, the Mutation and Unmaking Chambers and the Void Crucible, each `voidworks:gallery/<scene>`. Clicking a scene's sign builds it again from the start. The End and Nether Displacers work only in their own dimension, so built anywhere else, as the Overworld's and Density's are outside the Overworld, their scene shows the Displacer as an item over a pedestal. (#77)
- **Breaking:** a dragon egg's price is datapack data, no longer server config (ADR 0009). The `voidworks:egg_price` block data map, on `voidworks:soaking_dragon_egg`, names an owner's `first_price` (25600 void energy) and its `growth` (2), the multiple each dragon they have hatched or are soaking puts on their next egg; a growth of 1 keeps every egg at the first price, and an egg with no entry is free. `firstEggPrice` is gone from `voidworks-server.toml` and `VoidworksConfig`. `EggPrice.of(dragons)` gives a price, `EggPrice.of(state)` an egg block's entry, and `Hatchery.startSoaking` takes the `EggPrice`; `Hatchery.price` and `Hatchery.codec` give way to `EggPrice.of` and `Hatchery.CODEC`. (#25)
- A Void Dragon resting at a Well lands and sits astride its rim, over the shaft, lengthwise along the wall its core is set in so neither head nor tail covers the core, in the Ender Dragon's sitting pose, its wings held still and down, turning its head toward a nearby player. Where blocks fill the room its body takes there, it flies about over the shaft instead and lands once there is room. As it sets off it takes off, then dives into the shaft; mounted by its owner, it takes off to hover, and lands again once they get off. One at work at a Well, loading, unloading, waiting for its owner or setting a rider down, stays in the air, and one back after its chunk unloaded is sitting already. `VoidDragon.perch()` says whether a presence flies, lands, sits or takes off (`VoidDragon.Perch`), `perchYaw()` the heading it keeps meanwhile and `seatPos()` where it sits. A ridden dragon now hovers in place: before, its wandering pulled it slowly about under its rider. (#81)
- A Void Dragon resting at a Well whose chunk is not loaded no longer loads that chunk each second to see whether to show it (ADR 0005).
Expand Down
2 changes: 1 addition & 1 deletion GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The creative tab the suite's Modules share, registered by the libworks-runtime n
_Avoid_: Voidworks tab, creative tab (alone)

**Gallery pack**:
The optional datapack in the jar, "Voidworks Gallery", offered and off by default, whose functions lay the Module's features out as working scenes, one plot per scene with a sign naming it, for an operator player to see them at work (ADR 0008). Unlike `dev_pack/` and `gametest_pack/`, the datapacks only the Module's own runs load, it ships. It holds functions only, so turning it on changes nothing about how Voidworks plays.
The optional datapack in the jar, "Voidworks Gallery", offered and off by default, whose functions lay the Module's features out as working scenes, one plot per scene with a sign naming it, which replays the scene when clicked, for an operator player to see them at work (ADR 0008). Unlike `dev_pack/` and `gametest_pack/`, the datapacks only the Module's own runs load, it ships. It holds functions only, so turning it on changes nothing about how Voidworks plays.
_Avoid_: showcase (the `/voidworks showcase` command), demo world

### Void
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ To play Voidworks beside every other FactoryWorks mod, install the [FactoryWorks

## Features

- **The Void Well.** A large store of motes on a Voidstone network, built as a 5×5×5 well, and the stop where a Void Dragon loads, unloads and heals.
- **The Void Dragon.** Raised on void from a Dragonling, it carries motes or matter between Void Wells, diving through the void between them, across dimensions.
- **Three Void Displacers, one per dimension.** The Overworld Displacer swaps fed blocks into the terrain around it and gives you that terrain back. The End Displacer grows its body out into the air, and harvests higher over the open void. The Nether Displacer drinks lava lakes and fills its tank, which any pipe can drain. Each harvests a fixed number of times, then turns to Voidstone.
- **Density.** What you feed sets how many motes a harvest yields: copper and coal blocks are the lightest, diamond and netherite blocks the densest.
- **Voidstone networks.** Touching Voidstone is one network holding one pool of motes, and every Voidstone adds room.
Expand All @@ -26,12 +28,11 @@ To play Voidworks beside every other FactoryWorks mod, install the [FactoryWorks
- **The Mutation Chamber.** Upgrades items up their Family for motes, with a chance per upgrade. It has no screen: hoppers and belts feed and empty it.
- **The Unmaking Chamber.** Breaks an item down into its crafting recipe's ingredients for motes, each coming back by chance at a yield that rises as it works.
- **The Void Crucible.** Upgrades for free, slowly. It is fastest in the End and slowest in the Nether, and Crucibles working near each other share one rate.
- **The Unmaking Chamber.** Breaks an item down into the ingredients of its crafting recipe for motes. Each ingredient comes back by chance, from 25% at first rising toward 75% the more the Chamber has spent.
- **Jade support.** Jade shows a network's motes and what they are worth where you stand, a machine's upgrade, progress and what stalls it, and how much of a Dormant machine's cost is paid. Voidworks runs without Jade.

## Gallery

Voidworks carries an optional datapack, **Voidworks Gallery**, that builds its features as working scenes beside you. It is off in every world until you turn it on, in the world's Data Packs screen or with `/datapack enable "mod/voidworks:gallery_pack"`, then run `/function voidworks:gallery/build`, or `/function voidworks:gallery/<scene>` for one scene. It needs cheats in single player (on at creation, or Open to LAN with cheats) and operator permission on a server, and it builds only blocks and what its scenes need an owner for: run it as a player, who owns them. Its first scene is a Void Dragon carrying between two Void Wells.
Voidworks carries an optional datapack, **Voidworks Gallery**, that builds its features as working scenes beside you. It is off in every world until you turn it on, in the world's Data Packs screen or with `/datapack enable "mod/voidworks:gallery_pack"`, then run `/function voidworks:gallery/build`, or `/function voidworks:gallery/<scene>` for one scene. It needs cheats in single player (on at creation, or Open to LAN with cheats) and operator permission on a server, and it builds only blocks and what its scenes need an owner for: run it as a player, who owns them. It lays out a scene for each feature above, in rows of three, and clicking a scene's sign builds it again from the start, to watch it play out. The End and Nether Displacers work only in their own dimension, so run it there to see them at work.

## For pack authors

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,9 @@ dragon kill bringing back the founder egg.
- Building the dragon scene changes server-wide records as well as blocks, unlike #691's other
galleries, which change blocks alone. Its own Wells' records go with their cores, and its dragons
with its `dragon remove`, so building it again leaves one dragon.
- A scene is replayed from its own sign: a click event runs its function again, rebuilding it from
the start, so a scene that runs out (a Displacer's harvests, a Dormant machine waking) can be
watched after `build` has laid out the whole gallery. A sign needs no setting, where a command block
is off on a server until `enable-command-block` is set, and the Gallery already needs an operator.
- A function run from the server console has no player to own the scene's Wells and dragon, so the
dragon scene fails there; it is for an operator player.
Loading
Loading