可配置结束

可配置结束

通过服务端配置文件,修改末地船框架奖励、末地城生成频率以及城市/船只箱子的战利品!

ConfigurableEnd 1.0.2 Beta

ConfigurableEnd 是一个服务端权威的 Fabric 模组,用于控制末地船(End Ship)框架奖励、末地城(End City)生成频率以及末地城或末地船的箱子战利品。它可以在专用服务器和单人游戏的集成服务器上运行。多人游戏客户端无需安装此模组。

末地船奖励

新生成的末地船会在正常情况下包含鞘翅的精确框架位置使用一个可配置的加权奖励池。默认分布为:

  • 鞘翅:50%
  • 下界之星:30%
  • 附魔金苹果:10%
  • 重型核心:5%
  • 下界合金锭:5%

可以添加、移除、禁用或重新加权条目。权重是相对的,并会自动归一化。奖励支持堆叠数量、自定义名称、Lore、附魔、自定义数据以及 Minecraft 1.21.11 支持的物品组件。

奖励选择对每艘船是确定性的。重新加载区块、重访该区域或重启世界不会重新随机生成已生成的框架。移除奖励不会使其重新出现,无关的或玩家放置的框架不会被更改。

末地城生成

末地城的位置默认完全遵循加载的 Minecraft 1.21.11 设置。可选设置控制间距(spacing)、间隔(separation)、盐值(salt)、分布类型、频率和频率降低方法。

位置更改仅适用于未生成区块中的结构起始点。现有的末地地形不会被重新生成。无效的设置会安全地回退到原版值。

箱子战利品和其他模组

末地城房间箱子和末地船箱子有独立的设置,尽管原版 Minecraft 将两者都分配给了同一个末地城宝藏表。

三种模式有明确的优先级:

  • VANILLA:使用数据包和支持的 Fabric 战利品模组替换或修改后的最终实时末地城战利品表。ConfigurableEnd 不会复制、替换或过滤此表,因此外部战利品添加仍然有效。
  • MODIFY:当 preserveDatapackEntries 为 true 时,从该最终组合表开始。其他模组和数据包的池、条目、函数和条件被首先保留;然后 ConfigurableEnd 应用其配置的覆盖、添加、掷骰和自定义池。
  • REPLACE:有意覆盖组合表。只有 ConfigurableEnd 中配置的池和条目对该城市或船只上下文可用。

如果 MODIFY 使用 preserveDatapackEntries: false,则其基础是 Minecraft 1.21.11 的末地城资源,有意在应用 ConfigurableEnd 更改之前排除外部表添加。

成功的 Minecraft 数据包重新加载会自动刷新最终的组合表,并重建 ConfigurableEnd 缓存的城市场景和船只变体。已生成的箱子库存永远不会被重新填充或重新随机。

每个文件中都包含配置帮助

该模组会创建:

  • config/configurableend/general.json
  • config/configurableend/ship_rewards.json
  • config/configurableend/end_city_generation.json
  • config/configurableend/end_city_loot.json
  • config/configurableend/end_ship_loot.json

每个文件包含一个被忽略的 _documentation 部分,其中说明了其用途、编辑流程、每个可用字段、有效的类型和范围、可能的模式以及实用示例。

两个战利品文件都包含以下具体示例:

  • vanillaKeepDatapacksAndOtherMods
  • modifyCombinedTableAndKeepOtherMods
  • replaceEverythingWithOneModdedItem

每个示例都包含一个 _expectedResult,说明外部池是保留还是被覆盖。现有的有效文件会自动接收文档版本 2,而不会丢失其配置值。

对于原版物品,使用不带 minecraft: 的短路径:

"item": "nether_star"

对于模组添加的物品,使用完整的命名空间 ID:

"item": "modid:item_name"

旧式的完整原版 ID(如 minecraft:nether_star)仍然兼容。

命令

  • /configurableend status
  • /configurableend rewards
  • /configurableend validate
  • /configurableend reload
  • /configurableend process nearby
  • /configurableend debug sampleRewards <count>(当调试命令启用时)
  • /ce 作为命令别名

更改数据包后,使用 Minecraft 的 /reload。更改 ConfigurableEnd 的 JSON 文件后,使用 /configurableend reload。

安装

单人游戏

  1. 安装带有 Fabric Loader 0.19.3 或更新版本的 Minecraft Java Edition 1.21.11。
  2. 安装与 Minecraft 1.21.11 兼容的 Fabric API。
  3. 将 configurableend-1.0.2-beta.jar 放入实例的 mods 文件夹中。
  4. 启动游戏并打开或创建一个世界。
  5. 编辑生成的文件并使用验证/重新加载命令。

专用服务器

  1. 安装带有 Fabric Loader 0.19.3 或更新版本的 Minecraft Java Edition 1.21.11。
  2. 在服务器上安装与 Minecraft 1.21.11 兼容的 Fabric API。
  3. 将 configurableend-1.0.2-beta.jar 放入服务器的 mods 文件夹中。
  4. 使用 Java 21 启动服务器。
  5. 多人游戏客户端无需安装 ConfigurableEnd 即可连接。

要求

  • Minecraft Java Edition 1.21.11
  • Fabric Loader 0.19.3 或更新版本
  • 与 Minecraft 1.21.11 兼容的 Fabric API
  • Java 21

重要行为

  • 结构更改仅影响未生成的结构起始点。
  • 箱子规则在结构生成期间分配;现有库存不会被重写。
  • 永远不会执行自动追溯性框架扫描。
  • 附近的框架处理需要显式的管理员设置和命令。
  • 当存在多个池时,空箱概率独立应用于每个已配置的池。
  • 在同一箱子解包路径上使用不支持的侵入性 mixin 的战利品模组仍可能发生冲突。