更新于:

1.3 物品语句

何处会使用物品语句?

物品语句可以在你觉得需要设置物品的地方使用,在 Wiki 中,如果这个选项是使用物品语句的,会单独标注,这样如果你实在不理解到底哪里可以用,你看这篇 Wiki 也将知道。如果还是不知道,建议弃坑。

第三方插件物品

插件会自动判断物品语句中是否存在 hook-item 选项,如果存在,则会将此物品标记为第三方插件物品。 以下是一个使用了第三方插件物品的物品语句:

1
2
3
display-item:  
hook-plugin: MMOItems
hook-item: AXE;;TEST_AXE

在此语句中,我们使用了如下选项:

  • hook-plugin: 该物品的来源插件,目前,UltimateShop 支持 EcoItems、MMOItems、ItemsAdder、Oraxen、MythicMobs、eco 以及 NeigeItems;
  • hook-item: 该物品的 ID;
    • 对于 EcoItems、Oraxen 和 MythicMobs,应当直接填写物品的 ID。
    • 对于 ItemsAdder 和 eco,你应当按照 命名空间:物品ID 的格式。
      • eco 命名空间为其插件名称,例如 talismans
    • 对于 EcoArmor,你应该按 盔甲套装ID;;盔甲部位 的格式填写。
      • 盔甲部位 可以是下列参数中的一个:BOOTSCHESTPLATEELYTRAHELMET 和 LEGGINGS
    • 对于 MMOItems,你应该按 物品类型ID;;物品ID 的格式填写。
      • 请注意 MMOItems 的 ID 全部都是大写。

保存物品

要保存物品,您需要事先:

  • 在服务器内手持需要保存的物品,输入指令 /shop saveitem <物品ID>物品ID 是您自己设置的,例如 superior_sword
  • 保存物品后需要重启插件。 在物品语句中,使用 material 选项以使用保存物品,例如 material: superior_sword

原版物品

使用原版物品与保存物品几乎一致,在物品语句中同样使用 material 选项,只是选项填写的值是 原版物品 ID。例如 material: DIAMOND_SWORD

物品修改

以上三种物品均可以修改。修改的过程是使用 XItemStack 格式的。 这里只是介绍常见的选项。如果需要更加仔细的教程,请见 原文(是英文)。

  • material: 物品ID
  • amount: 数量。
  • name: 物品自定义名称。
  • lore: 物品 Lore。
  • damage: 物品消耗的耐久值。
  • skull: 头颅材质,material 选项值需要为 PLAYER_HEAD
  • unbreakable: 物品是否不可破坏。
  • custom-model-data: 众所周知。
  • enchants: 物品附魔。
  • stored-enchants: 附魔书中的物品,material 选项值需要为 ENCHANTED_BOOK
  • flags: 众所周知,不知道的看 Minecraft Wiki。
  • glow: 是否发光。
  • attributes: 原版属性。原版属性有哪些,请自己去 Minecraft Wiki 查看。
  • patterns: 披风样式。
  • color: 皮革或者药水颜色。
  • color: 美西螈桶颜色。LUCY、WILD、GOLD、CYAN 或者 BLUE。
  • color: 热带鱼桶颜色。LUCY、WILD、GOLD、CYAN 或者 BLUE。
  • pattern-color: 热带鱼桶样式颜色。WHITE、ORANGE、MAGENTA、LIGHT_BLUE、YELLOW、LIME、PINK、GRAY、LIGHT_GRAY、CYAN、PURPLE、BLUE、BROWN、GREEN、RED 或者 BLACK。
  • pattern:热带鱼桶样式。FLOPPER、STRIPEY、GLITTER、BLOCKFISH、BETTY、CLAYFISH、KOB、SUNSTREAK、SNOOPER、DASHER、BRINELY 或者 SPOTTY。
  • contents: 潜影贝盒子包含的物品(遵从此物品格式),按二级缩进填写。
  • spawner: 刷怪笼生物。生物 ID 请见 这里
  • creature: 生物蛋生物。
  • power: 烟花的威力。
  • firework.flicker: 烟花是否闪烁。
  • firework.trial: 烟花是否有初始速度.
  • firework.colors: 烟花的颜色
  • firework.fade-colors: 烟花燃放后的颜色
  • firework.type: 烟花类型。类型 ID 请见 这里。 以下提供一个示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
display-item:  
# 这里是你使用物品格式的关键选项.
material: APPLE
# Minecraft 的材料 id.
# 完整材料名称列表可以在这里找到:
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
name: ‘&f一天一苹果, 医生远离我!’
# 物品的显示名称, 支持使用彩色字符.
lore:
- ‘&7这是真的吗?’
- ‘&7等一下, 这是第 二行?’
# 物品的描述, 支持使用彩色字符.
amount: 1
# 物品的数量.
damage: 10
# 物品的损坏值, 也就是物品的耐久度.
skull: ‘eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzE4N2Q2ODY4NjgwOWFlZGEwOWE3ZmQwNmFmNzUwMzQzYjdmMTdhNDM2MDZkMmZlOTg4N2VlZTNmZjk4YTMwMSJ9fX0=’
# 头颅材质, 仅在材料名称为 ‘PLAYER_HEAD’ 时有效.
unbreakable: true
# 该物品是否显示为”不可破坏”状态.
custom-model-data: 100
# 物品的自定义模型数据, 若你在使用 ItemsAdder 或 Oraxen 则会很有用.
enchants:
ARROW_FIRE: 2
DURABILITY: 3
# Item enchants, use Enchantment ID: Level as format.
# 物品的附魔, 格式为 附魔名称: 附魔等级
# 附魔名称完整列表见
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
stored-enchants:
ARROW_FIRE: 1
# 附魔书中存储的附魔与直接添加到物品本身的附魔略有不同.
# 仅在材料名称为 ‘ENCHANTED_BOOK’ 时有效
flags: [HIDE_ATTRIBUTES, HIDE_POTION_EFFECTS]
# 物品的标志.
glow: true
# 是否发光.
attributes:
GENERIC_ATTACK_DAMAGE: # 完整属性列表见: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html
name: generic.attack_damage # https://zh.minecraft.wiki/w/%E5%B1%9E%E6%80%A7
amount: 12
operation: ADD_NUMBER # https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/AttributeModifier.Operation.html
slot: HAND # HEAD 或 CHEST 或 LEGS 或 FEET 或 HAND 或 OFF_HAND
spawner: ZOMBIE
# 设置刷怪笼的实体种类.
# 完整实体种类名称列表请见 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
color: 5, 5, 5 # 颜色
power: 5 # 烟花的威力
firework:
flicker: # 是否闪烁
trial: # 是否有初始速度.
colors: [颜色]
fade-colors: [颜色]
type: Text # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/FireworkEffect.Type.html

插件额外提供的物品修改

最大和最小数量

amount 选项中插入变量符后,物品的数量不再固定,有可能偏移你想要的结果,这是你可以在物品语句中插入新的 min-amountmax-amount 选项以设置 amount 选项值的最小和最大值。在使用动态价格时会经常用到。

第三方插件附魔 - 仅付费版可用

上面的 enchants 选项可以设置原版附魔,并且诸如 EcoEnchants、ExcellentEnchantments、MythicEnchants 等的插件也会将自己的附魔注册到服务器中,在该选项中正常插入新的附魔即可,但是还有一批附魔插件靠 NBT 判断物品的附魔,这时就需要使用新的 plugin-enchants 选项了。 目前仅支持 AdvancedEnchantments 插件。 以下是一个示例:

1
2
3
4
5
6
7
8
9
display-item:
hook-plugin: MMOItems
hook-item: AXE;;TEST_AXE
enchants:
ARROW_FIRE: 2
DURABILITY: 3
COIN_REPAIR: 2 # 一个 EcoEnchants 插件的附魔
plugin-enchants:
PLANTER: 5 # 一个 AdvancedEnchantments 插件的附魔

埋藏的宝藏

在可疑的沙子和可疑的沙砾物品中的物品语句插入新的 content 选项可代表该可疑方块刷取后获得的战利品。

1
2
3
4
5
6
7
8
9
products:
1:
material: suspicious_sand
amount: 1
name: '&f魔法沙子'
lore:
- '&f一个包含苹果的沙子!'
content:
material: APPLE