Building Gadgets Extra 0.0.7 - Forge 1.20.1
Curse Maven Snippet
What's new
Changelog
0.0.7 - 2026-10-14
Added
- Added composable Array and Radial Mirror modifiers for the Builder's Multitool Building and Exchanging profiles, completing the live modifier family from issue #3.
- Added distinct custom Array and Radial icons matching the white radial-menu glyphs.
- Unified profile controls with the operation wheel: flat surfaces, matching selected/hover outlines, aligned icon rows, compact axis fields and a single settings panel.
- Integrated Mirror, Array and Radial controls into the Build/Exchange profile settings. Array/Radial expand inline; valid edits save directly. Off preserves configured values, resets affect only their own stage, and composition order lists enabled stages. The settings area scrolls and the mode wheel adapts to smaller GUI sizes.
- Enabled live modifiers on Forge 1.16.5 with per-position block-state transforms for placement, preview and persisted anchors.
Behavior and limits
- Counts include the original. Array copies translate by the selected step; Radial Mirror repeats around the vertical Y axis. Radial coordinates round to the nearest block; block facing rotates to the nearest quarter turn supported by Minecraft.
- Settings belong to the active Build/Exchange profile and are validated on the server. Steps/pivots are limited to -64..64. Duplicate positions keep their original state and incur one placement cost.
- Plans are capped at 65,536 positions. Rejected plans produce no placement candidates rather than silently performing the unmodified operation.
- Preview and execution use the same common planner and ordered state transforms. Placement retains upstream survival inventory, FE and protection hooks.
- Network protocols changed: clients and servers must update together.
- Copy/Paste imports retain the default 100,000-position bounding volume, configurable up to 1,000,000; imports still require Paste mode. Transfer/NBT budgets are unchanged.
Dependencies and UI
- Require OpenUI MC 0.0.13+ on clients and PacketWeave 0.1.3+ on both sides.
- Replace custom Build/Exchange buttons, fields, range styling, wheel hit testing and manual scroll positioning with one shared OpenUI control tree.
- Preserve unfinished numeric drafts across resize and reveal expanded controls without stealing focus.
- Fix disappearing settings after fullscreen/resize by building the screen tree once during initialization.
- Use the same inline settings panel for Copy/Paste, Cut/Paste and Destruction, including coordinates, offsets and dimensions. Put Undo at the far right.
- Replace dense Array/Radial artwork with simple 16-pixel white silhouettes.
- Delegate chunking, bounded transfer assembly, timeout and byte budgets to PacketWeave; retain native gadget/profile authorization and request-bound local save paths.
- Remove the duplicate native profile widget classes and local chunk accumulator/registry. Stream uploads in bounded batches and clear transfer state when the connection changes.
Cut/Paste fixes
- Advance from Cut to Paste automatically after an accepted cut, preserve the pending contents through menu/profile changes, and return to selection after pasting.
- Keep typed Cut coordinates and Clear selection selection-only, including Clear on an empty selection. They no longer invoke upstream Copy snapshot creation or switch to Paste before cutting. Normal Copy coordinates retain their upstream behavior.
- Reject delayed Cut coordinate edits after switching profiles or accepting a cut, so pending contents cannot be replaced.
- Publish required CurseForge relations for Building Gadgets, PacketWeave and OpenUI MC alongside the loader-specific minimum versions.
Tests
- Added geometry, order, provenance, dedupe, overflow, settings validation and radial rounding regressions, plus cross-version runtime and client/server coverage.
- Add native typed-Cut-coordinate, populated/empty Clear and stale-edit regressions on all modern targets before exercising the complete real cut/paste world move. CI requires their client/server evidence.
This mod has no additional files

