Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Offspring Portal
Teleports tamed juveniles and breedable eggs from breeder portals. Dynamic species discovery from breeding pens. Dual-purpose egg collector portal. Mod creature support.
CHANGELOG
Changelog
Valheim 1.0.x production release. See below for prior version history.
1.4.4
- Fixed: Resolved hang when teleporting to or spawning at world spawn on the first login after launching the game.
1.4.0
- Valheim 1.0.x release — feature-complete, production-ready build for solo, hosted, and dedicated servers
- Portal configuration gate — automation and registry sync only apply to portals you have configured once with E (avoids treating stray world data as active breeders)
- Egg Collector Configure UI — Receives dropdown includes this portal’s saved egg type even when no hens are loaded nearby
- Dedicated portal config — ClaimOwnership + local ZDO writes (vanilla-style); server registry refresh after client edits
- Removed — server startup ZDO audit/cull config entries (support-only tooling used during 1.3.x troubleshooting)
1.3.2
- Egg Collector Configure UI — the Receives dropdown now includes this portal’s saved egg type (e.g. Egg Hen) even when no hens are loaded nearby, instead of showing “No dual-purpose egg layers discovered” for a correctly configured collector
1.3.1
- Portal config networking — Configure (E) now uses ClaimOwnership + local ZDO writes (vanilla-style), replacing the custom
SetConfigrouted RPC; dedicated servers refresh the portal registry snapshot after client edits
1.3.0
- Valheim 1.0.x final release — production-ready build validated on solo, hosted, and dedicated servers
- Dedicated registry fix — portal records in unloaded zones are no longer wiped during incremental server sync; distant maturing portals stay routable
- Server-authoritative juvenile teleports — the server moves the juvenile ZDO first, then notifies source client(s) to move the live creature (no false client-only success)
- Follow (E) fix — follow is handled through
Tameable.Interact, which is how Valheim dispatches E on tamed creatures; portal Configure is no longer blocked by juvenile hover - Dedicated RPC routing — juvenile route and follow requests are sent explicitly to the server peer; follow executes on the creature ZDO owner only
- Egg Collector round-robin — hen and dual-purpose eggs alternate across every matching Egg Collector portal, including collectors configured with different hen key aliases (
Egg:Chicken,Hen, etc.) - Egg Collector config at distant bases — the Receives dropdown includes egg types already configured on other Egg Collector portals, not only species discovered from loaded hens near breeders
- Diagnostics — server/client log prefixes via
OPLog;[Diagnostics] VerboseLoggingis off by default
1.2.2
- Diagnostic logging — verbose routing, registry sync, portal scan, and follow logs (configurable under
[Diagnostics] VerboseLogging) - Maturing resolution failures — warnings now include a full registry snapshot listing every maturing portal and whether its ZDO is live
- Follow troubleshooting — logs follow RPC sender/owner peers, execute failures, and LetsGo detection at startup
- Dedicated scan visibility — logs when breeder portal scans are skipped because the pen is outside all players' active zones
1.2.1
- Dedicated server/client desync fix — the server kept the full portal registry while clients only saw portals in loaded chunks, so breeders could show “No Maturing portal” even when routing worked
- Server registry sync — on join and when portals are placed, configured, or destroyed, the server pushes its portal list to clients so connection status and rune glow stay accurate for distant pens
- Unloaded destination teleports — execute routing RPC now includes maturing portal position and rotation so juveniles can teleport when the destination chunk is not loaded on the client
- Stale portal cleanup — destroyed or removed portals are pruned from the server registry so juveniles no longer route to dismantled portal sites
- Follow on dedicated — juvenile follow (E) invokes on the creature owner peer when LetsGo is not installed
1.2.0
- Valheim 1.0.x final release — validated on solo, hosted, and dedicated servers
- Dedicated server routing — portal scans honor connected players' active zones (not the headless server origin)
- Dedicated teleports — server moves juveniles and eggs by ZDO when creatures are not instantiated locally; clients claim ownership before applying moves
- Routing RPC — execute teleports on both the requesting peer and the ZDO owner when they differ
- Routing diagnostics — log when no maturing or egg destination is registered on the server
1.1.1
- Dedicated server routing — scans use connected players' active zones (not the empty dedicated origin)
- Dedicated teleports — server moves juveniles by ZDO when the live creature is not instantiated; clients claim ownership before applying the move
1.1.0
- Valheim 1.0.x production release — stable, feature-complete build for 1.0.x (tested through 1.0.7+ hotfixes)
- Multiplayer routing fix — server refreshes portal registry from world ZDOs before resolving routes; execute teleports on the client with the active zone loaded
- Client registry sync — configuring a portal updates the local registry immediately (fixes dark runes and stale status on clients)
- Connection status fix — maturing/breeder portals no longer list themselves as upstream sources in the Configure Portal UI
- Registry refresh — hover text, rune glow, and config status rebuild from ZDO data before displaying connection state
- Follow RPC fix — juvenile follow executes on the requesting player's client; follow AI runs on ZDO owner (when LetsGo is not installed)
- Includes all fixes from 1.0.2 through 1.0.7 (MP RPC routing, connected glow, egg collector preference, LetsGo compatibility, hammer icon, log spam fixes)
1.0.7
- Hen eggs now prefer Egg Collector over Maturing when any Egg Collector portal exists
- Normalize Egg Collector portal species keys (Egg:Chicken) for reliable matching
1.0.6
- Cleaner hammer menu icon: no particle burst, subdued rune glow, isometric portal frame only
- Disable OP juvenile follow when LetsGo is installed (instead of Beast Hird)
1.0.5
- Fix config panel status for Breeder portals (was showing stale "Receives from" text)
- Maturing portals now show both upstream and downstream routes when configured
- Omit route lines when no matching destination portals exist
1.0.4
- Fix NullReferenceException spam from config retry running before ZNet exists (main menu / loading)
1.0.3
- Fix log spam/errors from ZNetView Awake hook running portal init during object load
- Guard portal emission updates when shader lacks
_EmissionColor - Guard routing RPCs and scans until world/network is ready; prevent duplicate RPC registration
1.0.2
- Multiplayer routing fix — Scans run on any peer with portals in their active zone; server validates destinations via RPC (listen server and dedicated)
- Connected portal glow — Runes light up when routing chain is complete (vanilla-style emission)
- Connection status —
[Connected]/[Unconnected]on hover and live preview in Configure Portal UI - Config RPC retry — Client-placed portal config retries when ZDO is not yet available on server
- Hammer menu icon — Custom rendered icon distinguishes offspring portal from vanilla portal
- Corrected multiplayer documentation (any player in active range, not host proximity)
1.0.1
- Stable Valheim 1.0.x ship release (tested on 1.0.7; compatible with 1.0.x hotfixes)
- Fix Hammer build menu showing raw localization keys for the Offspring Portal piece name and description
1.0.0
- Valheim 1.0.7 release — first stable 1.0-compatible build
- Valheim 1.0 API fixes (
Hoverable.GetHoverOffset, deferred prefab registration, portal piece registration retry) - Egg routing: dual-purpose eggs to Egg Collector, single-purpose (asksvin) to Maturing; improved prefab chain resolution and registry fallbacks
- Mate draw yields to vanilla breeding AI when mates are in range (fixes lox/moose and other species not breeding)
- Juvenile follow cleared on grow-up so adults do not retain follow state
- Full end-to-end testing: boar, wolf, lox, hen, asksvin, moose — breed → maturing → farm round-robin
- Updated Thunderstore dependencies for BepInEx 5.4.2350 and Jotunn 2.30.0
0.4.0
- Offspring portals are excluded from player portal networks globally — they no longer appear in travel mod lists or map-based portal UIs
0.3.5
- Removed pregnant glow visual (out of scope for this mod)
- Updated README, wiki, and Discord docs: dynamic discovery, egg routing, mate draw, mod creator breedable criteria
0.3.4
- Fix species discovery with a single animal (wider discovery radius, fallback registration)
- Refresh breedable species list every breeder scan instead of every 5 seconds
- Mate draw skips hungry animals explicitly
- Pregnant glow attaches to existing animals on load; emissive sphere + stronger light
0.3.3
- Breeder portal mate draw: fed, ready adults within 15m nudge toward each other to reach breeding range
- Subtle warm glow on pregnant breedable adults
- Breeding config section in
offspringportal.mod.cfg
0.3.0
- Dynamic species discovery from tamed adults near breeder portals (no hardcoded species list)
- Egg routing: breeder portals send laid eggs to Egg Collector or maturing pens
- Egg Collector portal role for dual-purpose eggs (e.g. hen eggs)
- Mod creature support via breedable criteria (Procreation, Growup, etc.)
- Juvenile follow command (press E on tamed juveniles)
0.2.14
- Fixed offspring portals reappearing in XPortal as "(No Name)" entries (stronger XPortal list filtering and purge on world load)
0.2.13
- Fixed portal hover text showing vanilla portal tag instead of offspring portal config
0.2.12
- Fixed portal config UI not opening on E key for some portal setups
0.2.11
- Fixed juvenile routing when destination pen is in an unloaded zone (deferred teleport)
0.2.10
- Fixed portal registry not rebuilding after world load in multiplayer
0.2.9
- Block player travel to and from offspring portals (fixes XPortal bounce-back)
- Exclude offspring portals from XPortal's portal list when XPortal is installed
0.2.8
- Adult routing from maturing portals (Farm, Cull, None)
- Shared Cull portal for all species
0.2.7
- Portal config UI (name, role, species, adult destination)
- Custom hover text per portal
0.2.6
- Round-robin load balancing across multiple portals of the same type and species
0.2.5
- Breeding cap warning on maturing portal hover when inside vanilla cap radius
0.2.4
- Distant pen teleport: wait for zone load before giving up
0.2.3
- Multiplayer: routing runs on server; config RPC for clients
0.2.2
- Fixed juveniles not routing when breeder portal has no declared species yet
0.2.1
- Initial Thunderstore release: breeder → maturing juvenile routing