Skip to content

💾 保存物品(物品管理器)

信息

3.8.4 之前的版本存在一个问题:你需要重载才可以在某些情况下载入物品。

创建物品

你可以在插件的 items 文件夹下创建自己的物品,只需新建一个 yml 格式的文件并按物品格式填写即可。文件名即为物品 ID。

保存你的物品

你可以使用命令 /shop saveitem <物品 ID> 来保存手上的物品。物品有两种存储方式:

  • Bukkit:
    • 如果你使用的是 Spigot 服务端:插件会使用 BukkitAPI 的方法保存物品。它只支持保存原版数据和通过 BukkitAPI 保存的持久数据,来自其他插件的 NBT 数据将不会被保存。
    • 如果你使用的是 Paper 服务端:插件会使用 PaperAPI 的方法保存物品。这个方法可以保存所有物品,不会丢失任何数据。(仅 Paper 1.15+ 服务端)
  • 物品格式:将物品解析为物品格式

在 Paper 服务端下通过 Bukkit 物品保存方法的示例配置:

YAML
item: !!binary |-
  H4sIAAAAAAAA/21RzW4TMRCeJd0oWVB/1IIQXILEG/TGpSDxCKhXa2LPbkxsz8qepUlPPAonXoBn6nsw27TaViBZljzz/XmmAZjBy68oeE25eE4Ap3cLeOEdnEWfyGZs5ZPzGDm5GdSWhyQAMG+gsRx7TpSkNHA8gVtmRS7TINnLvSLUNTQFZcg4Fj7/Aqjg2GIyGG5wXwyhVJrj7SQScWeKoN2a4m9pNFw+9QicqdFqtRgj6QuOuoz7BRwJ7QQuvm18WenJhCHsV8lb+qCeHycFSnaDSaLGN13wevMPytk7qhp4819cmT2diVacT90YAhp4PTXsUISjSRhpSrcOAz2me/Vl1emMVuWGs1Pu+3+4kR0F43QrS5i3gVFKPRpd/dR7Ae8mwvdhS2vemT7gHteB4HzqsWzGnTp6th5hDjM4dRixI9NTNuvAdnvY0oWjFocgRvH6OVN6Inf1u22XUOchUHkY+vyeU+Bk0tXgiSo4s5wzWTEtZ+My96WqoT7o/Lm8VDr8BZMVpHJ0AgAA

在 Paper 服务端下通过物品格式保存的示例配置:

YAML
material: DIAMOND
amount: 6
name: <blue>村好剑
lore:
- <gray>这太酷了!
custom-model-data: 1
max-stack: 6
food:
  nutrition: 5
  saturation: 5.0
tool:
  damage-per-block: 5
  mining-speed: 1.3
  rules:
  - STONE, 1.4, true
song: minecraft:otherside
glow: true
enchants:
  mending: 1

使用保存的物品

你可以在此使用物品格式。在物品格式中,这里有一个称作 material 的选项。默认情况下,你需要输入原版物品 ID,但你也可以填入保存物品的 ID,让插件直接获取保存物品而非生成。

YAML
display-item:
  material: superior_sword # 假设保存的物品 ID 为 'superior_sword'

保存的物品会持续缓存在内存中,可防止重复读取配置文件,降低性能消耗。但如果保存物品数量太多,还是有可能消耗更多内存。

贡献者

页面历史