Skip to content

Move infusion logic from TileVat to TileVatMatrix - #123

Open
Eldrinn-Elantey wants to merge 1 commit into
masterfrom
refactor/vat-infusion-to-matrix
Open

Move infusion logic from TileVat to TileVatMatrix#123
Eldrinn-Elantey wants to merge 1 commit into
masterfrom
refactor/vat-infusion-to-matrix

Conversation

@Eldrinn-Elantey

Copy link
Copy Markdown

TileVat handled 5 modes but mixed two concerns: container management (heal/clone/revive) and infusion crafting. This splits them cleanly.

TileVatMatrix now owns all infusion state (pedestals, symmetry, instability, recipe fields, essentia draw, craft cycle, instability events, craftingFinish). It extends TileVisNode so the vis network keeps working. TileVat retains modes 0/1/3/4 and notifies the matrix via onInfusionInterrupted() when the contained entity is removed mid-infusion or the vat block is broken.

SourceFX and sourceFX map moved from TileVat to TileVatMatrix since doEffects lives there now. GuiVat, TileVatMatrixRender, TileVatSlaveRender, and PacketInfusionFX updated to read from the matrix instead of the vat. selfInfusionHealth moved to TileVatMatrix (transient crafting state); vat no longer persists it.

TileVat now handles only heal/clone/revive (modes 0, 1, 3, 4).
TileVatMatrix owns all infusion state and the craft cycle.
SourceFX moved to TileVatMatrix; GuiVat and renderers updated accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant