个人宝箱脚轮

个人宝箱脚轮

分级的个人锁定储物箱,按Valheim进度时代缩放,具有服务器同步的可配置容量、制作配方和微妙的发光锁指示器。

[size=6]PersonalChestHeeler[/size]


[url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/releases][img]https://img.shields.io/github/v/release/dreamwraith/Valheim-PersonalChestHeeler?logo=github&color=1081c2[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/releases][img]https://img.shields.io/github/downloads/dreamwraith/Valheim-PersonalChestHeeler/total?logo=github&color=1081c2[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/commits/main][img]https://img.shields.io/github/last-commit/dreamwraith/Valheim-PersonalChestHeeler?logo=git[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/actions][img]https://img.shields.io/github/actions/workflow/status/dreamwraith/Valheim-PersonalChestHeeler/publish.yml?label=Publish%20Portals&logo=githubactions[/img][/url] [url=https://thunderstore.io/c/valheim/p/DreamWraith/PersonalChestHeeler/][img]https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fthunderstore.io%2Fapi%2Fexperimental%2Fpackage%2FDreamWraith%2FPersonalChestHeeler%2F&query=%24.latest.version_number&label=Thunderstore&logo=thunderstore&color=2980b9[/img][/url] [url=https://valheim.hexium.gg/mods/DreamWraith/PersonalChestHeeler][img]https://img.shields.io/badge/Hexium-PersonalChestHeeler-6c5ce7[/img][/url] [url=https://www.nexusmods.com/valheim/mods/4357][img]https://img.shields.io/badge/Nexus_Mods-PersonalChestHeeler-da8d24?logo=nexusmods[/img][/url] [url=https://store.steampowered.com/app/892970/Valheim/][img]https://img.shields.io/badge/Valheim-Deep_North_%2F_1.x-1b2838?logo=steam&logoColor=white[/img][/url] [url=https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/][img]https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fthunderstore.io%2Fapi%2Fexperimental%2Fpackage%2Fdenikson%2FBepInExPack_Valheim%2F&query=%24.latest.version_number&label=BepInEx&color=5B57E7[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/PersonalChestHeeler.csproj][img]https://img.shields.io/badge/.NET%20Framework-4.8-512BD4?logo=dotnet[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler#compatibility][img]https://img.shields.io/badge/Type-Client%20%26%20Server-blue[/img][/url] [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/LICENSE.md][img]https://img.shields.io/github/license/dreamwraith/Valheim-PersonalChestHeeler?color=blue[/img][/url] [url=https://gist.github.com/dreamwraith/77c91d656c842611bf8c40febf8056f2][img]https://img.shields.io/badge/AI%20Philosophy-Software%20Craft-2ea44f?logo=github[/img][/url]



分级个人锁定储物箱,其规模随《英灵神殿》各 progression 时代递增,具备服务器同步的可配置容量、制作配方以及低调的发光锁定指示器。



[quote]


[!NOTE]


[b]多人游戏要求:[/b]在多人游戏中,本模组必须同时安装在[b]专用服务器和所有连接的客户端[/b]上,因为它注册了自定义建筑预制体。它在独立单人游戏中也能无缝运行。


[/quote]


[line]



[size=5]概述[/size]


在原版《英灵神殿》中,私有锁定存储仅限于单个 6 格个人箱([b]piece_chest_private[/b])。[b]PersonalChestHeeler[/b] 引入了 7 个层级的安全个人锁箱与宝库,其规模随《英灵神殿》的生物群系和制作站递增。每个层级都拥有专属的物理尺寸、主题化的发光锁光效、自定义音效分层以及完整的多人游戏服务器同步。



[size=4]进阶矩阵[/size]



[b]层级 | 预制体名称 | 原版素材来源 | 网格(宽 x 高)| 格数 | 缩放 | 锁光色调 | 默认配方 | 所需制作站 | 生命值[/b]


[b]层级 1(锁链锁箱)[/b] | [b]piece_chest_chained_personal[/b] | [b]TreasureChest_morkhalla[/b] | 3 x 2 | [b]6[/b] | 0.30x | 金色琥珀([b]#D2A700[/b])| [b]Wood:8,Tin:1,Copper:1,Resin:4,GreydwarfEye:1[/b] | 工作台 | 250


[b]层级 2(青铜桁架箱)[/b] | [b]piece_chest_finewood_personal[/b] | [b]piece_chest_private[/b] | 4 x 3 | [b]12[/b] | 0.90x | 森林绿([b]#00AA39[/b])| [b]RoundLog:12,Bronze:4,Ooze:4,WitheredBone:2,Ectoplasm:1[/b] | 锻造炉 | 1,000


[b]层级 3(铁箍保险箱)[/b] | [b]piece_chest_reinforced_personal[/b] | [b]piece_chest[/b] | 6 x 3 | [b]18[/b] | 0.60x | 炽热橙([b]#FF7900[/b])| [b]ElderBark:16,Iron:6,Guck:4,WolfFang:4,SurtlingCore:1[/b] | 锻造炉 | 1,500


[b]层级 4(华丽银匣)[/b] | [b]piece_chest_dvergr_sm_personal[/b] | [b]TreasureChest_dvergrtower[/b] | 6 x 4 | [b]24[/b] | 1.10x | 奥术品红([b]#E360E7[/b])| [b]FineWood:20,Silver:8,Tar:4,LinenThread:8,WolfClaw:1[/b] | 工匠台 | 2,500


[b]层级 5(矮人发条宝库)[/b] | [b]piece_chest_dvergr_lg_personal[/b] | [b]TreasureChest_dvergrtown[/b] | 6 x 5 | [b]30[/b] | 1.20x | 钴蓝([b]#2359FF[/b])| [b]YggdrasilWood:24,BlackMetal:10,Sap:4,MechanicalSpring:2,Eitr:1[/b] | 黑锻造炉 | 4,000


[b]层级 6(焦黑焰金属安全堡)[/b] | [b]piece_chest_charred_personal[/b] | [b]TreasureChest_charredfortress[/b] | 6 x 6 | [b]36[/b] | 0.95x | 深红([b]#FF0000[/b])| [b]Blackwood:28,FlametalNew:12,CharcoalResin:4,CeramicPlate:2,Wisp:1[/b] | 黑锻造炉 | 10,000


[b]层级 7(远古莫克哈拉圣物匣)[/b] | [b]piece_chest_ancient_personal[/b] | [b]Morkhalla_ChestAncient[/b] | 7 x 6 | [b]42[/b] | 0.90x | 淡冰川青([b]#CAFFFF[/b])| [b]Grausten:32,Gold:14,OozeMork:4,Frostwood:8,MemorialCoal:1[/b] | 加尔德尔桌 | 25,000


[line]



[size=5]特性[/size]


[list]


[*] [b]专属锤子分类[/b]:借助 Jötunn 的《英灵神殿》1.x 分类支持,出现在锤子建造菜单中专属的“个人箱”标签页下,同时保留储物筛选标签。


[*] [b]标准化建筑物理[/b]:所有箱子碰撞体统一置于 [b]piece[/b] 物理层(第 10 层),以实现无缝的建筑网格吸附、可靠的修理定位以及零地面穿透。


[*] [b]主题化发光锁光效([b]ChestGlowController[/b])[/b]:每个箱子都带有柔和的、以锁为中心的点光源和材质发光,反映其金属/生物群系层级,可立即将私有存储与共享箱子区分开。


[*] [b]访问控制与拆除保护[/b]:在多人服务器中强制执行创建者所有权。防止拆除含有物品的箱子。


[*] [b]管理员锁绕过[/b]:服务器管理员可选择绕过个人箱锁([b]AdminBypassesLock[/b])。


[*] [b]HUD 所有权指示器[/b]:上下文悬停文本高亮显示锁定状态(绿色的 [b][Personal Lock: Owned][/b],红色的 [b][Personal Lock: Restricted][/b])。


[*] [b]配置实时热重载[/b]:容量、配方、制作站、生命值和视觉光效设置通过 [b]ConditionalConfigSync[/b] 在客户端之间同步。


[*] [b]零资源包开销[/b]:使用零资源预制体克隆,源自《英灵神殿》内置资源。


[/list]


[line]



[size=5]配置[/size]


设置可直接在游戏内使用 BepInEx [b]配置管理器[/b](F1)自定义,或通过编辑 [b]BepInEx/config/dreamwraith.PersonalChestHeeler.cfg[/b]:




[b]区段 | 键 | 类型 | 默认值 | 描述[/b]


[b]1 - General[/b] | [b]EnableMod[/b] | [b]bool[/b] | [b]true[/b] | 启用或禁用模组功能的总开关。


[b]1 - General[/b] | [b]AdminBypassesLock[/b] | [b]bool[/b] | [b]true[/b] | 若为 true,服务器管理员可绕过个人箱所有权限制。


[b]1 - General[/b] | [b]PieceCategory[/b] | [b]string[/b] | [b]Personal Chests[/b] | 锤子建造菜单分类名称(支持自定义名称或原版分类)。


[b]1 - General[/b] | [b]EnableChestGlow[/b] | [b]bool[/b] | [b]true[/b] | 启用箱子上低调的发光锁定指示器和点光源。


[b]1 - General[/b] | [b]ChestGlowIntensity[/b] | [b]float[/b] | [b]1.0[/b] | 箱子锁光效和点光源的强度倍率(0.0 - 3.0)。


[b]1 - General[/b] | [b]EnableDebugLogs[/b] | [b]bool[/b] | [b]false[/b] | 在 BepInEx 控制台中启用详细诊断日志。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 1 锁链锁箱。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Health[/b] | [b]float[/b] | [b]250.0[/b] | 结构生命值。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Inventory Height[/b] | [b]int[/b] | [b]2[/b] | 库存网格行高(1 - 10)。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Inventory Width[/b] | [b]int[/b] | [b]3[/b] | 库存网格列宽(1 - 10)(共 6 格)。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Crafting Station[/b] | [b]string[/b] | [b]piece_workbench[/b] | 所需制作站。


[b]2 - Chest.Chained[/b] | [b]Chained Chest Recipe[/b] | [b]string[/b] | [b]Wood:8,Tin:1,Copper:1,Resin:4,GreydwarfEye:1[/b] | 制作需求,格式为 [b]ItemPrefab:Amount,...[/b]。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 2 青铜桁架箱。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Health[/b] | [b]float[/b] | [b]1000.0[/b] | 结构生命值。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Inventory Height[/b] | [b]int[/b] | [b]3[/b] | 库存网格行高(1 - 10)。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Inventory Width[/b] | [b]int[/b] | [b]4[/b] | 库存网格列宽(1 - 10)(共 12 格)。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Crafting Station[/b] | [b]string[/b] | [b]forge[/b] | 所需制作站。


[b]3 - Chest.FineWood[/b] | [b]Fine Wood Chest Recipe[/b] | [b]string[/b] | [b]RoundLog:12,Bronze:4,Ooze:4,WitheredBone:2,Ectoplasm:1[/b] | 制作需求。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 3 铁箍保险箱。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Health[/b] | [b]float[/b] | [b]1500.0[/b] | 结构生命值。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Inventory Height[/b] | [b]int[/b] | [b]3[/b] | 库存网格行高(1 - 10)。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Inventory Width[/b] | [b]int[/b] | [b]6[/b] | 库存网格列宽(1 - 10)(共 18 格)。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Crafting Station[/b] | [b]string[/b] | [b]forge[/b] | 所需制作站。


[b]4 - Chest.Reinforced[/b] | [b]Reinforced Chest Recipe[/b] | [b]string[/b] | [b]ElderBark:16,Iron:6,Guck:4,WolfFang:4,SurtlingCore:1[/b] | 制作需求。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 4 华丽银匣。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Health[/b] | [b]float[/b] | [b]2500.0[/b] | 结构生命值。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Inventory Height[/b] | [b]int[/b] | [b]4[/b] | 库存网格行高(1 - 10)。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Inventory Width[/b] | [b]int[/b] | [b]6[/b] | 库存网格列宽(1 - 10)(共 24 格)。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Crafting Station[/b] | [b]string[/b] | [b]piece_artisanstation[/b] | 所需制作站。


[b]5 - Chest.SmallDvergr[/b] | [b]Small Dvergr Chest Recipe[/b] | [b]string[/b] | [b]FineWood:20,Silver:8,Tar:4,LinenThread:8,WolfClaw:1[/b] | 制作需求。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 5 矮人发条宝库。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Health[/b] | [b]float[/b] | [b]4000.0[/b] | 结构生命值。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Inventory Height[/b] | [b]int[/b] | [b]5[/b] | 库存网格行高(1 - 10)。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Inventory Width[/b] | [b]int[/b] | [b]6[/b] | 库存网格列宽(1 - 10)(共 30 格)。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Crafting Station[/b] | [b]string[/b] | [b]blackforge[/b] | 所需制作站。


[b]6 - Chest.LargeDvergr[/b] | [b]Large Dvergr Chest Recipe[/b] | [b]string[/b] | [b]YggdrasilWood:24,BlackMetal:10,Sap:4,MechanicalSpring:2,Eitr:1[/b] | 制作需求。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 6 焦黑焰金属安全堡。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Health[/b] | [b]float[/b] | [b]10000.0[/b] | 结构生命值。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Inventory Height[/b] | [b]int[/b] | [b]6[/b] | 库存网格行高(1 - 10)。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Inventory Width[/b] | [b]int[/b] | [b]6[/b] | 库存网格列宽(1 - 10)(共 36 格)。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Crafting Station[/b] | [b]string[/b] | [b]blackforge[/b] | 所需制作站。


[b]7 - Chest.CharredFortress[/b] | [b]Charred Fortress Chest Recipe[/b] | [b]string[/b] | [b]Blackwood:28,FlametalNew:12,CharcoalResin:4,CeramicPlate:2,Wisp:1[/b] | 制作需求。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Enabled[/b] | [b]bool[/b] | [b]true[/b] | 启用层级 7 远古莫克哈拉圣物匣。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Health[/b] | [b]float[/b] | [b]25000.0[/b] | 结构生命值。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Inventory Height[/b] | [b]int[/b] | [b]6[/b] | 库存网格行高(1 - 10)。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Inventory Width[/b] | [b]int[/b] | [b]7[/b] | 库存网格列宽(1 - 10)(共 42 格)。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Crafting Station[/b] | [b]string[/b] | [b]piece_magetable[/b] | 所需制作站。


[b]8 - Chest.AncientMorkhalla[/b] | [b]Ancient Chest Recipe[/b] | [b]string[/b] | [b]Grausten:32,Gold:14,OozeMork:4,Frostwood:8,MemorialCoal:1[/b] | 制作需求。


[line]



[size=5]兼容性[/size]


[list]


[*] [b]多人游戏[/b]:必须同时安装在专用服务器和所有连接的客户端上。在未安装该模组的服务器上尝试放置自定义箱子将导致预制体丢失错误。


[*] [b]单人游戏[/b]:在本地单人世界中完全可用。


[*] [b]模组管理器[/b]:完全兼容 [b]Gale[/b]、[b]Thunderstore Mod Manager[/b] 和 [b]r2modman[/b]。


[*] [b]模组化环境[/b]:可与其他建筑和库存模组干净集成,无冲突。


[/list]


[line]



[size=5]安装[/size]



[quote]


[!TIP]


[b]推荐使用模组管理器:[/b]使用现代的模组管理器(如 [b]Gale[/b] 或 [b]Thunderstore[/b])可让安装和依赖自动更新变得轻松。


[/quote]


[size=4]模组管理器(推荐)[/size]


[list=1]


[*] 通过 [b]Gale[/b]、[b]Thunderstore Mod Manager[/b] 或 [b]r2modman[/b] 安装。


[*] 启动《英灵神殿》即可畅玩!


[/list]


[size=4]手动安装[/size]


[list=1]


[*] 确保已安装 [b]BepInExPack Valheim[/b]。


[*] 下载并解压最新的发布压缩包。


[*] 将 [b]PersonalChestHeeler.dll[/b] 放入你的 [b]Valheim/BepInEx/plugins/[/b] 目录。


[*] 启动《英灵神殿》。


[/list]


[line]



[size=5]从源码构建[/size]


该项目使用便携式 MSBuild 配置,可自动检测标准 Steam 路径。



[code]dotnet build -c Release[/code]



编译后的程序集将放置在 [b]bin/Release/net48/PersonalChestHeeler.dll[/b]。在 [b]Release[/b] 配置下构建会自动将分发 ZIP 打包到 [b]bin/Publish/PersonalChestHeeler-<Version>.zip[/b]。有关版本号递增和独立压缩包生成的详细信息,请参阅 [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/PACKAGE.md]PACKAGE.md[/url]。



[size=4]自定义与 CI 路径[/size]


对于非标准 Steam 库位置或模组管理器配置文件,请将 [b]PersonalChestHeeler.csproj.user.example[/b] 复制到项目根目录下的 [b]PersonalChestHeeler.csproj.user[/b]:



[code]<?xml version="1.0" encoding="utf-8"?>


<Project>


<PropertyGroup>


<GamePath>D:\SteamLibrary\steamapps\common\Valheim</GamePath>


<BepInExCorePath>$(UserProfile)\AppData\Roaming\com.kesomannen.gale\valheim\profiles\<ProfileName>\BepInEx\core</BepInExCorePath>


</PropertyGroup>


</Project>[/code]



[line]



[size=5]打包、发布与版本[/size]


所有用于发布管理、打包以及发布到 [b]Thunderstore[/b]、[b]Hexium[/b] 和 [b]Nexus Mods[/b] 的开发者自动化工具都整合到了单一的 PowerShell 7 入口点 [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/.scripts/modtools.ps1][b].scripts/modtools.ps1[/b][/url],由共享的 [url=https://github.com/DreamWraith/DW-ValheimModTools][b][b]DW.ValheimModTools[/b][/b][/url] 模块驱动:


[list]


[*] [b]发布管理[/b]:[b]pwsh ./.scripts/modtools.ps1 release[/b] 以 [b]Release[/b] 模式编译,创建模组和源码压缩包,提取变更日志注释,并使用 [b]gh[/b] CLI 发布 GitHub Releases(默认草稿,或使用 [b]-Publish[/b] 发布)。


[*] [b]打包与版本递增[/b]:[b]pwsh ./.scripts/modtools.ps1 package -Bump Patch[/b] 递增 [b]PersonalChestHeeler.csproj[/b] 中的 SemVer,更新 [b]manifest.json[/b],并打包分发压缩包。


[*] [b]门户发布[/b]:[b]pwsh ./.scripts/modtools.ps1 publish -Target All[/b] 直接上传到 Thunderstore、Hexium 和 Nexus Mods API。


[*] [b]CI/CD 工作流[/b]:[url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/.github/workflows/publish.yml.example][b].github/workflows/publish.yml[/b][/url] 提供了一个自动化的 GitHub Actions 工作流,可在发布 GitHub Release 时发布到 Thunderstore、Hexium 和 Nexus Mods。


[/list]


有关标志、工作流和密钥配置的详细文档,请参阅 [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/.scripts/README.md][b].scripts/README.md[/b][/url]。




[line]



[size=5]许可、作者说明[/size]


[list]


[*] 本项目采用 GNU 通用公共许可证 v3.0 授权 - 详见 [url=https://github.com/dreamwraith/Valheim-PersonalChestHeeler/blob/main/LICENSE.md]LICENSE.md[/url] 文件。


[*] [url=https://gist.github.com/dreamwraith/98564f8441dc234bfadd7e2b605c694c][b]关于《英灵神殿》模组开发的个人小记[/b][/url] - 关于开源模组开发、社区包容性和反守门主义的思考。


[*] [url=https://gist.github.com/dreamwraith/77c91d656c842611bf8c40febf8056f2][b]关于 AI、软件工艺以及此代码为何存在的说明[/b][/url] - 关于软件工艺、人类能动性和工程责任的个人随笔。[/list]