宝可梦NPC

宝可梦NPC

CobblemonNPC's 是一个开源附属模组,允许服主通过配置文件管理 NPC。本模组使用 https://player.games/create 构建。

Cobblemon NPCs

代表我们的一位用户发布。

使用 https://player.games/create 构建

功能特性

  • 可配置的训练师:通过 YAML 配置定义训练师,包括自定义名称、对话、宝可梦队伍和奖励
  • 训练师生成:使用命令在游戏中生成训练师 NPC
  • 战斗系统:与训练师交互,使用 Cobblemon 的战斗系统发起宝可梦对战
  • 奖励系统:配置击败训练师后给予的物品奖励和执行命令
  • 冷却系统:为每个训练师设置冷却时间,防止重复对战
  • 自定义皮肤:为训练师 NPC 应用自定义玩家皮肤
  • NPC 保护:训练师无敌、持久存在,并免受伤害/死亡

前置要求

  • Minecraft 1.21.1
  • Fabric Loader 0.16.10+
  • Fabric API 0.116.5+
  • Cobblemon 1.7.0+
  • Java 21+

安装

  1. 下载最新的发布版 JAR 文件
  2. 将其放入服务器的 mods 目录
  3. 重启服务器
  4. 配置文件将生成于 config/cobblemonnpcs/trainers.yml

配置

该模组会在 config/cobblemonnpcs/trainers.yml 生成默认配置文件。编辑此文件以定义你的训练师:

trainers:
  - trainer_id: "electric_master"
    trainer_name: "Sora"
    battle_dialogue: "Think you can withstand pure voltage?"
    defeat_dialogue: "You really overpowered me!"
    cooldown_hours: 12
    skin: "Sora"
    pokemon_team:
      - species: "cobblemon:raichu"
        level: 55
      - species: "cobblemon:jolteon"
        level: 54
    rewards:
      items:
        - item: "minecraft:diamond"
          count: 2
      commands:
        - "say {player} conquered {trainer}"

配置字段

  • trainer_id:训练师的唯一标识符(小写,不含空格)
  • trainer_name:显示在 NPC 上方的名称
  • battle_dialogue:与训练师交互时显示的对话
  • defeat_dialogue:击败训练师后发送给玩家的消息
  • cooldown_hours:玩家再次与该训练师对战前需等待的小时数(默认:12)
  • skin:可选的 Minecraft 用户名,用作 NPC 的皮肤
  • pokemon_team:宝可梦种类和等级列表
    • species:宝可梦种类 ID(例如 cobblemon:pikachu 或 pikachu)
    • level:宝可梦等级(默认:5)
  • rewards:胜利后给予的奖励
    • items:给予的物品列表
      • item:物品 ID(例如 minecraft:diamond)
      • count:物品数量(默认:1)
    • commands:要执行的命令列表(支持 {player} 和 {trainer} 占位符)

命令

所有命令需要 OP 等级 2(或同等权限)。

/spawntrainer <trainer_id>

在你的位置生成一个训练师 NPC。

示例:

/spawntrainer electric_master

/trainerskin <trainer_id> <skin_name>

更新某训练师所有现有实例的皮肤。使用 default、clear、off 或 none 来移除自定义皮肤。

示例:

/trainerskin electric_master Notch
/trainerskin electric_master clear

/trainerconfig reload

从 trainers.yml 重新加载训练师配置,无需重启服务器。

使用方法

  1. 配置训练师:编辑 config/cobblemonnpcs/trainers.yml 以定义你的训练师
  2. 重载配置:运行 /trainerconfig reload 来加载你的更改
  3. 生成训练师:使用 /spawntrainer <trainer_id> 在游戏中生成训练师
  4. 交互:右键点击训练师 NPC 以打开战斗对话
  5. 对战:选择“Battle!”开始宝可梦对战
  6. 奖励:胜利后,玩家将获得配置的奖励,并且必须等待冷却时间结束后才能再次对战

构建

从源代码构建:

./gradlew build

编译后的 JAR 将位于 build/libs/。

技术细节

  • 模组 ID:cobblemonnpcs
  • 环境:仅服务端
  • 依赖:Fabric Loader、Fabric API、Cobblemon
  • 配置:通过 SnakeYAML 基于 YAML
  • NPC 追踪:维护基于 UUID 的已生成训练师 NPC 追踪
  • 冷却存储:按玩家、按训练师的冷却追踪

许可证

保留所有权利 - PlayerGames LLC