
PLL Library
Map layout mod and custom segment library.PLL Library -> PEAK 


PLL Library is a PEAK map layout mod and automatic custom biome library. It reorders, repeats, regenerates, and lazily loads PEAK's live WilIsland segments, and discovers creator built custom content.
Update • Features • Install • Configuration • Layouts • Custom Biomes • Creator • Support
Update
Current package information.
Version 2.0.7 → click to collapse
- I am too lazy to fill the README.md with updated information.
Features
Runtime behavior.
Install
Mod manager and manual installation.
Install instructions → click to expand
Mod manager
- Install
PLL_Librarythrough a PEAK and Thunderstore compatible mod manager. - Ensure
BepInEx-BepInExPack_PEAK-5.4.75301is installed. - Start PEAK once to generate the configuration file.
Manual
- Install BepInExPack PEAK.
- Place
PLL_Library.dlldirectly inPEAK/BepInEx/plugins/. - Start PEAK once to generate the configuration file.
Custom content
Place creator-built .pll files directly in:
PEAK/BepInEx/plugins/PLL_Biomes/
Only files with the exact lowercase .pll extension are discovered. Discovery is top level only, processes canonical full paths in ordinal order, and keeps successful bundles loaded for the process lifetime. A rejected file is unloaded before discovery continues.
Configuration
Generated BepInEx configuration.
Configuration reference → click to expand
Configuration file:
BepInEx/config/AF/PLL_Library/config.cfg
Online rooms use the host's resolved gameplay values; PLL / Advertise Layout remains each client's local display preference. An empty Map / Seed creates a fresh random seed on world entry. Any nonempty text produces the same deterministic numeric seed.
| Section / key | Default | Meaning |
|---|---|---|
Version / SchemaRevision |
17 |
Configuration-schema marker. |
PLL / Advertise Layout |
false |
Shows at most one configured-state label beneath PEAK's ascent name: Generative takes priority over Modified, then Infinite, then Randomized. |
Map / Seed |
empty | Random when empty; deterministic text seed otherwise. |
Map / Replace Generated |
true |
Rebuilds already-generated native props with the selected seed. false reuses eligible unique authored native output; repeated or forced clones still generate their own output. |
Map / LayoutOrder |
Beach > Tropics > Roots > Alpine > Mesa > Volcano > Citadel > Nadir |
Defines an ordered list of public native or custom ordinary layout segments. Volcano and Citadel each include their native lower half; the visible Swamp is internal Gloom, not a separate root. Caldera, Gloom, Peak, and their structural aliases are invalid tokens; Nadir is movable and repeatable. |
Map / DoOrder |
true |
Initial state of the boarding-pass Layout Order toggle. |
Map / Generative Map |
false |
Builds one seeded layout from registered public native choices and eligible custom biomes when Layout Order is off. |
Map / InfiniteMap |
false |
Builds a deterministic weighted expansion. |
Map / Nadir at end |
false |
Appends Nadir as the final public ordinary segment. |
Fields / InfiniteMap: Repeatable |
empty | Up to 255 public segment names eligible for repetition, separated by >. Nadir is eligible. |
Fields / InfiniteMap: Chances |
empty | Position-matched non-negative weights. Invalid lists use equal weights. |
Fields / InfiniteMap: Scale |
8 |
Requested total public segment count. Configuration accepts 1 through 255; current PEAK navigation resolves at most 254 ordinary internal slots, and native composites consume two. Online shared-room ViewID capacity is separate and content-dependent. |
Fields / InfiniteMap: Begin Index |
-1 |
-1 inserts at the final eligible public boundary (before a terminal Nadir); other values are clamped zero-based public insertion boundaries. |
Fields / InfiniteMap: Remove Old |
false |
Replaces the base layout with repeatable choices. |
Behaviors / Winnable |
true |
Enables final-zone win behavior. |
Behaviors / Peak at end |
false |
Attaches full Peak at the final layout boundary: immediately before terminal Nadir, or after another final ordinary segment. Terminal Volcano and Citadel retain contextual Peak. |
Behaviors / Gemless Nadir |
false |
Allows every Nadir occurrence to load without Scout's Honor. |
Behaviors / Water follows Beach |
true |
Activates the shared water floor when Beach is reached. |
Behaviors / Void Water follows Nadir |
true |
Activates each Nadir-local Void Water surface and WaterZone only while its Nadir occurrence is current; false enables it from run start. Beach water is independent. |
Prerequisites / Relocate Plane |
true |
Moves PEAK's plane to the first segment start. |
Prerequisites / Relocate Start |
true |
Moves the active four-player spawn formation to the first segment start. |
Prerequisites / Guarantee Campfire Loot |
true |
Regenerates incomplete required campfire roots and requires one through four player-scaled outputs from an exact base PropSpawner. Each output gets one deterministic placement probe, runs PEAK's native constraints without bypass, and gets one construction attempt; any failure aborts generation. |
Prerequisites / Valid Nadir |
true |
Allows Nadir to require Scout's Honor only after Shore, Tropics or Roots, Alpine or Mesa, and Volcano or Citadel have appeared; otherwise Nadir is gemless. |
Optimizations / No Rising Ghosts |
false |
Disables Nadir's rising lost-soul fog and Citadel's rising Gloom. |
Optimizations / No Sleep Fog |
false |
Disables Gloom's stationary sleep fog field. |
Optimizations / Lazy Generation |
true |
Defers procedural generation until its prerequisite zone is reached and keeps future cloned feature roots inactive until their occurrence activates. Every clone remains inactive until its exact synchronized batch roots are reserved, even when this setting is disabled for eager generation. |
Optimizations / Fogless |
false |
Disables fog-sphere behavior. |
Optimizations / No Water |
false |
Disables Beach water and relocation. |
Optimizations / No Void Water |
false |
Disables every Nadir-local Void Water surface and WaterZone. |
Optimizations / No Plane |
false |
Removes the crashed plane and affiliates except spawn points. |
Optimizations / Remove Old |
true |
Destroys zones older than the immediately previous zone. |
Each registered custom biome receives a separate file beneath:
BepInEx/config/AF/PLL_Library/Custom Segments/
Its Favorites, Overwrites, Before, After, and Spawn Chance values begin with the bundle defaults and remain user-editable. Spawn Chance is an inclusive 0 through 100 percentage used by Generative Map. The host resolves these values for the flight.
Layouts
Deterministic layout selection and resolution.
Layout behavior → click to expand
- Default uses the configured
Map / LayoutOrderandMap / DoOrdervalues. With ordering off and neither Generative Map nor InfiniteMap active, PLL keeps PEAK's game authored current base/active variant layout. - Library Base appears whenever the effective Default selection differs from PLL's compiled
LayoutOrderdefault, including whenDoOrderis off or a registered modification targets Default. It is not a named layout and does not rewrite configuration: it selects that compiled default order, forces ordering on for the selected flight, and ignores registered modifications targeting Default. The terminal override clears after the flight configuration is captured. - Named layouts supply their own ordered tokens and always enable ordering for that flight.
Each layout sequence contains public ordinary choices only. Exact public native names and exact custom segment IDs select a source; qualified biome tokens such as peak/beach select from registered owners and declared overwriters. Caldera, Gloom, and Peak are internal structure, not public choices, so those names and their structural aliases are rejected as layout tokens. The solver maximizes valid overwrite substitutions, then Before/After, then Favorites, and finally ordinal stable-ID order. Metadata never inserts a biome by itself.
Every edit, InfiniteMap expansion, and metadata choice is resolved once over the completed public sequence before native composites expand to internal slots. Invalid connectors, unknown strict tokens, structural aliases, or excessive solver bounds fail before map mutation. PLLLibrary.DeployLayout(LayoutDefinition) and deterministic PLLLibrary.ModifyLayout(LayoutModification) remain supported for peer plugins.
Custom Biomes
Runtime bundle, authoring, and generation contract.
Creator
Unity authoring and .pll packaging.
Creator package → click to expand
Install com.aeralis.pll.creator-1.28.1.tgz through Unity Package Manager using Add package from tarball. Use an Unity project with Windows Build Support installed.
- Run PLL > Create Biome to create a valid starting root, definition, ports, anchors, fog/progress shell, and optional day-night profile.
- Use the focused PLL > helpers for supported authoring components.
- Select one or more
PllBiomeDefinitionorPllBiomeRegistryassets. - Run PLL > Build .pll and choose a destination outside the Unity project.
PLL > Validate Selected Biome and the definition inspector use the same authoritative complete reachable prefab graph as the build.
Support
Diagnostics and validation boundaries.
Support and troubleshooting → click to expand
Include the following with a report:
- PLL Library, PEAK, and BepInExPack versions;
- complete mod list;
BepInEx/LogOutput.logand PEAKPlayer.log;BepInEx/config/AF/PLL_Library/config.cfg;- selected terminal layout and text seed;
- for custom content: bundle filename, stable IDs, and revisions;
- whether the failure occurs offline, as host, as client, during late join, or during quicksave continuation.
| Symptom | Check |
|---|---|
| A custom biome is absent | Place its exact lowercase .pll file directly in BepInEx/plugins/PLL_Biomes/ and read the first bundle rejection. |
| A strict layout token fails | Use an exact public native name, exact custom segment ID, or registered public qualified biome token. Caldera, Gloom, Peak, and their structural aliases are not layout tokens. |
Peak fails |
Remove it from the public layout. Peak is derived only at a supported terminal boundary. |
| Nadir gate is unavailable | Terminal Nadir follows PEAK's native ending. A gemless Peak successor uses the bound statue directly as a Beach-like all player campfire checkpoint. An eligible honor Nadir first requires four distinct committed amulet types and native FX, then exposes the same CAMPFIRE; the native reward warp is suppressed for that checkpoint. |
| Infinite expansion fails | Supply at least one public ordinary repeatable token and a connector-compatible chain within the internal slot limit. |
| Bundle is rejected | Read the first bundle path and content-ID error; one failed bundle transaction does not partially register. |
Inactive native map roots appear under WilIsland |
Leave them inactive. They are intentional rollback templates; manual activation is unsupported and activates duplicate PhotonView components alongside the committed layout. PLL does not destructively clear them. |
| Client disconnects during load | Ensure every peer uses wire revision 40 with matching bundles, configuration, and authored revisions. |
| Quicksave continuation fails | Restore behavior active configuration and registered content from the saved run. Quicksaves whose identity encoded Lazy Features=false or Patch bridges=false are intentionally rejected; PLL does not silently reinterpret behavior that is now always active. |
| A server timeout is reported after a map load exception | Capture the first exception and complete logs. PLL's queue finalizer restores Photon's message queue only when PEAK's ActivateWithoutMessageQueue path throws; it is exception hardening, not proof that PLL caused the timeout. |

