物品

物品的格式

介绍

物品配置格式是一个标准化的系统。考虑到其多功能性,该格式可在需要物品的任何上下文中使用。该格式的常见应用包括钓鱼战利品、钓鱼竿、钓鱼饵料,甚至市场GUI中也可以使用。

配置中的物品结构是围绕键值展开的。每个键值包含一组参数,这些参数确定了物品的特性和行为。给出的示例"common_bait"说明了一个典型物品的结构。

common_bait:
  material: paper
  display:
    name: '<b><#00BFFF>普通鱼饵'
    lore:
      - ''
      - '<#7FFFD4>描述:'
      - '<gray>由天然成分制成,以稳定而平静的方式吸引'
      - '<gray>鱼类。对于那些喜欢简单可靠的钓鱼体验'
      - '<gray>的人来说,这是首选。'
      - ''
      - '<#FFD700>效果:'
      - '<gray> - 减少钓鱼难度'
      - ''
  custom-model-data: 50001

键值:

物品的标识符。在提供的示例中,键值是"common_bait"。

材质: (1.17-最新)

定义物品的基本材料或类型。对于"common_bait",材质设置为"paper"。

  • 示例 :

    material:paper

展示: (1.17-最新)

此部分提供物品的视觉和描述方面的信息。

  • 名称: 确定物品的显示名称。在这种情况下,名称为"普通鱼饵",并使用颜色代码和文本格式设置样式。

    • 示例:

    • display:
        name: '<b><#00BFFF>普通鱼饵'
  • 描述: 这是一系列描述性文本行,提供有关物品的更多信息。每行都可以像名称一样进行格式化和着色。

    • 示例:

    • display:
        lore:
          - ''
          - '<#7FFFD4>描述:'
          - '<gray>由天然成分制成...'
          - '...'

自定义模型数据: (1.17-最新)

此参数用于为物品分配唯一的模型数据。当开发人员希望在游戏中提供自定义物品纹理或模型时,这可能特别有用。

  • 示例 :

    custom-model-data: 50001

数量: (1.17-最新)

正在定义的物品的数量。

  • 示例 :

    amount: 1

标签: (1.17-最新)

允许向物品添加 Custom Fishing 标签。这个标签对于插件识别 CustomFishing 中的物品非常重要。禁用此功能可能会导致一些问题。

  • 示例 :

    tag: false

无法破坏: (1.17-最新)

指定物品是否无法破坏。

  • 示例 :

    unbreakable:false

物品标志: (1.17-1.20.4)

列出了修改物品外观或行为的特定标志。 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemFlag.html

  • 示例:

    item-flags:
       - HIDE_DYE

最大耐久度: (1.17-最新)

设置物品的自定义耐久度。此选项会将物品变为自定义耐久物品。如果你倾向于使用在1.20.5中引入的新自定义耐久度系统,请查看下面的组件部分。

  • 示例:

    max-durability: 100

随机耐久度: (1.17-最新)

决定物品在获得时是否会随机设置耐久度。这适用于原版耐久度和插件的自定义耐久度。

  • 示例:

    random-durability: false

NBT: (1.17-最新)

允许使用 Named Binary Tags 进行进一步自定义。 如果未指定标签值类型,则在极少数情况下可能会引发错误。

您可以手动添加类型来修复它,例如:

minecraft:custom_name: '(String) {"color":"white","italic":false,"text":"鱼骨"}'

可用值类型: (Int) (Byte) (String) (Float) (String) (Double) (Short) (Long) (UUID) (Boolean) (IntArray) (ByteArray)

  • 示例 :

  • nbt:
      int_value: 10
      double_value: 1.0
      byte_array: (ByteArray) [0, 1, 2]
      expression: (Int) 1 + 2 * 3 + 4
  • Copy

    nbt:
      itemsadder:
        namespace: '(String) momirealms'
        id: 'rainbow_fish'
  • Copy

    nbt:
      PublicBukkitValues:
        oraxen:id: alchemist

组件: (1.20.5-最新)

这是自2.2.0以来插件最令人震惊的更新之一。这个部分允许你使用Minecraft提供的任何组件类型。以下是一些示例,帮助你了解如何在CustomFishing配置中设置组件。 https://zh.minecraft.wiki/w/物品堆叠组件#物品存储格式

  • 示例1:

components:
  minecraft:food:
    nutrition: 4
    saturation: 1.5
    can_always_eat: true
    eat_seconds: 3
    effects:
      - effect: 
          id: minecraft:luck
          amplifier: 0
          duration: 30
        probability: 0.5
  • 示例2:

components:
  minecraft:tool:
    rules:
      - blocks: "#minecraft:mineable/axe"
        speed: 300.0
        correct_for_drops: true
  • 示例 3:(1.20.5 中引入的官方自定义耐久度系统)

components:
  minecraft:max_damage: 100

价格: (1.17-最新)

  • Description :确定物品的价格。

    • Base :物品的初始价格。

    • Bonus :基于大小应用的乘数。

  • 示例

    price:
      base: 50
      bonus: 2.5

可堆叠: (1.17-最新)

指示物品是否可以与相似物品堆叠。

  • 示例 :

    stackable: true

防止拾取: (1.17-最新)

如果设置为true,则其他玩家无法拾取物品。

  • 示例 :

    prevent-grabbing: true

可放置: (1.17-最新)

允许放置物品(玩家头颅)

  • 示例 :

    placeable: true

Head64: (1.17-最新)

指向一个Base64编码的字符串,通常用于自定义玩家头部纹理。 https://minecraft-heads.com/custom-heads/

  • 示例 :

    head64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmQ1Nzk4NzA1Yjc1YjUzY2VmNzExNjE5OGFiNWQzOGNjZGY5YjM2ODYxNzg0MjdmYjcxMDg5NmI1MjMwZDQ2MyJ9fX0=

(存储的) 附魔: (1.17-最新)

详细说明直接应用于物品的附魔。

  • 示例 :

    enchantments:                 <- 用于装备
      minecraft:sharpness: 1
    
    stored-enchantments:          <- 用于附魔书
      minecraft:sharpness: 1

随机的(存储的)附魔: (1.17-最新)

列举了在物品获得时可能随机应用的可能附魔。每个潜在的附魔都与一个等级和一个应用几率相关联。

  • 示例 :

    random-enchantments:
      lv3:
        enchant: minecraft:unbreaking
        level: 3
        chance: 0.2
      lv2:
        enchant: minecraft:unbreaking
        level: 2
        chance: 0.5
      lv1:
        enchant: minecraft:unbreaking
        level: 1
        chance: 1
    random-stored-enchantments:
      ...

(存储的) 附魔池: (1.17-最新)

附魔池提供了控制一个物品上附魔数量的能力,而不是通过概率尝试应用每个配置的附魔。插件不会允许冲突的附魔同时存在,并且EcoEnchants完全兼容。

enchantment-pool:
  # 物品上的最大附魔数
  amount:
    1: 6
    2: 3
    3: 1
  pool:
    'minecraft:unbreaking:1': 6
    'minecraft:unbreaking:2': 3
    'minecraft:unbreaking:3': 1
    'minecraft:sharpness:1': 6
    'minecraft:sharpness:2': 3
    'minecraft:sharpness:3': 1
    'minecraft:efficiency:1': 12
    'minecraft:efficiency:2': 6
    'minecraft:efficiency:3': 2

从示例中,我们可以推断出玩家有60%的几率获得1个附魔,30%的几率获得2个,10%的几率获得3个。

数量权重几率

1

6

60%

2

3

30%

3

1

10%

现在假设玩家可以获得2个附魔。

第一个附魔

附魔等级权重几率

耐久

3

1

2.5%

耐久

2

3

7.5%

耐久

1

6

15%

锋利

3

1

2.5%

锋利

2

3

7.5%

锋利

1

6

15%

效率

3

2

5%

效率

2

6

15%

效率

1

12

30%

第二个附魔(假设第一个附魔是锋利)

附魔等级权重几率

耐久

3

1

3.33%

耐久

2

3

10%

耐久

1

6

20%

锋利

3

1

0%

锋利

2

3

0%

锋利

1

6

0%

效率

3

2

6.67%

效率

2

6

20%

效率

1

12

40%

最后更新于