- 版权类型
- 原创
- 插件中文名称
- 超级背包
- 插件英文名称
- SuperInventory
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- AttributePlus
SX-Attribute
CraneAttribute
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
蓝奏云密码:5wfn
插件的wiki
[功能不全,更多的需要自己研究]
一些碎碎念
由于我的另一款饰品背包插件已进入稳定维护阶段
难以再进行大版本的更新和修改
例如修改背包的加载方式和拓展之类的
所以我选择,重构出另一款饰品背包插件
仅保留了作为饰品背包的功能(分页、套装)
插件介绍
一、独立背包
page文件夹下的每一个文件,都是一个独立的饰品背包
可以自行设置大部分的内容
例如:背包页数、背包大小、每一页的title
背包的信息提示、背包的音效、套装的展示信息
背包的内部名以文件名进行命名
例如我提供的example.yml文件
开启指令为/superinventory open example 1
可按tab自动补齐背包名
二、套装
插件会在玩家关闭饰品背包后
进行套装效果的检测,当玩家在该背包中穿戴的饰品数量达标
那么便会激活该阶段的套装效果
插件会自动加载suits文件夹下,所有符合要求的套装效果
需要注意的是,不同背包中的套装件数不共享
三、主配置文件
在该配置文件中,可选择玩家饰品的存储方式
默认为SQLite,存储在该插件的.db文件中
可改为Mysql,进行跨服存储
现支持属性插件:AP、SX2、SX3、CA
四、指令
插件提供了一些指令(可简写为 /si)
/superinventory open [背包名] [页码] 玩家为自己打开指定背包的指定页面
/superinventory reload 重载插件配置文件
/superinventory open [背包名] [页码] <player> 为指定玩家打开指定背包的指定页面
以下指令需配合 禁止拆卸饰品 功能使用,若不需要请忽略
/si set [玩家] [背包ky] [页数] [槽位] [物品key] 为玩家设置槽位饰品
/si set [玩家] [背包ky] [页数] [槽位] 为玩家移除槽位饰品
五、模块
该功能可为饰品提供更多的差异化功能
模块可通过自行编写JS脚本或通过API去添加
(若使用JS脚本,请添加NashornJS插件作为依赖,否则无法启用)
配置格式如下
JS脚本编写模块
(如果不知道怎么写,就丢给AI吧)
调用该JS模块时,使用文件名即可,例如 example.yml
使用 model: "example" 进行调用
YAML:
/**
* 特殊饰品模块 - 示例脚本
*
* 生命周期:
* activate(player, content, triggerType) - 模块激活时(装备饰品)
* trigger(player, content, triggerType) - 模块触发时(右键/左击/定时等)
* deactivate(player, content, triggerType) - 模块停用时(拆卸饰品)
*
* 参数说明:
* player - org.bukkit.entity.Player 玩家对象
* content - String 配置中的 content 字段内容
* triggerType - String 触发器类型 (rightClick, leftClick, onEquip 等)
*
* 在 specialItem.yml 中引用:
* models:
* - model: "example"
* content: "自定义数据"
*/
function activate(player, content, triggerType) {
player.sendMessage("§a[特殊模块] 模块已激活! 内容: " + content);
}
function trigger(player, content, triggerType) {
player.sendMessage("§e[特殊模块] 模块触发... 内容: " + content + " 触发器: " + triggerType);
}
function deactivate(player, content, triggerType) {
player.sendMessage("§c[特殊模块] 模块已停用! 内容: " + content);
}
通过API拓展模块
通过获取API重写SpecialModel,然后注册到SuperInventory中
获取插件实例并注册
(完整示例请在更新日志中查看)
Java:
SuperInventory si = (SuperInventory) Bukkit.getPluginManager().getPlugin("SuperInventory");
exampleModule = new ExampleModule(this);
exampleModule.register();
si.getSpecialManager().registerModule(miningModule);
(插件理论上支持最新的版本,可在尝试后发在讨论区中)