ItemSpawnerPremium
Standalone item spawner for PEAK (F5). Spawn for any teammate or yourself. Localized item names, pinyin search (Chinese UI), multi-tag categories, right-click favorites, hide-unused toggle, two UI styles. Only BepInEx required.
| Last updated | 4 days ago |
| Total downloads | 1125 |
| Total rating | 0 |
| Categories | AI Generated Client Side Mods Tools |
| Dependency string | khalil2-ItemSpawnerPremium-2.5.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
ItemSpawnerPremium
A standalone item spawner for PEAK. Press F5 to open the browser and spawn any item in hand. Only BepInEx is required — no other mods.
Multiplayer note: items are network-instantiated by the room host, so anything you spawn is visible to everyone in the room. Use it in your own lobby, or check with your teammates first.
A continuation of the original
quackandcheese-ItemSpawner, rebuilt as a single-DLL standalone mod.
Built against PEAK 2.6.b (Steam build 25739797, 2026-10-07). Later game updates may still add or rename items.
Features
- Localized item names — the UI is translated into all 15 game languages. Item names come from the game's own localization table; if that table has no column for your language the English name is shown, if it has no entry for the item at all the internal item name (or the prefab name) is shown, and a small number of items that the game never localized use a name bundled with this mod.
- Smart search + Pinyin (full spelling and initials, e.g.
regouchang/rgcmatches the Chinese name of Hot Dog Sausage). Pinyin matching is enabled when the game language is Simplified or Traditional Chinese. - Multi-tag categories: All / Tools / Food / Mystical / Equipment / Consumables / Misc.
- Related items stay together: colour variants and product lines are grouped in the grid (all four clusterberries in a row, all crispberries, all rope launchers, all packs, and so on) instead of being scattered by name.
- Spawn for any teammate: the target chip next to the search box offers Smart target (yourself while alive, the Scout you are spectating after death) or any Scout in the room. The list refreshes every second, so players joining or leaving are picked up without reopening the panel. Names with rich-text color codes are shown as plain names, and a thin scrollbar appears when the list is longer than six entries. Items are still created by the room host through PEAK's own spawn RPC.
- Favorites: right-click to toggle, heart marker, config persistence, favorites filter.
- Hide-unused toggle (default on): hides chess pieces, torn guidebook pages,
_Prop/_TEMP/_UNUSED/_Hiddenprefabs, and a short list of template/placeholder prefabs. Favorites are preserved when toggling. - Two UI styles: HandDrawn (warm kraft paper, default) / Transparent.
- Single DLL: TinyPinyin and all 15 localization JSONs are bundled; only BepInEx is required.
Installation
- Install BepInExPack_PEAK.
- Put
plugins/ItemSpawnerPremium.dllintoBepInEx/plugins/. - Launch the game and press F5. Use the chip to the right of the search box to pick who receives the item — Smart target by default (yourself, or the Scout you are spectating after death).
Configuration
BepInEx/config/com.itemspawnerpremium.ItemSpawnerPremium.cfg:
| Section | Key | Default | Description |
|---|---|---|---|
| General | ToggleKey | F5 | Key to open/close the spawn menu (UnityEngine.KeyCode). |
| General | Style | HandDrawn | UI style: HandDrawn / Transparent. |
| General | HideUnused | true | Hide decorative/unused items; set false to show everything. |
| Favorites | ItemNames | [] |
Favorite prefab names (JSON array). |
Building
Prerequisites: .NET SDK (targets net472), and a PEAK install.
- Point
GameDirat your PEAK root (the folder containingBepInExandPEAK_Data) — either pass-p:GameDir="X:\path\to\PEAK", set aGameDirenvironment variable, or edit the default inDirectory.Build.props. The build fails fast with a clear message if the path is wrong. - Run
dotnet build ItemSpawnerEnhancement.csproj -c Release. - Output:
bin/Release/ItemSpawnerPremium.dll(Debug goes tobin/Debug/, so the two never overwrite each other).
Releasing
pack.ps1 assembles dist/ItemSpawnerPremium/ from a clean Release build. It refuses to run unless the
git working tree is clean and all four version strings agree (csproj, Plugin.cs, package/manifest.json,
CHANGELOG.md), it runs the unit tests, and it verifies the ItemCatalog.cs invariants via
verify_catalog.py. Zipping is opt-in (-Pack). See the comment header in pack.ps1 for the full
release order.
Tests
tests/ItemSpawnerPremium.Tests is a net8.0 NUnit project with no Unity or BepInEx dependency: it
source-links only the pure-logic files (SearchText.cs, SearchRanking.cs, ItemCatalog*.cs,
ItemGrouping.cs, TargetSelection.cs, FavoriteCodec.cs, Localization/Loc.cs,
Localization/LocalizationCatalog.cs, TinyPinyin/*) and
embeds the 15 language JSONs under the same resource names the shipped DLL uses, so the real marker
parsing and English fallback chain are exercised. Localization/GameLanguage.cs is deliberately not
linked — it references the game's LocalizedText type.
dotnet test tests/ItemSpawnerPremium.Tests/ItemSpawnerPremium.Tests.csproj
Covered: search normalisation and pinyin conversion (including a sweep of the whole BMP Han range asserting no character throws during decode), ranking tiers and culture-independence, the catalog sort's total-order properties, hidden rule vs. category table complementarity, favorite JSON round-trips and corrupt-input recovery, and localization key completeness across all 15 languages.
Project structure
Plugin.cs— BepInEx entry point, config, F5 polling, GUIManager patch.ItemSpawnerPremiumWindow.cs— theMenuWindowsubclass (pure-code UI).ItemListView.cs— list view, object pool, favorites, Unity lifecycle.TargetSelection.cs— pure-logic target resolution (manual → spectated → local) and dropdown labels.PlayerTargets.cs— captures room characters and spawns through the chosen target'sCharacterItems.TargetSelector.cs— the target chip and its hand-built dropdown.SearchText.cs/SearchRanking.cs— pure-logic search normalisation, ranking and catalog ordering.UiEnhancer.cs— UI builder (two styles, SDF-baked sprites).ItemCatalog.cs/ItemCatalogMethods.cs— item catalog data + category logic.FavoriteStore.cs/FavoriteCodec.cs— favorites persistence and its pure-logic codec.Warmup.cs— panel warmup + render priming.TinyPinyin/— bundled pinyin library (MIT, locally modified).Localization/— 15 embedded language JSONs.package/— canonicalmanifest.jsonandicon.pngused to build the release folder.tests/— unit tests (excluded from the mod DLL viaCompile Remove).pack.ps1/verify_catalog.py— release assembly and catalog invariant checks.
Acknowledgements
- Original mod author: quackandcheese —
quackandcheese-ItemSpawner(0.1.4). - Code reference: ItemSpawnerEnhanced by lllei — the localization catalog and language-code mapping in this mod are derived from it (MIT; see the notices file).
- Teammate spawning reference: the "spawn for any teammate" code was also written with reference to ItemSpawnerEnhanced by lllei — specifically its
PlayerTargetService/TargetResolver/PlayerTargetControllertarget-selection design and spawn flow (MIT; see the notices file). - TinyPinyin: TinyPinyin.Net (MIT, © 2017 Jay.M.Hu).
License
MIT — see LICENSE. Third-party notices in THIRD_PARTY_NOTICES.md.