# 物品语句

不同于其他插件的物品配置选项相对固定，eco 提供了物品语句，你可以在需要填写物品的地方使用物品语句来“形容”你想要的物品。物品语句旨在尽可能简单的让你能够快速匹配出自己想要的物品，同时提供互联的作用。

\*在何种地方该使用物品语句全凭你的感觉，只要你觉得这个地方应该填写物品的地方，那就多尝试用物品语句吧！

## 合成配方

在涉及物品的 eco 插件配置中，往往会有合成配方的选项，此时指代合成配方内的合成材料即需要使用此物品语句。

例如：

```yaml
recipe:
    - ""
    - "ecoitems:toughened_string"
    - ""
    - ""
    - "netherite_chestplate"
    - ""
    - "ecoitems:arachnid_oculus"
    - ""
    - "ecoitems:arachnid_oculus"
```

这看似很复杂，实则不然，我们都知道，游戏内的合成是 9 格，这正好有 9 行的配置，每一行配置都代表对应的格子。前三行配置就是游戏中第一行的 3 个格子，以此类推，中间三行就是游戏中第二行的 3 个格子，后面三行就是游戏中第三行的 3 个格子。

## 主体

一个物品语句由空格分开的多个字符串组成，第一个字符串就是物品语句的主体。

主体有三种格式：

* Minecraft 游戏中原版的物品：例如 `golden_apple` 代表金苹果。
* \*Minecraft 游戏中原版的物品前面再加上 `*` 符号，表示只要是这个原版物品都会认定为语句正确。例如在价格中使用 `*apple`，如果玩家手中的苹果是有自定义名称、Lore等情况，如果未带 `*` 则判定玩家没有足够的价格，如果带则有足够的价格。即模糊匹配。
* 来自其他插件的物品：例如 `ecoitems:packmaster_tear` 代表 EcoItems 中的一个此 ID 的物品。支持哪些插件可以在 [兼容插件](/auxilor-plugins/tong-yong-xin-xi/jian-rong-cha-jian.md) 一节查看。**如果来自第三方的插件（如ItemsAdder）中的物品ID有 : 符号，请务必仔细阅读下文对此的特别介绍。**
* 使用原版 json 格式的 NBT物品：例如 `{id:"stone",Count:3,tag:{Name:"神奇石头"}}` 代表一个显示名称为 神奇石头 的石头。

在主体中可以有多个物品，可以使用如下修饰符来分隔各个物品，并代表不同的意思：

* 在两个物品之间使用 `?` 符号，则代表前面的物品如果不存在，则使用后面的物品。
* 在两个物品之间使用 `||` 符号，则代表前面的物品和后面的物品都可以使用。

在一个主体的后面可以添加数字，代表这个物品的数量，例如 `string 64` 代表 64 个线。

## 修饰

在主体后面跟着的就是物品的修饰，每个修饰之间使用空格分开，修饰仅能上文介绍的 3 种物品中的前 2 种使用，这个限制同样包括上文介绍的主体修饰符。修饰的作用在于给物品添加更多的详细信息，例如给头颅添加我需要的材质，给物品添加附魔等。

* 附魔：给物品添加附魔，可以通过使用多个附魔修饰来实现该物品同时多个附魔。格式为 `附魔id:附魔等级`。
* 头颅材质：设置头颅的自定义材质，需要原版物品为 `player_head`。格式为 `texture:头颅 base64 码`。

{% hint style="info" %}
**如何获取头颅 base64 码？**

我推荐你前往 [Minecraft Player Head](https://minecraft-heads.com/custom-heads) 网站查找 **自定义头颅（Custom Head）**，你可以在这里找到它的 **meta**（注意是自定义头颅不是玩家头颅！）:

然后将它复制到你的头颅材质修饰符中。
{% endhint %}

![](https://3147728479-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzI4IWT4LcIuTsOKXzl4o%2Fuploads%2FN43A5sxgrC3XbTndMYG9%2F%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202022-03-22%20123913.png?alt=media\&token=4dad6457-7ec6-44d5-b0a8-58ab4551c725)

* \*头颅玩家：设置头颅的材质为正版玩家的皮肤，需要原版物品为 `player_head`。格式为 `head:玩家ID`。
* 重铸词条：使得该物品自带某个重铸词条。格式为 `reforge:重铸id`。
* 名称：使得该物品名称修改为你所设置的值。格式为 `name:物品名称`。
* 物品标签：给物品添加原版的物品标签，包括：HIDE\_ATTRIBUTES：隐藏物品的属性信息（如+1攻击）。HIDE\_DESTROYS：隐藏物品可以破坏的方块信息（在服务器中我们几乎不会用到这个，所以可以忽视）。\
  HIDE\_DYE：隐藏物品的染色（如染色后的皮革盔甲）。HIDE\_ENCHANTS：隐藏物品的附魔信息。\
  HIDE\_PLACED\_ON：隐藏方块可以放置到什么上面信息（同样在服务器中几乎用不到）。\
  HIDE\_POTION\_EFFECTS：隐藏药水信息（如1:00生命回复2）。HIDE\_UNBREAKABLE：隐藏不可破坏（无限耐久）信息。
* 不可破坏：添加该修饰后物品无耐久消耗。格式为：`unbreakable`。
* 自定义模型：设置物品的自定义模型。格式为：`custom-model-data:id`。
* \*皮革颜色：设置皮革的颜色，需要原版物品为皮革系列。格式为 `color:颜色码`。
* \*盔甲纹饰：设置盔甲的纹饰，需要原版物品为盔甲。格式为 `trim:物品ID:纹饰ID`。

例如：`ecoitems:enlightened_blade razor:4 unbreaking:3 criticals:2 fire_aspect:2 reforge:mighty unbreakable hide_attributes custom-model-data:2` 中，每个字符串的作用如下：

* 第一个为主体，代表 EcoItems 插件中的某个物品。
* 第二个、第三个、第四个和第五个都是附魔，例如 unbreaking:3 代表耐久 3。
* 第六个为重铸，该物品会自带 ID 为 mighty 的重铸。
* 第七个为不可破坏。
* 第八个为隐藏物品属性信息的原版标签。
* 第九个为自定义模型是2。

## 自定义物品

上文示例中使用了 EcoItems 作为物品主体，当使用其他插件时，可能存在物品ID中需要有 `:` 符号，这时候请将 `:` 符号替换为 `__` （两个 `_` 符号）。最典型的例子就是 ItemsAdder 了，例如 `itemsadder:namespace__key`。eco 支持很多自定义插件，你可以在 [关于 eco](/auxilor-plugins/tong-yong-xin-xi/guan-yu-eco.md) 一节查看。

## \*eco 物品

在其他插件（如 CustomCrafting）中，如果插件和 eco 兼容的话，是可以使用 eco 的物品语句的，就例如上文给了一个超级复杂的一个 EcoItems 的物品。对于开发者而言，可以直接通过 Items.lookup() 方法获得 TestableItem 对象，此对象又包括能够获得 ItemStack 对象的物品，非常好使用。

同时，eco 系列的插件的物品也会自己注册新的物品主体，除了上文所示的 EcoItems 外，还包括：

* Talisman：直接填写护身符 ID 即可。
* EcoArmor：不同的物品格式不同：\
  盔甲：`set_套装ID_部位ID`\
  高级盔甲：`set_套装ID_部位ID_advanced`\
  升级水晶：`shard_水晶ID`
* Reforges：格式为 `stone_重铸ID`，官方版本的有问题，可以尝试此 PR 修复。<https://github.com/Auxilor/Reforges/pull/34>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          &#x20;

## 第三方插件主动兼容

### ShopGUIPlus

你可以在 ShopGUIPlus 中出售物品语句表达的物品。

例如：

```yaml
type: item
item:
  eco: "ecoitems:holy_flesh"
  quantity: 1
sellPrice: 7500
slot: 27
```

### \*MythicMobs

你可以在 MythicMobs 设置掉落物品语句表达的物品。

例如：

```yaml
Drops:
  - eco{item=ecoitems:enchanted_rotten_flesh} 1 0.07
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.superiormc.cn/auxilor-plugins/tong-yong-xin-xi/wu-pin-yu-ju.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
