关都地区初始宝可梦

关都地区初始宝可梦

可配置的Cobblemon初始宝可梦和奖励选择站,支持自定义对话、预览、一次性选择、指令及默认初始画面控制。

冒险

KantoStarters

KantoStarters 是一个 Fabric/Cobblemon 实用模组,允许创作者使用普通 Minecraft 方块构建可配置的选择站。

该模组最初是为 CobbleKanto 项目创建的,但也可以被其他服务器所有者和我图创作者使用,以便为他们自己的 Cobblemon 世界构建自定义初始宝可梦、奖励或一次性选择系统。

KantoStarters 不添加自己的实体方块。相反,它允许你将地图中的现有方块绑定到已配置的选择项。这些选择可用于初始宝可梦选择、道场式奖励、化石选择、特殊宝可梦赠送、自定义物品奖励,或任何其他需要玩家从一组配置中选择一个选项的地图事件。


Shockbyte 为 CobbleKanto 项目提供的赞助横幅

使用 Shockbyte 可享受 Minecraft 服务器 25% 折扣!准备好与朋友一起开始史诗冒险了吗?只需点击这里或点击横幅,并使用促销代码 “COBBLEKANTO”,同时你还能帮助我们持续改进模组并开发未来的项目!


功能特性

  • 自定义初始宝可梦和奖励选择系统
  • 通过 JSON 文件配置选择会话
  • 将任何普通 Minecraft 方块绑定到已配置的选择项
  • 自定义对话界面,含“是/否”确认
  • 支持 3D Cobblemon 预览
  • 支持基于物品的选择项物品预览
  • 一次性选择保护
  • 可选:若玩家已拥有 Cobblemon 则阻止使用
  • 可选:控制默认 Cobblemon 初始选择界面的显示
  • 基于语言的对白文件,支持不同语言的玩家

系统概述

KantoStarters 使用可配置的选择会话

每个会话可以包含多个选择,但每个实体方块仅链接至一个特定选项。

例如,一个经典初始宝可梦桌可以用三个方块搭建:

  • 一个方块链接到 start / bulbasaur
  • 一个方块链接到 start / charmander
  • 一个方块链接到 start / squirtle

当玩家右键点击这些已绑定方块之一时,将打开一个自定义对话界面,其中包含预览、对白文本以及“是/否”确认。

如果玩家确认了选择,模组可以执行命令、发放物品,并将该会话标记为该玩家已完成。


显示设置与配置详情

设置

在将方块绑定到世界中之前,你需要先在配置文件中创建或编辑一个选择会话:

config/kantostarters/choice_sessions.json

一个选择站基于两个 ID:

  • sessionId — 一组选择的名称,例如 startdojomtmoon
  • choiceId — 该会话中特定选择的名称,例如 bulbasaurcharmanderhelix_fossil

示例:

{
  "sessionId": "start",
  "enabled": true,
  "oneTimeChoice": true,
  "blockIfAlreadyHasCobblemon": false,
  "textColour": "#3050c8",
  "secondConfirmLines": [],
  "choices": [
    {
      "choiceId": "bulbasaur",
      "displayName": "Bulbasaur",
      "previewSpecies": "bulbasaur",
      "dialogId": "start_bulbasaur_dialog",
      "dialogLines": [],
      "itemRewards": [],
      "previewScale": 1.0,
      "previewOffsetX": -1,
      "previewOffsetY": 4,
      "commands": [
        "pokegive %player% bulbasaur level=5"
      ]
    }
  ]
}

推荐的设置顺序:

  1. choice_sessions.json 中创建或编辑会话。
  2. 创建 sessionIdchoiceId
  3. 运行 /kantostarters reload
  4. 看向你想要绑定的方块。
  5. 运行 /kantostarters set <sessionId> <choiceId>
  6. 如有需要,使用 /kantostarters open <sessionId> <choiceId> 测试该选择。

示例:

/kantostarters set start bulbasaur

之后,玩家右键点击该方块即可打开对应的选择。

要移除你正在查看方块的绑定:

/kantostarters unset

所有设置命令都需要操作员/管理员权限。


配置文件

首次启动时,KantoStarters 会在以下目录中创建其配置文件:

config/kantostarters/

主要文件:

  • choice_sessions.json
  • choice_dialog_arrays_en_us.json
  • choice_dialog_arrays_pt_br.json

默认情况下,模组包含以下示例会话:

  • start — Bulbasaur、Charmander 和 Squirtle
  • dojo — Hitmonlee 和 Hitmonchan
  • celadoneevee — Eevee
  • mtmoon — Helix Fossil 和 Dome Fossil

这些仅是默认示例。你可以编辑、移除、扩展或用你自己的自定义会话替换它们。

在使用 /kantostarters set 之前,请务必先在 choice_sessions.json 中创建会话和选择。


会话

每个会话控制一组相关的选择。

示例:

{
  "sessionId": "start",
  "enabled": true,
  "oneTimeChoice": true,
  "blockIfAlreadyHasCobblemon": false,
  "textColour": "#3050c8",
  "secondConfirmLines": [],
  "choices": []
}

sessionId

内部会话名称。用于命令中,例如:

/kantostarters set start bulbasaur

enabled

如果设置为 false,则该会话无法使用。

oneTimeChoice

如果设置为 true,每个玩家只能完成该会话一次。

确认选择后,玩家会获得内部标签,例如:

  • ks_done_start
  • ks_choice_start_bulbasaur

blockIfAlreadyHasCobblemon

如果设置为 true,已经在队伍或 PC 中拥有 Cobblemon 的玩家将无法使用该会话。

这对于初始宝可梦系统非常有用,可以防止玩家在已经获得或捕捉到宝可梦后再次领取初始宝可梦。

textColour

控制对话文本颜色。

secondConfirmLines

可选的额外确认对话。

当你希望在最终选择被锁定之前进行第二次警告时,这会非常有用。


选择

每个选择控制会话中一个可选选项。

示例:

{
  "choiceId": "bulbasaur",
  "displayName": "Bulbasaur",
  "previewSpecies": "bulbasaur",
  "dialogId": "start_bulbasaur_dialog",
  "dialogLines": [],
  "itemRewards": [],
  "previewScale": 1.0,
  "previewOffsetX": -1,
  "previewOffsetY": 4,
  "commands": [
    "pokegive %player% bulbasaur level=5"
  ]
}

choiceId

选择的内部 ID。

displayName

在选择界面显示和使用的名称。

previewSpecies

控制选择界面中显示的预览。

对于 Cobblemon 预览,使用物种 ID:

"previewSpecies": "bulbasaur"

对于物品预览,使用完整的物品 ID:

"previewSpecies": "cobblemon:helix_fossil"

dialogId

用于从对话配置文件中加载对白行的 ID。

示例:

"dialogId": "start_bulbasaur_dialog"

dialogLines

在没有找到 dialogId 时使用的备用对白行。

itemRewards

直接物品奖励。

示例:

"itemRewards": [
  {
    "itemId": "minecraft:diamond",
    "count": 1
  }
]

如果玩家背包已满,剩余物品会掉落在玩家附近。

预览设置

previewScalepreviewOffsetXpreviewOffsetY 控制预览在选择界面中的可视位置和大小。

当模型或物品显示过大、过小、过高或过低时,这些设置会很有用。

commands

玩家确认选择后执行的命令。

示例:

"commands": [
  "pokegive %player% bulbasaur level=5"
]

支持的占位符:

  • %player% — 玩家名称
  • %uuid% — 玩家 UUID
  • %choice% — 所选选择 ID
  • %session% — 会话 ID

命令由服务器以管理员权限执行。


对话文件

KantoStarters 会为不同语言生成独立的对话文件:

  • config/kantostarters/choice_dialog_arrays_en_us.json
  • config/kantostarters/choice_dialog_arrays_pt_br.json

示例:

{
  "start_bulbasaur_dialog": [
    "I see! BULBASAUR is your choice.",
    "It's very easy to raise.",
    "So, [player], you want to go with",
    "the GRASS COBBLEMON BULBASAUR?"
  ]
}

支持的占位符:

  • [player]
  • [choice_display]
  • [choice_id]
  • [preview_species]

模组会自动尝试使用玩家选择的 Minecraft 语言。

如果找不到匹配的对话文件,则回退到 en_us

你可以通过使用相同格式创建文件来添加更多语言。

示例:

config/kantostarters/choice_dialog_arrays_es_es.json


对话格式

对话行会自动换行以适应自定义选择界面。

为获得最佳效果,请保持每行简短易读。

你还可以使用:

/p

作为对话数组内的分页符。

示例:

{
  "example_dialog": [
    "This is the first page.",
    "/p",
    "This is the second page."
  ]
}

初始选择界面

KantoStarters 可以控制是否允许打开默认的 Cobblemon 初始选择界面。

要启用默认初始选择界面:

/kantostarters DefaultPickStarters on

要禁用默认初始选择界面:

/kantostarters DefaultPickStarters off

如果你将 KantoStarters 作为主要的初始选择系统,你可能希望:

/kantostarters DefaultPickStarters off

这样,你的自定义选择站将负责处理初始选择。

重要提示:

KantoStarters 不会在玩家加入时自动发放初始宝可梦。你需要自行搭建并配置初始区域、绑定所需方块,并决定玩家如何访问这些选择。


命令

重载配置:

/kantostarters reload

显示基本调试信息:

/kantostarters debug

列出已配置的会话和选择:

/kantostarters list

绑定你正在查看的方块:

/kantostarters set <sessionId> <choiceId>

移除你正在查看方块的绑定:

/kantostarters unset

直接打开一个选择进行测试:

/kantostarters open <sessionId> <choiceId>

启用或禁用某个会话中阻止已拥有 Cobblemon 玩家的功能:

/kantostarters BlockIfAlreadyHasCobblemon <sessionId> <true|false>

启用默认的 Cobblemon 初始选择界面:

/kantostarters DefaultPickStarters on

禁用默认的 Cobblemon 初始选择界面:

/kantostarters DefaultPickStarters off

重置执行命令玩家所有的 KantoStarters 选择标签:

/kantostarters reset all

重置执行命令玩家的某个会话:

/kantostarters reset <sessionId>

所有命令都需要操作员/管理员权限。


使用场景

KantoStarters 不仅可用于首次初始宝可梦选择。

它同样适用于:

  • 初始宝可梦房间
  • 道场奖励
  • 化石选择
  • 一次性赠送宝可梦
  • 物品奖励站
  • 任务奖励
  • 地图进度奖励
  • 服务器活动奖励
  • 自定义冒险地图选择

已知问题

  • KantoStarters 是一个基于配置的模组。错误的会话 ID、选择 ID、物品 ID 或命令语法可能导致选择无法正常工作。
  • 如果关闭了 DefaultPickStarters 但未配置自定义初始站,玩家可能无法通过默认 Cobblemon 界面获得初始宝可梦。

兼容性与依赖

  • Minecraft 1.21.1
  • Fabric Loader 0.17.2+
  • Fabric API
  • Java 21
  • Cobblemon

常见问题

KantoStarters 在没有 Cobblemon 的情况下能工作吗?

不能。KantoStarters 需要 Cobblemon。

这个模组会添加新的方块或模型吗?

不会。KantoStarters 不添加实体方块,但你可以绑定任何方块(甚至隐形屏障)作为选择选项。

为什么我的选择无法打开?

请检查以下内容:

  • 模组已同时安装在客户端和服务器上。
  • 会话存在于 choice_sessions.json 中。
  • 该会话中存在该选择。
  • 方块已使用 /kantostarters set 绑定。
  • 玩家右键时未处于潜行状态。
  • 会话已启用。
  • 玩家尚未完成一次性会话。
  • 编辑配置后已重新加载。

为什么我的奖励命令没有生效?

请检查 choice_sessions.json 中的命令语法。

命令前不要包含 /

示例:

"commands": [
  "give %player% minecraft:diamond 1"
]

然后运行:

/kantostarters reload


特别感谢

  • 感谢所有帮助打磨 CobbleKanto 项目及其自定义模组的人。
  • 感谢 Cobblemon 社区,激励了更多以冒险为核心的 Minecraft 体验。

如果你有任何想法或反馈,可以通过我们的公开问题跟踪器分享,或在 Discord 上给 “cobblekanto” 发送私信。


KantoStarters 是一个非官方的粉丝自制 Minecraft 模组。

本项目与 Nintendo、Game Freak、Creatures Inc.、The Pokémon Company、Mojang Studios、Microsoft 或 Cobblemon 团队没有任何关联、认可、赞助或批准关系。

Minecraft 是 Microsoft Corporation 的商标。宝可梦及相关名称是其各自所有者的商标。Cobblemon 属于其各自的创作者。