You are viewing a potentially older version of this package. View all versions.
khalil-ItemSpawnerPremium-2.2.0 icon

ItemSpawnerPremium

Standalone item spawner for PEAK (F5). Localized item names, pinyin search (Chinese UI), multi-tag categories, right-click favorites, configurable hide-unused toggle, warm kraft-paper UI. Only BepInEx required.

Date uploaded 4 days ago
Version 2.2.0
Download link khalil-ItemSpawnerPremium-2.2.0.zip
Downloads 731
Dependency string khalil-ItemSpawnerPremium-2.2.0

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

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.

Verified on PEAK 2.3.a (Steam build 24961053, 2026-08-28).

Features

  • Localized item names — the UI is translated into all 15 game languages; item names follow the game's own localization table, and if a language column is missing there the English name is shown instead.
  • Smart search + Pinyin (full spelling and initials, e.g. regouchang / rgc finds 热狗肠). Pinyin matching is enabled when the game language is Simplified or Traditional Chinese.
  • Multi-tag categories: All / Tools / Food / Mystical / Equipment / Consumables / Misc.
  • 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/_Hidden prefabs, 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

  1. Install BepInExPack_PEAK.
  2. Put plugins/ItemSpawnerPremium.dll into BepInEx/plugins/.
  3. Launch the game and press F5.

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.

  1. Point GameDir at your PEAK root (the folder containing BepInEx and PEAK_Data) — either pass -p:GameDir="X:\path\to\PEAK", set a GameDir environment variable, or edit the default in Directory.Build.props. The build fails fast with a clear message if the path is wrong.
  2. Run dotnet build ItemSpawnerEnhancement.csproj -c Release.
  3. Output: bin/Release/ItemSpawnerPremium.dll (Debug goes to bin/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, FavoriteCodec.cs, Localization/*, 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.

dotnet test tests/ItemSpawnerPremium.Tests/ItemSpawnerPremium.Tests.csproj

Covered: search normalisation and pinyin conversion (including the full BMP Han sweep for the decode bound guard), 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 — the MenuWindow subclass (pure-code UI).
  • ItemListView.cs — list view, object pool, favorites, Unity lifecycle.
  • 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/ — canonical manifest.json and icon.png used to build the release folder.
  • tests/ — unit tests (excluded from the mod DLL via Compile Remove).
  • pack.ps1 / verify_catalog.py — release assembly and catalog invariant checks.

Acknowledgements

License

MIT — see LICENSE. Third-party notices in THIRD_PARTY_NOTICES.md.

CHANGELOG

Changelog

[2.3.0] - 2026-08-30

本版本修掉了几个会让模组真正不可用的问题(面板锁死、房主端崩溃、手柄无法操作、部分语言面板全是方块),并把上一版一处无效的"多语言缺字修复"彻底删掉。

修复

  • 修复童军饼干(两种)被错误归入「消耗品」分类的问题(食物即使有使用次数也只归「食物」)
  • 修复打开面板过程中出错时,角色被永久锁住无法移动、且面板关不掉的问题(现在无论在哪一步出错都会自动解除锁定)
  • 修复点击物品可能导致房主端报错的问题:本地角色数据尚未就绪、或物品来自未随游戏资源打包的其他模组时,现在会拒绝生成并提示,而不是让房主端崩掉
  • 修复手柄玩家打开面板后无法用摇杆/十字键离开搜索框、只能打字的问题(手柄下改为默认选中第一个分类按钮,并为按钮加上聚焦高亮)
  • 修复简体中文/繁体中文/日语/韩语/俄语/乌克兰语在特定时机打开面板时,物品名会一直显示为方块直到手动切换一次语言的问题
  • 修复加载画面期间按 F5 打开的面板会在约半秒后被自动收起、表现为"F5 时好时坏"的问题(加载中不再响应开关键)
  • 修复攀岩粉、传送篮球在日语/韩语/俄语/乌克兰语/德语/法语/意大利语/西班牙语/葡萄牙语/波兰语/土耳其语界面下显示英文名的问题(现已补全全部 15 种语言)
  • 修复关闭「隐藏无用物品」后,蘑菇图鉴书页被错误归入「食物」分类的问题
  • 修复面板卡片与心形标记边缘发暗的问题
  • 修复切换「隐藏无用物品」开关时,在极少数情况下该次改动可能被丢弃的问题

调整

  • 攀岩粉、童军队长之魂加入默认隐藏列表(两者在游戏里都没有实际作用;关闭「隐藏无用物品」仍可显示)
  • 传送篮球(原「太空篮球」):新名字直接体现它的作用——投出去会把你传送到落点
  • 乌克兰语「收藏」用词改为更符合界面惯例的 Вибране
  • 依赖的 BepInEx 版本号更新为当前实际使用的 5.4.75301

移除

  • 移除连续点击物品时的 0.25 秒冷却限制,现在连点多快都会照实生成
  • 移除上一版加入的「装饰字体缺字检测」:经核实本作的界面字体与手绘装饰字体是同一个字体资源,该检测在任何语言下都不会改变实际显示效果,只会在每次切换语言时做一次无用的字形扫描并输出一条与事实不符的日志。多语言字形本来就由游戏字体自带的回退链提供,显示效果不受影响

[2.2.0] - 2026-08-29

本版本以稳定性、多语言显示与交互细节修复为主。

修复

  • 修复极端情况下打开面板失败会导致角色无法操作、且面板无法关闭的问题
  • 修复波兰语/土耳其语/德语/法语/西班牙语/葡萄牙语界面部分文字显示为方块的问题
  • 修复连续快速点击物品会在房间内堆积大量未拾取物品的问题
  • 修复首次打开面板时物品分批闪现、随后突然重排的问题
  • 修复部分语言下分类按钮文字溢出重叠的问题
  • 修复物品图标不遵循游戏「昆虫恐惧症」/色盲无障碍设置的问题
  • 修复切换 UI 样式时面板可能失效的问题
  • 修复俄语/乌克兰语分类按钮文字被强制全大写的问题(与游戏排版保持一致)
  • 修复打开面板后搜索框未自动获得输入焦点的问题(键鼠)
  • 修复最右列物品可能被滚动条遮挡而无法点击的问题
  • 修复收藏数据在特定情况下可能被误删的问题(未识别的收藏项现在会保留并在日志中提示,不再自动删除)
  • 修复加载画面期间点击物品会把物品生成到即将卸载的场景的问题
  • 修复搜索框获得焦点后,把开关键设为字母键仍会误触发开关的问题(功能键如 F5 不受影响,随时可关闭面板)
  • 修复右键拖动物品卡片后松开会误切换收藏的问题

改进

  • 搜索响应更快(降低每次输入的处理开销)
  • 统一分类「杂项」在英语/日语/韩语下的名称(Misc / その他 / 기타)
  • 搜索框与分类按钮左右边缘对齐
  • 其他稳定性与兼容性改进

[2.1.0] - 2026-08-27

本版本以稳定性与分类准确性修复为主。

修复

  • 修复切换「隐藏无用物品」开关时,被隐藏物品的收藏被永久删除的问题(收藏清理不再受显示过滤影响)
  • 修复切换开关时物品排序与网格布局可能错乱的问题
  • 修复在列表构建过程中切换开关,该次改动被静默忽略、必须重开游戏才生效的问题
  • 修复目录重建失败后列表永久空白、F5 无法恢复的问题
  • 修复未进入房间时点击物品无任何反应且无提示的问题
  • 修复按住物品时列表刷新,卡片颜色卡在按下状态并影响其他物品的问题
  • 修复切换语言后同名物品在网格中位置随机变动的问题
  • 修复俄语/乌克兰语界面文字可能显示为方块的问题
  • 修复滚动条圆角与描边被拉伸变形的问题
  • 修复切换 UI 样式时的资源时序隐患

调整

  • 分类「场景」更名为「杂项」,更贴合该分类的实际内容
  • 修正物品分类:疗愈蘑菇、整颗椰子、童军饼干
  • 未收录物品的自动分类更严格,不再把带烹饪组件的普通道具误判为食物

[2.0.1] - 2026-08-18

调整

  • 面板尺寸对齐原版 ItemSpawner(纵向范围由 0.18→0.82 扩展至 0.107→0.895,屏高约 79%)

[2.0.0] - 2026-08-18

ItemSpawnerPremium 首个版本:独立的单 DLL 物品生成器模组,仅需 BepInEx(不再依赖原版 ItemSpawner / AutoHookGenPatcher)。

功能

  • F5 打开物品生成器,点击物品即在手中生成
  • 全 15 语言本地化(物品名 + 界面文字)
  • 智能搜索 + 拼音(全拼 / 首字母)
  • 多标签分类:全部 / 工具 / 食物 / 神秘 / 装备 / 消耗品 / 场景
  • 收藏:右键收藏、心形标记、配置持久化、收藏筛选
  • 物品隐藏开关(默认开启,可关闭显示全部物品):默认隐藏棋子、撕下的书页等装饰/无用物品
  • 两套 UI 样式:手绘风(默认)/ 透明风