Foundations PL4 0.1a
Curse Maven Snippet
What's new
Foundations PL4 0.1a — automation alpha
Further API testing is still required. Optional integrations and the public provider API need testing with real installed mods and add-ons on each supported Minecraft track. Synthetic API fixtures and native PL4 GameTests do not establish modpack compatibility. This is an alpha, not a feature-complete or stable PL2-parity release.
New in 0.1a
Wireless Storage now has a dedicated paged inventory screen. Sneak-use it on your inventory Node or Transfer Node to bind, then use it to browse six slots per page, withdraw 1 or up to 64 items, refresh, or deposit the offhand stack. It accesses that Node's attached sided inventory, not an aggregated network inventory. Every action rechecks the held tool, stable Node identity, current ownership, loaded target, server wireless/transfer policy and directional item filter. Single-use tokens prevent replay; changed slot contents are refreshed without withdrawing a replacement item.
Independent receive and send filters on normal Nodes and Transfer Nodes, with INHERIT, ALLOW and DENY modes. IDs and #tags work for items and fluids. Both source output and destination input must accept a resource before extraction. Empty filters accept all; INHERIT preserves existing Transfer Node behavior and leaves normal Nodes unrestricted.
Signaller statement lists: up to 16 independent reader/key/comparison/threshold conditions, ALL or ANY matching, and output strength 0–15. Conditions persist with stable IDs. Missing values, non-finite samples and ambiguous reader names do not pass. Reader UUIDs provide stable binding. An empty list uses the original single-condition fields.
Escrow-aware route editing: channel, directional filter, legacy filter and transfer-mode edits wait until buffered resources drain. Clients receive a buffer-present flag without receiving the buffered stacks.
Public provider API diagnostics: API_VERSION and immutable registeredIds(), a server-thread guard, and rejection of targets from the wrong dimension before any callback executes.
Native regression fixtures cover actual item routing, fluid filter decisions, settings authorization/escrow, saved conditions, malformed statements, list bounds, stable deletion, missing/ambiguous reader resolution the provider dimension boundary, and native Wireless Storage movement, replay, stale-slot, filter and permission checks. Independent automation truth-table coverage adds 3,227 assertions.
Included from the 0.0.2a line
Reader target search, paging, names and stable selection; read-only telemetry providers; network diagnostics; display multi-selection, arrangement, groups, locks, visibility, backgrounds/borders, eight named pages and server-validated page actions; per-direction transfer channels, fair scheduling, persistent item/fluid/energy escrow and configurable network caps; individual component-link removal; Clock pulse/phase/pause/reset; optional power adapters and Create/AE2 telemetry where their expected APIs exist.
Testing and remaining work
Release publication is gated by offline regression checks, native compilation and native GameTests. 1.21.1 uses Java 21 / NeoForge 21.1.250; the separate 26.3 build uses Java 25 and is validated against NeoForge 26.3.0.23-beta and 26.3.0.39-beta. Install the JAR matching your Minecraft version and use the same PL4 version on client and server.
Further API testing is still required, particularly installed Mekanism, GTCEu, Electrodynamics/Voltaic, Create, AE2, standard FE providers and third-party InfoProviders callbacks. Test simulation/execution agreement, side restrictions, conversion/voltage policy, capability invalidation, unload/reload, dedicated servers and mixed-mod packs. See docs/API_TESTING.md for the acceptance matrix.
Other open work remains: Aggregated Wireless Storage network views and search; remaining wireless/Array/Entity Node parity; richer machine telemetry and Jade/JEI/EMI/KubeJS integrations; full historical PL2 filter/action parity; graphical acceptance across GUI scales; live multiplayer acceptance; large-world profiling and real restart/migration testing. ADD/REMOVE remains explicit-peer only. This release does not mark those roadmap items complete.
Upgrading
Back up the world first. Host save schema remains 2 with optional new fields. Existing filters default to INHERIT; Signallers default to their existing single condition at strength 15. Channel names remain exact and case-sensitive. Timing remains limited by the server sampling interval.
Do not downgrade a configured world: older versions discard statement lists, directional filters and other newer settings, which can broaden transfer routes or change redstone behavior. Display page names are saved but remain outside element-only undo/template snapshots.
Wireless Storage does not force-load chunks or bypass ownership. Existing bindings to a reader/display must be rebound to a Node. Manual inventory actions are separate from automatic Transfer Node cycle budgets; requests are limited to four per player tick. Optional provider errors and unusual modded inventories still need installed API acceptance.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

