# 指挥权杖(Signal Stick)

{% hint style="info" %}
MCPets 4.0.0 版本能够轻松在游戏中修改宠物选项，只需使用 /mcpets editor 命令即可 这将会节省不少配置时间!
{% endhint %}

## 该物品有何功能？

指挥权杖是一种用来指挥宠物实行特定行为的工具，可以让宠物执行MythicMobs 中配置的技能，并且可以根据每个宠物不同的需求进行自定义

指挥权杖使用方法有以下两种：

* 左键点击以切换命令（按顺序循环获取命令列表中的下一个命令）
* 右键点击以执行命令（技能冷却时间通过MythicMobs进行管理）

若想了解指挥权杖能够实现的效果，可以观看该视频 1:00 处展示的效果

（由于页面限制无法嵌入视频，请移步至链接处查看）

【MCPets 插件 Signal Stick功能演示】 <https://www.bilibili.com/video/BV1yH4y167oV/?share_source=copy_web&vd_source=bb2926a9df8d6e0ef0501614293706a1>

## 如何配置？

指挥权杖与每个宠物是单独对应&#x7684;***(可以为每个宠物创建不同的指挥权杖，并根据需要进行自定义)***&#x8FD8;可以通过使用资源包（customModelData）或头颅（textureBase64）来自定义其材质模型

在配置指挥权杖之前，建议先阅读 MythicMobs [有关信号系统的Wiki页面](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/skills/mechanics/signal)，以了解如何应用至生物，指挥权杖（Signal Stick）的功能与其信号系统紧密相连

下述配置示例将展示如何将指挥权杖（Signal Stick）集成到宠物配置中\
若对该代码如何集成至到宠物配置文件中仍有疑问，请参阅[宠物配置](https://molasheyu.gitbook.io/mcpets-zhong-wen-wei-ji/shi-yong-zhi-nan/pei-zhi-mu-ban/pet-config)示例以获得更多帮助

配置示例中详细解释了可用的所有功能，以便了解其可以用于哪些情况\
注意，其中一些功能为可选功能

```yaml
Signals:
  # 列出希望传输至宠物的信号（可以为空）
  # 请确保宠物的MythicMobs配置中正在监听这些信号，否则将没有任何效果
  # 如果您需要了解更多有关 MythicMobs 技能系统和如何使用信号的信息，可以查看 MythicMobs Wiki 中的相关文档
  # https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/skills/mechanics/signal
  Values:
  - ATTACK
  - JUMP
  # 自定义物品属性
  Item:
    # 指挥权杖是否能在交互菜单中直接使用
    # 若你想玩家以其他方式获取到权杖（例如：在工作台中合成&NPC兑换），则将其设置为false这样指挥权杖便不会在交互菜单中显示.
    # 了解更多信息，请参阅该页面内容: https://app.gitbook.com/s/agejyp4OPFjyLRX5Q3cX/~/changes/hJm7QZW7HaVPhmJ6Ct1F/tutorials/plugin-features/commands
    GetFromMenu: true 
    Name: 物品名称
    Material: STICK
    CustomModelData: 0
    Description:
    - 物品描述
```

### 关于指挥权杖的注意事项

1. 获取指挥权杖
   * 要获取一个预配置的指挥权杖时，可以使用命令 *<mark style="background-color:orange;">**/mcpets signalStick**</mark>*&#x20;
   * 还可以使用 *<mark style="background-color:orange;">**/mcpets signalStick**</mark>* 命令，将手持的物品转换为宠物的指挥权杖
   * 更多命令参阅该页面
2. 防止出现BUG&玩家滥用
   * 为了防止玩家不小心销毁指挥权杖或者滥用其功能,指挥权杖无法放入大多数容器中（例如：工作台或附魔台等...）

## 配置示例

首先，通过一个示例来演示如何给宠物添加一条命令

打开生物配置文件，位于 *<mark style="color:red;">**"./plugins/MythicMobs/Mobs/"**</mark>* 文件夹下

假设，你希望当玩家向宠物发出 ***`"ATTACK"`*** 信号时，宠物对距离它3格范围内的非玩家实体造成伤害.\
要实现这一点，需要在生物配置文件的 `"Skills"（技能）` 部分中进行如下配置：

```yaml
Skills:
  - damage{a=10} @EntitiesNearOrigin{r=3;ignore=players;} ~onSignal:ATTACK
```

接着，在 *<mark style="color:red;">**"./plugins/MCPets/Pets/"**</mark>* 的宠物配置中，添加以下内容：

```yaml
Signals:
  Values:
  - ATTACK
  Item:
    GetFromMenu: true 
    Name: Signal stick name
    Material: STICK
    CustomModelData: 0
    Description:
    - 右击向宠物下达指令
```

当做完这些基础配置，玩家就能从宠物菜单中获得指挥权杖.玩家在右键点击使用指挥权杖时向宠物下达攻击信号.\
若要使用更多高级技能，请参阅 [MythicMobs wiki](https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/Skills/Mechanics)
