🎒 自定义界面
MMOInventory 允许你创建数量不限的自定义物品栏,设置不同的装备槽位。

介绍
在这些界面里,玩家可以拖放物品到对应格子。若物品类型为“戒指”,那么它可以放入“戒指”槽位。任何放进自定义界面里的 MMOItems 物品的携带属性都会正常生效。
需要注意的是,这些自定义界面也包含了装备槽位。这些槽位与玩家按“E”键打开界面的装备栏相同,因此在这里放入新的盔甲会使得玩家在另一个界面装备同样的物品。
基础配资
每个界面都有自己的配置文件,位于 MMOInventory/inventory 文件夹。如下为默认的 MMOInventory 配置文件示例的开头部分。
# 请勿修改此项!固定后将不能修改。
#.........
id: mmoinventory1_legacy
# 是否启用或禁用此界面。
enabled: true
# 是否使用“自定义(custom)”或“原版(vanilla)”界面。
# 只能有一个原版界面!
type: custom
# 这个界面中的物品是否会在死亡时掉落。
# 仅适用于“自定义”类型的界面,因为
# “原版”类型的界面已经由游戏的 keepINventory 规则控制了。
drop_on_death: false
#........你可以通过配置中的 enabled 参数启用或禁用界面。id 为一段文本,方便 MMOInventory 保存玩家数据,因此你需要填入这段内容,且不应再次更改。
drop_on_death 决定了界面中的物品是否会在玩家死亡时掉落。
type 只能为 vanilla 或 custom。现在建议设置为 custom。如果你需要了解如何将原版玩家的界面变成 MMOInventory 的界面,可以参考这里。
开启命令
每个自定义界面都可以设置打开它的命令。你可以决定命令名称、所需权限及其别称。你也可以为发送给玩家的错误提示消息使用不同的语言。
将 enabled 设置为 false 即可禁用此功能。
# 打开自定义界面的命令。
# 仅适用于“自定义”类型的界面。
open_command:
enabled: true
name: 'custominv'
permission: 'custom_inv.open.mmoinventory_default'
aliases: [ mmoinv, rpginv, rpginventory ]
output:
player-command: '&c该命令只能由玩家执行。'
specify-player: '&c请指定玩家名称。'
wrong-player: '&c找不到名为 {arg} 的玩家。'
not-enough-perms: '&c你没有足够的权限。'确保你编辑之后重启(或重载)了服务器,因为 /mmoinventory reload 重载命令可能不能完全应用改动,导致出现幽灵命令(命令一旦注册便很难再将其从 Bukkit 命令注册表中注销。)
界面按钮
你也可以在玩家界面里放置永久的按钮/图标,这样他们就可以点击打开自定义界面。你也可以自行决定这个按钮的位置及其材料等信息。
将 enabled 设置为 false 即可禁用此功能。
# 向玩家背包新增打开自定义界面的按钮。
# 改动后需要重启服务器才会生效。
inventory_button:
enabled: false
slot: 9
item:
material: CHEST
name: '&6自定义界面'
lore:
- ''
- '&e点击打开。'
# custom_model_data: 1
# skull_texture: eyJ0ZXh0dXJlcyI6e...界面槽位
这里就是你决定玩家可以交互的内容了:戒指栏、护符栏、盔甲栏等...需要注意的是,格子类型没有限制,不过你可以自行创建限制特定类型 MMOItems 物品才能放入的格子,也可以自行创建数量不限的 MMOItems 物品类型。
部分示例
slots:
# 原版槽位类型
OFF_HAND:
type: off_hand
material: GOLD_NUGGET
custom_model_data_string: 'off_hand'
name: "&6副手"
slot: 12
lore:
- 拖动物品放置其上即可装备。
# 戒指栏(自定义槽位)
LEFT_RING:
type: accessory
material: GOLD_NUGGET
custom_model_data_string: "ring1"
name: "&6左戒指栏"
slot: 34
restrictions:
- "mmoitemstype{type=RING}"
lore:
- 拖动物品放置其上即可装备。
# 护符栏(自定义槽位)
AMULET:
type: accessory
material: DIAMOND_HOE
durability: 5
name: '&6护符栏'
slot: 10
restrictions:
- 'mmoitemstype{type=AMULET}'
lore:
- 拖动物品放置其上即可装备。
# 制品栏(自定义槽位)
ARTIFACT:
type: accessory
material: DIAMOND_HOE
durability: 10
name: '&6制品栏'
slot: 11
restrictions:
- 'mmoitemstype{type=ARTIFACT}'
- 'unique{enabled=true}'
lore:
- 拖动物品放置其上即可装备。这里可以使用的槽位类型有很多。
| 槽位类型 | 描述 |
|---|---|
helmet | 原版头盔栏 |
chestplate | 原版胸甲栏 |
leggings | 原版护腿栏 |
boots | 原版鞋子栏 |
off_hand | 原版副手栏 |
accessory | 任意自定义槽位 |
elytra | 鞘翅栏。更多请见此。 |
fill | 界面填充物品 |
MMOInventory 引入的“自定义”槽位与原版的玩家界面。包括戒指、护符、制品...所有自定义槽位使用的都是 accessory 槽位类型。
槽位限制
槽位限制可以施加在任意格子上,而玩家放入的物品需要满足指定条件。
| 限制类型 | 效果 |
|---|---|
milevel{} | 使用后,无法在自定义槽位(MMOItems)中使用的物品将无法装备 |
mitype{type=RING} | 槽位只能放入指定 MMOItems 类型的物品 |
unique | 不可以将同一个 MMOitems 物品装备在两个以上的槽位 |
class{name="Warrior,Mage"} | 槽位只能放入指定职业类型的物品 |
level{min=10} | 低于指定等级的玩家无法使用该槽位 |
perm{perm=some.perm.node} | 缺少指定权限的玩家无法使用该槽位 |
支持的 RPG 职业及等级提供插件可以在这里浏览。
最重要的槽位限制的是 mitype,因为你可以通过这个参数限制放入的 MMOItems 类型。若要制作一个戒指栏,你可以将 mitype 的 type 参数设置为 RING(RING 为默认的 MMOItems 戒指物品类型)。
界面物品
这个新引入的功能允许你添加点击时触发 MythicLib 脚本的物品。这些物品不与任何槽位关联,因此玩家无法将物品装备于此。
items:
INFO:
material: SPRUCE_HANGING_SIGN
name: "&6信息"
slot: 5
lore:
- ''
- '&f ⌛ &7等级 &f%mmocore_level%'
- '&f %mythiclib_space_1%❣%mythiclib_space_1% &7职业: &f%mmocore_class%'
- '&f ☄ &7黄金: &f%vault_eco_balance%'
- ''
- '&7生命值: &f%mythiclib_stat_max_health%'
- '&7防御值: &f%mythiclib_stat_defense%'
- '&7伤害值: &f%mythiclib_stat_attack_damage%'
on_click:
- 'command{format="p";from_console=false}'
CLOSE:
item: BARRIER
name: "&c关闭"
slot: 35
lore:
- "&7点击关闭此界面."
on_click:
- 'close_inventory{}'玩家信息
如下格式片段可以创建展示玩家基本信息的物品。点击后会执行 /p 命令,打开 MMOCore 的玩家信息界面。
# 静态物品,并非槽位。
# 玩家可以点击物品,但不能改变其位置。
items:
INFO:
#item: GOLD_NUGGET
#custom_model_data_string: "info"
material: SPRUCE_HANGING_SIGN
name: "&6信息"
slot: 5
lore:
- ''
- '&f ⌛ &7等级 &f%mmocore_level%'
- '&f %mythiclib_space_1%❣%mythiclib_space_1% &7职业: &f%mmocore_class%'
- '&f ☄ &7黄金: &f%vault_eco_balance%'
- ''
- '&7生命值: &f%mythiclib_stat_max_health%'
- '&7防御值: &f%mythiclib_stat_defense%'
- '&7伤害值: &f%mythiclib_stat_attack_damage%'
on_click:
- 'sudo{format="p"}'关闭界面
如下格式片段可以创建点击后关闭界面的物品。
items:
CLOSE:
item: BARRIER
name: "&c关闭"
slot: 35
lore:
- "&7点击关闭此界面."
on_click:
- 'close_inventory{}'
SnowCutieOwO