本帖最后由 longlongz 于 2018-11-24 03:44 编辑

BossShopPro
ItemData | 物品数据
字数统计: 1684字


"我(作者)"想让使用插件的服主能够创建各种类型的物品,包括附魔,药水效果,耐久等一系列的效果。

来实现这个功能,"我"想到了一个全新的功能:ItemData(物品数据)。使用物品数据特别的简单。

所有你需要的就是物品上的一条属性列表。属性的顺序不会影响到物品。如果你的物品数据里有错误的话, BossShopPro 会记录它们并登记到"BugFinder.yml"文件中.

物品数据最少需要两个东西:材料类型和数量

  1. - 'type:STONE' #材料:石头
  2. - amount:10 #数量:10
复制代码


重现物品的问题
你只需要在游戏里握着一个物品并输入"/bs read". BossShopPro 会自动显示这个物品的结构并告诉你如何将物品放入到菜单中,并且将数据保存到"plugins/BossShopPro/ItemDataStorage.yml"文件内. 全新!



这里有很多你可以用的属性类型:

type:<
类型>
这个定义了物品的材质. 比如你可以输入'type:1' 或者 'type:stone'来将物品变为石头
·       你可以在这里找到方块材质/类型列表: Link
·       编辑器会自动填入材质名


amount:<
数字>
物品的叠加数量


durability:<
数字>
耐久度可以做很多不一样的事情。例如决定了装备/武器/工具的磨损值并且还决定了羊毛的颜色。


name:<
名称>
物品显示的名称
·       支持的变量和符号: Link
你想要一个空的物品名称?你可以使用颜色代码来架空物品名称: "name:&1".


lore:<
第一行#第二行#第三行>
这是物品的描述
你可以使用颜色代码,例如&4(=深红)或&l(=加粗)
你可以使用“#”换行
·       支持的变量和符号: Link
所有下方的方法可以让你创建描述:

  1. C) (全新)
  2. item:
  3. - 'name:物品名称'
  4. - 'lore1:第一行'
  5. - 'lore2:第二行'
  6. - 'lore4:第三行'
  7. - 'lore5:第四行'

  8. A) (传统)
  9. item:
  10. - 'name:物品名称'
  11. - 'lore:第一行#第二行##第四行#第五行'

  12. B) (其他)
  13. item:
  14. - 'name:物品名称'
  15. - 'lore:第一行'
  16. - 'lore:第二行'
  17. - 'lore:'
  18. - 'lore:第四行'
  19. - 'lore:第五行'
复制代码

enchantment:<
附魔名称>#<附魔等级>
使用这个属性来附魔你的物品
例子: 'enchantment:damage_all#5' 'enchantment:16#5' <- 这会添加锋利V到你的物品上
·       你可以在这里找到附魔列表: Link
·       编辑器会自动填写附魔名称The setup tool auto-completes enchantment names


color:<
红色数值>#<绿色数值>#<蓝色数值>
这个属性可以让你的皮革装备添加RGB颜色
例子: 'color:110#10#140'
能用吗?我就讲一下如何使用红/绿/蓝颜色代码。你在这里可以找到RGB颜色列表: http://www.farb-tabelle.de/de/farbtabelle.htm


potion:<
药水名称>#<是否为永久效果? true/false>#<升级? <true/false> 全新!
这允许你对物品添加原版的药水效果。只能对支持药水效果的物品使用!
例子: 'potion:MUNDANE#true#false' <- 这会对物品添加一个延长的(?)Mundane I药水效果
·       你可以在这里找到药水效果类型: Link
·       编辑器允许你快速的选择存在的药水效果


potioneffect:<
药水名称>#<等级>#<时长/秒>
这允许你添加自定义的药水效果到一个物品上。只能对支持药水效果的物品使用!
例子: 'potioneffect:STRENGTH#1#600' <- 这会添加一个时长为10分钟的力量II效果
·       你可以在这里报道药水效果类型: Link
·       编辑器允许你快速的选择存在的药水效果


playerhead:<
玩家名>
这允许你设置头颅的皮肤材质。重要:你只能对头颅("SKULL_ITEM")使用这个属性.
例子: 'playerhead:Herobrine' <- 这会设置头颅皮肤为Herobrine 的头. 重要: 你需要将材料设置为SKULL_ITEM ("type:SKULL_ITEM") 然后将耐久值设置为3 ("durability:3") 才能将头颅设置为玩家头颅.


customskull:<
材质/Mojang皮肤链接>
这允许你自定义一个固定的头颅皮肤材质,将无法针对不同玩家切换不同的名称. 一旦玩家的客户端载入了这些材质,材质将会一直被加载并会在玩家重新打开商店时瞬间加载。你可以在这里找到皮肤材质: Link, Link2. 你只需要点击你想要的头颅然后复制结果中的字符串(材质数值)


mobspawner:<
怪物名称>
允许你创建一个带有预设怪物的怪物刷怪笼物品。需要前置插件 SilkSpawners EpicSpawners
如果你在使用EpicSpawner作为刷怪笼分析器(你需要定义你的EpicSpawners/spawners.yml文件) 而不是Spigot怪物名称
·       所有可用的生物名称: Link
如果你没有使用SilkSpawners/EpicSpawners: 使用指令来给玩家一个预设的刷怪笼.


monsteregg:<
怪物名称>
允许创建一个拥有预设怪物的可用的怪物蛋。需要前置插件 SilkSpawners.
·       所有可用的生物名称: Link
如果不使用 SilkSpawners 的方法(可能对老的Spigot Build有用,不确定能否使用):你可以不使用SilkSpawner创建怪物蛋,但是这只会显示怪物蛋的样子,会与自定义名称和描述造成冲突。你只需要用"type:MONSTER_EGG" "durability:<怪物id>"来实现。


hideflags:<
旗帜1#旗帜2#旗帜3>
快速隐藏旗帜的方法,例子:
·       hideflags:all
·       hideflags:HIDE_ATTRIBUTES
·       hideflags:HIDE_ATTRIBUTES#HIDE_ENCHANTS
·       你可以在这里找到所有可用的旗帜: Link

unbreakable

使物品无法破坏。对冒险/RPG地图十分实用。这个功能只对Spigot服务器可用。


book:<title>#<author>
对一个已编辑的书添加一个标题和作者名称。支持颜色代码和图标。


bookpage:<
页数>#<文本>
添加文本到一个定义的书页面。可以被使用多次来创建多行文本。


banner:<>
功能已被实现。使用方法会在将来公布。



看看默认商店或者配置帮助来了解更多物品数据的消息。


Item Comparison:
限制玩家可以出售什么物品来获得一个特定的奖励(当价格为物品时)。