避难所资源令牌

避难所资源令牌

用于物品和流体的动态资源凭证与物质化机器。

技术

Haven Resource Tokens

Haven Resource Tokens 是一款使用令牌的可配置资源生成模组。

你可以用空白令牌和物品或流体制作资源令牌,然后将令牌放入资源物质化器中以生成更多该资源。

本模组适用于希望获得替代资源生成方式的整合包。

工作原理

制作一个空白令牌并将其放入令牌机中。

令牌机需要:

  • 一个空白令牌
  • RF(能量)
  • 在资源 jsonc 文件中设置的物品或流体

当令牌收集了足够资源并消耗了足够 RF 后,它就会变成资源令牌。

示例:

空白令牌 + 圆石 + RF = 圆石资源令牌

将资源令牌放入资源物质化器中,它将从令牌中生成资源。

圆石资源令牌 + RF = 圆石

流体令牌的工作方式相同,但使用流体槽而非物品槽。

资源令牌

资源令牌是单一物品,但它们会存储其制作来源。

圆石资源令牌、水资源令牌和钻石资源令牌都是同一个资源令牌物品,只是存储了不同的数据。

令牌图标会同时显示令牌及其绑定的资源,因此玩家无需打开任何界面就能知道令牌的用途。

令牌仅在其资源仍列在资源配置中时才能工作。如果某个资源被从配置中移除,该资源的旧令牌将无法再使用。

令牌机

令牌机将空白令牌转化为资源令牌。

对于物品令牌,将所需物品放入输入槽。

对于流体令牌,将所需流体填充到机器储罐中。

令牌进度会保存在空白令牌上。如果令牌进度进行到一半,它会保留该进度,但会被锁定,必须使用相同的资源来完成。

如果在配置中启用了流体冲洗功能,在令牌机中按住 Shift 并点击流体条即可清空储罐。

速度升级

速度升级可以加快令牌制作速度,但同时也会增加 RF 消耗。

1 个速度升级 = 2 倍速度,2 倍 RF 消耗 2 个速度升级 = 4 倍速度,4 倍 RF 消耗 3 个速度升级 = 8 倍速度,8 倍 RF 消耗 4 个速度升级 = 16 倍速度,16 倍 RF 消耗

能量升级

能量升级可以降低 RF 消耗。

1 个能量升级 = 1.5 倍 RF 减免 2 个能量升级 = 3 倍 RF 减免 3 个能量升级 = 6 倍 RF 减免 4 个能量升级 = 12 倍 RF 减免

资源物质化器

资源物质化器从资源令牌生成物品或流体。

等级:

  • 铜
  • 铁
  • 金
  • 钻石
  • 绿宝石
  • 下界合金
  • 创造模式

更高等级的物质化器运行速度更快,且根据配置消耗更少的 RF。

物品令牌将物品输出到输出槽。

流体令牌将流体输出到输出储罐。

创造模式资源物质化器不需要 RF,并且可以在配置中增加其输出倍率。

配置文件

本模组会创建两个配置文件:

config/HavenResourceTokens-Config.toml config/HavenResourceTokens-Resources.jsonc

HavenResourceTokens-Config.toml 用于机器设置。

HavenResourceTokens-Resources.jsonc 用于可以制作成令牌的资源。

大多数整合包开发者会主要编辑资源 jsonc 文件。

附: 配置会与服务器同步。在服务器上游玩时,使用服务器配置,而非客户端配置。

资源配置

文件:

config/HavenResourceTokens-Resources.jsonc

HavenResourceTokens-Resources.jsonc 决定了哪些物品和流体可以转化为资源令牌。

每个条目应使用 item 或 fluid 之一,不能同时使用。

物品示例

{
  "item": "minecraft:cobblestone",
  "input_amount": 512,
  "creation_rf": 5000,
  "output_amount": 1,
  "output_rf": 1000
}

这将制作一个圆石资源令牌。

令牌机需要 512 个圆石和 5000 RF 来制作令牌。

然后,资源物质化器每个周期将生成 1 个圆石。

output_rf 是铜物质化器在等级缩放前的 RF 消耗。

流体示例

{
  "fluid": "minecraft:water",
  "input_amount": 100000,
  "creation_rf": 5000,
  "output_amount": 1000,
  "output_rf": 250
}

流体量以 mB 为单位。

1000 mB = 1 桶

此示例使用 100 桶水来制作令牌,每个周期输出 1 桶。

NBT 物品示例 - 1.20.1

{
  "item": "minecraft:potion",
  "input_amount": 1,
  "creation_rf": 5000,
  "output_amount": 1,
  "output_rf": 10000,
  "nbt": "{Potion:\"minecraft:healing\"}"
}

在 Minecraft 1.20.1 中,当物品需要精确的存储数据时,使用 nbt,例如药水。

流体忽略 NBT。

数据组件物品示例 - 1.21.1

{
  "item": "minecraft:potion",
  "input_amount": 512,
  "creation_rf": 5000,
  "output_amount": 1,
  "output_rf": 10000,
  "dataComp": "potion_contents={potion:\"minecraft:strong_healing\"}"
}

在 NeoForge 1.21.1 中,当物品需要精确的存储数据时,使用 dataComp,例如药水。

在 1.21.1 中,药水数据存储为数据组件,而非旧的物品 NBT。

dataComp 被流体忽略。

资源条目值

  • item - 物品令牌的物品 ID
  • fluid - 流体令牌的流体 ID
  • input_amount - 制作令牌所需的物品数量或流体量
  • creation_rf - 制作令牌所需的 RF
  • output_amount - 物质化器每个周期生成的物品数量或流体量
  • output_rf - 铜物质化器每个周期的 RF 消耗
  • nbt - 可选的物品 NBT(适用于 1.20.1)
  • dataComp - 可选的物品数据组件(适用于 1.21.1)

机器配置

文件:

config/HavenResourceTokens-Config.toml

HavenResourceTokens-Config 控制令牌机和资源物质化器。

令牌机设置

  • energy_capacity - RF 存储
  • energy_receive - 每 tick 最大 RF 输入
  • ticks_to_create - 单个令牌填充步骤的基础时间
  • fluid_capacity - 储罐容量(mB)
  • fluid_per_cycle - 每步添加到令牌的流体量
  • allow_fluid_flush - 允许使用 Shift+点击清空储罐

物质化器设置

  • ticks_to_materialize - 每个输出周期的时间
  • energy_capacity - RF 存储
  • energy_receive - 每 tick 最大 RF 输入
  • fluid_capacity - 储罐容量(mB)
  • rf_percent - 该等级的 RF 消耗缩放比例

创造模式物质化器设置

  • ticks_to_materialize - 每个输出周期的时间
  • fluid_capacity - 储罐容量(mB)
  • output_multiplier - 物品和流体输出倍率

命令

管理员命令:

/havenrt reload

重新加载资源 jsonc 文件,并将资源列表同步给在线玩家。

在更改资源 jsonc 文件后,你必须使用 /havenrt reload 命令、重启服务器或重新进入单人世界。

实用须知

  • 资源令牌不可堆叠。
  • 服务器资源列表会在玩家加入时同步到客户端。
  • 无效的资源条目会被跳过并记录到日志中。
  • 创造模式资源物质化器不消耗 RF。
  • 如果某个物品的最大堆叠数小于 output_amount,则该资源条目会被跳过。