物品语句
不同于其他插件的物品配置选项相对固定,eco 提供了物品语句,你可以在需要填写物品的地方使用物品语句来“形容”你想要的物品。物品语句旨在尽可能简单的让你能够快速匹配出自己想要的物品,同时提供互联的作用。
*在何种地方该使用物品语句全凭你的感觉,只要你觉得这个地方应该填写物品的地方,那就多尝试用物品语句吧!
合成配方
在涉及物品的 eco 插件配置中,往往会有合成配方的选项,此时指代合成配方内的合成材料即需要使用此物品语句。
例如:
这看似很复杂,实则不然,我们都知道,游戏内的合成是 9 格,这正好有 9 行的配置,每一行配置都代表对应的格子。前三行配置就是游戏中第一行的 3 个格子,以此类推,中间三行就是游戏中第二行的 3 个格子,后面三行就是游戏中第三行的 3 个格子。
主体
一个物品语句由空格分开的多个字符串组成,第一个字符串就是物品语句的主体。
主体有三种格式:
Minecraft 游戏中原版的物品:例如
golden_apple
代表金苹果。*Minecraft 游戏中原版的物品前面再加上
*
符号,表示只要是这个原版物品都会认定为语句正确。例如在价格中使用*apple
,如果玩家手中的苹果是有自定义名称、Lore等情况,如果未带*
则判定玩家没有足够的价格,如果带则有足够的价格。即模糊匹配。来自其他插件的物品:例如
ecoitems:packmaster_tear
代表 EcoItems 中的一个此 ID 的物品。支持哪些插件可以在 兼容插件 一节查看。如果来自第三方的插件(如ItemsAdder)中的物品ID有 : 符号,请务必仔细阅读下文对此的特别介绍。使用原版 json 格式的 NBT物品:例如
{id:"stone",Count:3,tag:{Name:"神奇石头"}}
代表一个显示名称为 神奇石头 的石头。
在主体中可以有多个物品,可以使用如下修饰符来分隔各个物品,并代表不同的意思:
在两个物品之间使用
?
符号,则代表前面的物品如果不存在,则使用后面的物品。在两个物品之间使用
||
符号,则代表前面的物品和后面的物品都可以使用。
在一个主体的后面可以添加数字,代表这个物品的数量,例如 string 64
代表 64 个线。
修饰
在主体后面跟着的就是物品的修饰,每个修饰之间使用空格分开,修饰仅能上文介绍的 3 种物品中的前 2 种使用,这个限制同样包括上文介绍的主体修饰符。修饰的作用在于给物品添加更多的详细信息,例如给头颅添加我需要的材质,给物品添加附魔等。
附魔:给物品添加附魔,可以通过使用多个附魔修饰来实现该物品同时多个附魔。格式为
附魔id:附魔等级
。头颅材质:设置头颅的自定义材质,需要原版物品为
player_head
。格式为texture:头颅 base64 码
。
如何获取头颅 base64 码?
我推荐你前往 Minecraft Player Head 网站查找 自定义头颅(Custom Head),你可以在这里找到它的 meta(注意是自定义头颅不是玩家头颅!):
然后将它复制到你的头颅材质修饰符中。
*头颅玩家:设置头颅的材质为正版玩家的皮肤,需要原版物品为
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 一节查看。
*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
第三方插件主动兼容
ShopGUIPlus
你可以在 ShopGUIPlus 中出售物品语句表达的物品。
例如:
*MythicMobs
你可以在 MythicMobs 设置掉落物品语句表达的物品。
例如:
最后更新于