回收与再利用

创作者: Azumatt
已更新:2024-01-13 05:57:26
395KB

关于此 MOD

一个允许你将物品回收为制作它们所用资源的模组。在制作菜单中添加了“回收”标签页/按钮。此外还可以直接在背包中使用。与 Jewelcrafting 和 EpicLoot 完全兼容。

描述





一个允许你将物品回收/分解为制作它们所用资源的模组。在制作菜单中添加了一个“回收”标签页/按钮。此外,还可以直接在物品栏中使用。

版本会与自身进行校验。如果安装在服务器上,它会踢出未安装该版本的客户端。


此模组使用ServerSync,若在服务器和所有客户端上安装,它将把所有配置同步到客户端


此模组使用文件监视器。如果配置文件未通过BepInEx配置管理器修改,而是直接在服务器上修改文件,则在文件保存后,更改将同步到所有客户端。



兼容:

  • VNEI
  • 珠宝加工(再也不用担心丢失宝石了!)
  • EpicLoot(再也不用担心丢失附魔物品了!)
  • 阿祖扩展玩家背包
  • 水
---

原作者的致谢

制作标签页/按钮的所有原始代码由以下人员编写 熊代码
原模组链接: 简易回收


模组信息

这是一个组合了 奥丁物品栏丢弃 以及上面的模组。目标是提供一个将物品回收为资源的一体化解决方案。

本模组初始发布后的所有代码改动均由我编写,包括两个模组的合并、ServerSync的添加以及对代码所做的任何改进。

安装说明

你必须正确安装BepInEx!这一点我再怎么强调都不为过。


手动安装

注意:(在服务器上很可能需要手动安装,请确保服务器上已正确安装 BepInEx)


  • 下载最新版本的 BepInEx。
  • 将zip文件的内容解压到游戏根目录。
  • 从Thunderstore.io下载Recycle_N_Reclaim的最新版本。
  • 将压缩文件的内容解压到
    BepInEx/plugins

    文件夹。
  • 启动游戏。



配置选项(Azumatt.Recycle_N_Reclaim.cfg)


请注意,物品栏回收和再利用是游戏中不同的部分,功能也各不相同。回收仅在物品栏中进行,并且(默认情况下)仅限管理员使用。如果你希望所有人都能使用此功能,请修改配置。默认情况下,管理员始终能获得100%的资源返还。再利用则在制作菜单中进行,所有人都可以使用。返还的资源数量可以配置,但默认是50%。


这在其中看起来像 BepInEx 配置管理器




1 - 通用


锁定配置 [与服务器同步]

  • 如果开启,配置将被锁定,只有服务器管理员才能更改。
    • 默认值:开启

2 - 物品栏回收

已启用【与服务器同步】

  • 如果开启,你将能够丢弃玩家背包中的物品。
    • 默认值:开启

锁定至管理员 [与服务器同步]
  • 如果开启,只有管理员可以使用此功能。
    • 默认值:开启

丢弃热键 [未与服务器同步]
  • 丢弃物品或回收资源的快捷键。必须启用
    • 默认值:删除

返回未知资源[已与服务器同步]
  • 若开启,当配方未知时,丢弃物品栏中的物品将返还资源
    • 默认值:关闭

返还附魔资源 [已与服务器同步]
  • 如果开启,并且已安装史诗战利品或珠宝制作,丢弃物品栏中的物品将返还史诗资源
    掠夺附魔或珠宝加工宝石
    • 默认值:开启
返回资源 [已与服务器同步]

  • 返还资源比例(0.0 - 1.0)。此设置强制在0到1之间。任何更高或更低的值
    将分别设为0或1。
    • 默认值:1
3 - 收复


回收率 [与服务器同步]

  • 资源回收速率。值必须在0到1之间。
    模组总是随机 下,所以如果你本应获得2.5个物品,你只会收到2个。如果回收率为0.5(50%),玩家将获得通常制作该物品所需资源的一半,假设一叠中只有一个物品且该物品为品质等级1。如果物品品质更高,产出的收益也会更高。
    • 默认值:0.5
返还附魔资源 [已与服务器同步]

  • 如果开启且已安装史诗战利品或珠宝制作,在背包中丢弃物品将返还史诗资源
    掠夺附魔或珠宝加工宝石
    • 默认值:开启
不可堆叠物品总是至少返还一个资源 [与服务器同步]

  • 如果启用并回收特定 不可堆叠 物品不会产出任何材料,
    取而代之,你将获得1个。如果禁用,你什么都得不到。
    • 默认值:开启
回收需要指定制作站 [与服务器同步]

  • 如果启用,回收时也会检查所需的制作站类型和等级。
    如果禁用,将完全忽略所有制作站需求。默认启用,以保持与《英灵神殿》原本运作方式接近。
    • 默认值:开启
防止零资源产出 [与服务器同步]

  • 如果启用,并且回收物品时不会产出任何材料,
    相反,你会获得1个。如果禁用,你什么都得不到。
    • 默认值:开启
允许回收未知配方 [与服务器同步]

  • 如果启用,你将可以回收尚未掌握配方的物品。
    默认禁用,因为可能有作弊嫌疑,但有时因玩家丢失进度而需要启用。
    • 默认值:关闭
4 - 界面


容器按钮位置 [与服务器同步]

  • 最后一次保存的回收按钮位置(以 JSON 格式存储)
    • 默认值:{"x":496.0,"y":-374.0,"z":-1.0}

容器回收已启用 [与服务器同步]
  • 如果启用,模组将显示容器回收按钮
    • 默认值:开启

打捞受阻时通知 [与服务器同步]
  • 如果启用后回收特定物品时遇到任何问题,模组会输出一条消息
    在屏幕中央(原生英灵神殿通知)。在实现时,这会在以下情况下发生:

  • 物品栏没有足够的空位来放置生成的资源
  • 玩家不知道该物品的配方
  • 如果启用,则在以下情况
    阻止零资源产出
    生效并阻止制作
    • 默认值:开启

启用实验性制作标签页界面 [与服务器同步]
  • 如果启用,将显示实验性制作中的制作标签页界面
    默认启用。
    • 默认值:开启
隐藏已装备物品的配方 [与服务器同步]

  • 如果启用,将在制作标签页中隐藏已装备的物品。
    这不会使物品变为可回收,仅影响其是否显示。默认启用。
    • 默认值:开启
忽略快捷栏物品【与服务器同步】

  • 如果启用,将在制作标签页中隐藏快捷栏物品。
    默认启用。
    • 默认值:开启
站点筛选已启用 [与服务器同步]

  • 如果启用,将根据制作站过滤所有回收配方
    用于生产上述物品。其主要目的是防止将食物显示为可回收物品,但如有需要可进一步扩展。默认启用
    • 默认值:开启
空间站筛选列表〔与服务器同步〕

  • 以逗号分隔的制作站列表(按其“预制体名称”)
    来自这些配方的物品在回收时应被忽略。这样做的主要目的是防止食物被显示为可回收物品,但如有需要可以进一步扩展。

截至0.216.9版本,配方中使用的站点完整列表:

  • 标识符:
    锻造
    游戏内名称:Forge
  • 标识符:
    黑锻
    游戏内名称:黑色熔炉
  • 标识符:
    工作台
    游戏内名称:工作台
  • 标识符:
    大锅
    游戏内名称:Cauldron
  • 标识符:
    石匠
    游戏内名称:石匠
  • 标识符:
    工匠台
    游戏内名称:工匠台
  • 标识符:
    魔法桌碎片
    游戏内名称:咒歌台
    • 默认值:piece_cauldron
调试


始终转储分析上下文 [已与服务器同步]

  • 如果启用,每次都会转储一份完整的详细回收报告。这会造成负担。
    性能方面的考虑,仅在调试问题时才应使用。
    • 默认值:关闭
调试允许刷屏日志[与服务器同步]

  • 如果启用,将向控制台频繁输出回收检查信息。
    非常。非常。刷屏。影响性能。
    • 默认值:关闭




示例 YAML(Azumatt.Recycle_N_Reclaim_ExcludeLists.yml)

# 下面你可以找到示例分组。分组用于快速排除或包含覆盖。它们是可重复使用的列表! 
# 请注意,其中一些分组和限制其实没什么意义,这里只是为了举例说明。
# 请确保遵循以下示例的格式。如有任何疑问,请在我的Discord中提问。

# 完整原版预制体名称列表: https://valheim-modding.github.io/Jotunn/data/prefabs/prefab-list.html
# 物品预制体名称列表:https://valheim-modding.github.io/Jotunn/data/objects/item-list.html

# 已经为你预设了几个未列出的组。你可以像使用自己创建的组一样使用它们。
# 这些是“全部”、“食物”、“药水”、“鱼”、“剑”、“弓”、“弩”、“斧”、“棍棒”、“匕首”、“镐”、“长柄武器”、“矛”、“装备”,
“Boss奖杯”、“奖杯”、“作物”、“种子”、“矿石”、“金属”、“木材”、“护甲”、“头盔”、“弹药”、“功能道具”、“工具”、“杂项”和“自定义”分组。
这些分组的条件如下:
# 分组:
#食物:
# - 条件:以下两个属性在ItemDrop脚本的sharedData属性上的值都必须大于0.0:
#- 食物
#食物体力
#药水:
# - 条件:以下属性必须满足 ItemDrop 脚本 sharedData 属性上的指定条件:
#- 食物 > 0.0
#食物体力 == 0.0
#鱼:
# - itemType: 鱼
#剑、弓、弩、斧、棍、匕首、镐、长柄武器、矛:
# - 物品类型:单手武器、双手武器、左手双手武器、弓
# - 条件:这些分组中的物品在 ItemDrop 脚本的 sharedData 属性上具有特定的 skillType。每个分组对应的 skillType 如下:
#- 剑:skillType == Skills.SkillType.Swords
#- 弓:skillType == Skills.SkillType.Bows
#- 弩:skillType == Skills.SkillType.Crossbows
#- 斧:skillType == Skills.SkillType.Axes
#- 棍棒:skillType == Skills.SkillType.Clubs
#- 刀具:skillType == Skills.SkillType.Knives
#- 镐子:skillType == Skills.SkillType.Pickaxes
#- 长柄武器:skillType == Skills.SkillType.Polearms
#- 长矛:skillType == Skills.SkillType.Spears
#示例:将itemType设为OneHandedWeapon且skillType设为Skills.SkillType.Swords的物品会属于Swords组。
#装备:
# - 物品类型:火把
#Boss奖杯:
# - 物品类型:奖杯
# - 条件:sharedData.m_name 以以下任意首领名称结尾:
#- 赤血灵鹿,古树长老,骨mass,龙母,哥布林王,探寻者女王
#奖杯:
# - itemType: 奖杯
# - 条件:sharedData.m_name 不以任何首领名称结尾 - 条件:sharedData.m_name 不以任何Boss名称结尾
#作物:
# - itemType: 材料
# - 条件:可被种植并成长为可采摘数量大于1的对象
#种子:
# - itemType: 材料
# - 条件:可种植并生长为可采摘物,数量等于1
#矿石:
# - itemType: 材料
# - 条件:可由以下任一熔炉处理:
#- 熔炉
#高炉
#金属:
# - itemType: 材料
# - 条件:是否是在以下任一熔炉中处理矿石的结果:
#- 冶炼厂
#高炉
#森林:
# - 物品类型:材料
# - 条件:可由木炭窑熔炉处理
#护甲:
# - 物品类型:胸甲、护肩、腿部、手部
#头盔:
# - 物品类型:头盔
#弹药:
# - 物品类型:弹药,不可装备弹药
#公用设施:
# - 物品类型:实用道具
#工具:
# - 物品类型:工具
#其他:
# - itemType: 杂项
#自定义内容:
# - 物品类型:定制
#全部:
# - 条件:物品拥有ItemDrop脚本且所有必需字段已填充。(所有物品)




群组:
示例组: # 组名
- APrefabName # 物品预制体名称,注意区分大小写,必须为预制体名称
另一个自定义分组:# 分组名称
- APrefabName # 物品预制体名称,注意区分大小写,必须为预制体名称
- 另一个预制体名称
- 另一个预制体名称
二级物品:
- 青铜 # 物品预制件名称,注意区分大小写,必须是预制件的名称
- 青铜镐
- 青铜胸甲
- 青铜护腿


# 库存部分决定哪些物品可以被回收。请记住,从库存回收默认仅限管理员。
库存:
排除:# 将这些物品排除在回收范围之外
- 金属 # 在库存中回收时排除“金属”组中的所有物品
包含覆盖:
- 金属 # 覆盖上方设置,允许“金属”组在背包中回收

回收部分决定了哪些物品可以通过容器或回收标签进行回收。
回收中:
排除:
- 金属 # 排除“金属”分组中的所有物品,不进行回收
- 护甲 # 排除“护甲”组中的所有物品,不进行回收
- 头盔 # 将“头盔”组中的所有物品排除在回收范围之外
- 锤子 # 将此特定物品排除在回收范围之外
包含覆盖:
- 全部 # 允许回收所有物品,覆盖上方“回收”部分的排除规则

# 容器部分决定特定容器的规则。它遵循“回收”部分的限制来确定实际回收的内容。
本节主要用于管理容器“全部回收”功能中包含或排除的物品,可让你防止某些物品被回收
# 不再作为回收逻辑的一部分。
容器:
piece_chest: # 容器预制体名称,请注意区分大小写,且必须为预制体名称
排除:
- 食物 # 从此容器中排除或"跳过"所有"食物"组中的物品。食物不会被分解回其原料。
- 青铜镐 # 将此特定物品从该容器中排除或“跳过”。将其从回收中排除将阻止其被分解回其成分。
包含覆盖:
- 食物 # 覆盖
- 青铜镐 # 允许此特定物品纳入回收流程。覆盖上述排除规则。
- 全部 # 仅用于清理示例,允许默认行为

木头宝箱:
排除:
- 剑 # 从此容器中排除“剑”分组中的所有物品
- 二级物品 # 将此容器中的“二级物品”组内的所有物品排除
- 弓 # 从此容器中排除“弓”组中的所有物品
包含覆盖:
- 弓细木 # 允许此特定物品被包含在此容器中
- 木材 # 允许此特定物品被包含在此容器中
- 青铜 # 允许此特定物品被包含在此容器中
- 所有 # 仅用于清理示例,允许默认行为

私密宝箱:
排除:
- 全部 # 排除此容器中的所有物品
包含覆盖:
- 全部 # 仅用于清理示例,保留默认行为

黑金宝箱:
排除:
- 剑 # 从此容器中排除“剑”分组中的所有物品
- 二级物品 # 从此容器中排除“二级物品”组中的所有物品
- 弓 # 从该容器中排除“弓”组中的所有物品
包含覆盖:
- 弓细木 # 允许此特定物品被包含在此容器中
- 木材
- 青铜
- 全部 # 仅为清理示例,允许默认行为









如果需要手动下载帮助,欢迎随时在Discord上联系我。



作者信息


阿祖玛特

DISCORD:
阿祖玛特#2625

STEAM:
https://steamcommunity.com/id/azumatt/

如有问题或意见,请在Odin Plus团队Discord或我的频道中找我:

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!