插件介绍
ItemBox是一个为Nukkit服务器设计的道具箱系统插件,它允许玩家:
- 存储和使用特殊道具
- 按分类查看道具
- 管理有时限和使用次数的道具
- 支持MySQL和YAML两种存储方式
Ps:本插件不带任何道具,需要开发者自行注册!
功能特性
• 多分类道具管理
• 道具有效期和使用次数限制
• 支持MySQL数据库存储
• 简洁的GUI界面
• 完善的API供开发者使用
• 定时清理过期道具
安装指南
1. 将插件放入plugins文件夹
2. 启动服务器生成配置文件
3. 编辑config.yml配置数据库和分类
4. 重启服务器
开发者文档
如何注册自定义道具
要注册自定义道具,您需要实现
代码:
ItemBoxItem
Java:
// 1. 实现ItemBoxItem接口
public class MyCustomItem implements ItemBoxItem {
@Override
public String getDisplayName() {
return "我的道具";
}
@Override
public String[] getLore() {
return new String[]{"这是一个示例道具", "第二行描述"};
}
@Override
public Item createItem() {
Item item = Item.get(Item.DIAMOND);
item.setCustomName(getDisplayName());
item.setLore(getLore());
return item;
}
@Override
public void onUse(Player player) {
player.sendMessage("你使用了我的道具!");
}
@Override
public boolean canUse(Player player) {
return player.hasPermission("myitem.use");
}
}
// 2. 注册道具
ItemBoxAPI.getInstance().registerItem("my_item", new MyCustomItem());
API使用示例
Java:
// 获取API实例
ItemBoxAPI api = ItemBoxAPI.getInstance();
// 给玩家道具(7天后过期,可使用3次)
api.addItemToPlayer(player, "my_item",
System.currentTimeMillis() + (7 * 24 * 60 * 60 * 1000L), 3);
// 获取玩家所有道具
List<PlayerItemData> items = api.getPlayerItems(player);
// 检查道具是否注册
boolean isRegistered = api.isItemRegistered("my_item");
数据库配置
在config.yml中配置数据库:
YAML:
storageType: MySQL # 或YAML
database:
host: 127.0.0.1
port: 3306
database: itembox
username: root
passport: password
分类配置
YAML:
category:
- name: "武器"
icon: "textures/items/diamond_sword"
iconType: path
allowItem:
- "sword1"
- "sword2"
- name: "工具"
icon: "http://example.com/tool.png"
iconType: web
allowItem:
- "pickaxe"
命令列表
• /itembox - 打开道具箱界面
• /itembox give <玩家> <道具ID> [过期时间] [可用次数] - 给玩家道具
• /itembox remove <玩家> <道具ID> - 移除玩家道具
• /itembox reload - 重载插件配置
权限节点
• itembox.command - 使用基础命令
• itembox.admin - 管理员权限(给/移除道具)