我的世界1.12.2物品绑定指令-Itemuse

原创 开源 工具 我的世界1.12.2物品绑定指令-Itemuse v1.00

请登录后获取
版权类型
原创
插件中文名称
物品绑定指令
插件英文名称
Itemuse
原帖地址
#
支持的核心(服务端)
  1. Spigot
语言支持
中文(简体)
适配版本(Java)
  1. 1.12
# Itemuse - 物品指令绑定插件

<img src="https://img.shields.io/badge/Minecraft-1.12.2-green" alt="Minecraft 1.12.2">
<img src="https://img.shields.io/badge/License-MIT-blue" alt="MIT License">

## 📖 简介
`Itemuse` 是一个允许玩家将任意指令绑定到物品上的插件,当玩家使用该物品时,会自动执行绑定的指令(支持变量和 PlaceholderAPI),并可选择是否消耗物品。

## ⚙️ 核心功能
- **物品指令绑定**
将指令绑定到手持物品(支持消耗/非消耗模式)
- **变量替换**
支持 `%player%`, `%uuid%`, `%world%`, `%x%`, `%y%`, `%z%` 等动态变量
- **PlaceholderAPI 集成**
兼容所有 PlaceholderAPI 占位符
- **多语言支持**
内置中英文切换(默认中文)
- **数据库存储**
支持 SQLite(默认)和 MySQL 存储绑定数据

## 📦 安装方法
1. 下载最新版 `Itemuse.jar`
2. 放入服务器 `plugins/` 目录
3. 重启服务器
4. 配置文件自动生成在 `plugins/Itemuse/`

## ⌨️ 命令列表
| 命令 | 参数 | 描述 | 权限节点 |
|------|------|------|----------|
| **/itemuse bind** | `<true/false> <指令>` | 绑定指令到手持物品 | `yiran.itembind.bind` |
| **/itemuse remove** | - | 移除物品绑定指令 | `yiran.itembind.remove` |
| **/itemuse list** | - | 查看物品绑定信息 | `yiran.itembind.list` |
| **/itemuse reload** | - | 重载配置文件 | `yiran.itembind.reload` |

### 使用示例

- 绑定消耗型指令(使用后物品-1)
- /itemuse bind true say 你好,我是%player%!
- 绑定非消耗型指令
- /itemuse bind false effect give %player% speed 10 1

## ⚙️ 配置文件

```
# 支持 zh_CN, en_US 等
language: zh_CN

# 数据库配置
database:
# sqlite 或 mysql
type: sqlite

# SQLite 配置
sqlite:
filename: deposit_cumulative.db

# MySQL 配置 (当 type=mysql 时生效)
mysql:
host: localhost
port: 3306
database: mc_plugin
user: root
password: ""
```

## 🌐 多语言支持
### 切换语言
修改 `config.yml` 中的 `language` 字段:
- language: en_US # 切换为英文

### 自定义翻译
1. 复制 `zh_CN.yml` 重命名为新语言文件(如 `en_US.yml`)
2. 修改文件中的文本内容
3. 在 `config.yml` 中设置对应语言代码

## 🛠️ 开发者 API
### 获取物品绑定信息

```
ItemCommandService service = new ItemCommandService();
ItemStack item = player.getInventory().getItemInMainHand();
CommandData data = service.getCommandDataByItem(item);
if(data != null) {
String command = data.getCommand();// 绑定指令
boolean consume = data.shouldConsume(); // 消耗模式

}
```

### 监听物品使用事件

```
@EventHandler
public void onItemUse(PlayerInteractEvent event) {
ItemStack item = event.getItem();
CommandData data = commandService.getCommandDataByItem(item);
// 自定义处理逻辑...
}
```

## ❓ 常见问题
### Q: 绑定指令后不生效?
**解决步骤:**
1. 确认玩家有 `yiran.itembind.use` 权限
2. 检查控制台错误日志
3. 确保指令格式正确(不要包含 `/` 前缀)

### Q: 如何迁移到 MySQL 数据库?
1. 修改 `config.yml`:

```
database:
type: mysql

mysql:
host: 你的数据库IP
database: 数据库名
user: 用户名
password: 密码
```

2. 重启服务器,插件会自动创建表结构

### Q: 变量替换不生效?
- 基础变量(如 `%player%`) 总是生效
- PlaceholderAPI 变量需要安装 [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/)
- 使用前执行 `/papi ecloud download` 获取所需扩展

## 📜 技术信息
- **运行环境**: Java 8+, Spigot 1.12.2

## 🛠️ 开发者信息
- **作者**:Yiran
- **版本**:1.0.0
- **依赖库**:PlaceholderAPI (可选)
- **开源协议**:GPLv3

> 提示:插件启动时会显示彩色横幅(包含版本和作者信息),可在 Logger.java 中自定义横幅内容。所有数据库操作自动初始化,无需手动建表。
作者
Yiran233
价格
20.00金粒
下载
12
查看
521
首次发布
最后更新

评分

0.00 星 0 次评分

Yiran233 的其他资源

后退
顶部 底部