- 版权类型
- 原创
- 插件中文名称
- LoreBuff
- 插件英文名称
- LoreBuff
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- 语言支持
- 中文(简体)
- 前置组件
- 无
- 适配版本(Java)
- 1.21
[MD]
# LoreBuff — 根据物品Lore自动给予药水效果与粒子特效
## 插件简介
**LoreBuff** 是一款轻量级的 Minecraft 服务端插件(支持 Spigot/Paper 1.21+),能够根据玩家**手持/快捷栏物品的 Lore 描述**,自动为玩家施加药水效果(Potion Effect)并播放粒子特效(Particle)。
只需在配置文件中定义 Lore 文本与对应效果,当玩家快捷栏中存在匹配 Lore 的物品时,插件便会周期性地自动刷新 Buff 和粒子。
---
## 主要特性
- 🔄 **周期性刷新** — 可自定义刷新周期,Buff 到期前自动续期
- 🧪 **丰富的药水效果** — 支持原版全部药水效果,可设置等级
- ✨ **多种粒子特效** — 支持 20+ 种粒子类型,可配置半径与数量
- 🎨 **彩色粒子** — 支持 `colouredDust`(RGB 粉尘)和 `mobspell`(RGB 法术粒子)
- 📦 **仅需 Lore** — 无需 NBT 标签、无需自定义物品,仅靠 Lore 文本匹配
- ⚡ **高性能** — 异步调度 + 粒子缓存,极致降低 TPS 影响
- 🔧 **热重载** — 支持 `/lorebuff reload` 在线重载配置
---
## 命令与权限
| 命令 | 别名 | 说明 | 权限 |
|------|------|------|------|
| `/lorebuff reload` | `/lb reload` | 重载配置文件 | `lb.reload`(默认 OP) |
---
## 配置文件详解
插件首次启动后会在 `plugins/LoreBuff/config.yml` 生成配置文件:
```yaml
# 刷新周期(秒)— 修改后需执行 /lorebuff reload
renew_period: 2
# Buff 持续时间(秒)
duration: 10
# 药水与粒子配置
potions:
<配置项名称>:
lore: '<匹配的Lore文本>'
potion: '<药水效果> <等级>'
particleEffect: '<粒子类型>:<半径>:<数量>'
extra: '<额外参数>' # 仅 colouredDust / mobspell 需要
```
### 药水效果格式
```
potion: '效果名称 等级'
```
药水等级取 1–256 的整数,输入 1 即为 I 级效果。
常用药水效果:`speed`(速度)、`invisibility`(隐身)、`luck`(幸运)、`strength`(力量)、`regeneration`(再生)、`jump`(跳跃提升)等。
### 粒子类型
| 配置名 | 效果 |
|--------|------|
| `colouredDust` | RGB 彩色粉尘 |
| `mobspell` | RGB 法术粒子(实体效果) |
| `flame` | 火焰 |
| `heart` | 爱心 |
| `ender` | 末影粒子(传送门) |
| `cloud` | 云 |
| `crit` / `criticalhit` | 暴击 |
| `magiccriticalhit` | 魔法暴击 |
| `enchantmenttable` | 附魔台 |
| `note` / `noteblock` | 音符 |
| `splash` | 水花 |
| `smoke` | 烟雾 |
| `largesmoke` | 大型烟雾 |
| `explode` | 爆炸 |
| `largeexplode` | 大型爆炸 |
| `hugeexplode` | 巨型爆炸 |
| `lavaspark` | 岩浆火花 |
| `witchmagic` | 女巫魔法 |
| `angryvillager` | 愤怒村民 |
| `greensparkle` | 绿色火花(快乐村民) |
| `potionbrake` | 药水破碎 |
| `tiledust` | 方块粉尘 |
| `blockbrake` | 方块破坏 |
### extra 格式
- **colouredDust**: `R:G:B:size`(R/G/B 取 0–255,size 为浮点数)
- **mobspell**: `R:G:B:magic`(magic 为浮点数,控制魔法效果强度)
---
## 使用示例
### 示例 1:隐身 + 彩色粉尘
```yaml
potions:
invisible_item:
lore: '看不见我哈哈哈'
potion: 'invisibility 1'
particleEffect: 'colouredDust:1:20'
extra: '255:255:0:1.0'
```
> 物品 Lore 包含「看不见我哈哈哈」时,玩家获得隐身 I 级,并围绕玩家 1 格半径范围生成 20 个金黄色粉尘粒子。
### 示例 2:幸运 + 法术粒子
```yaml
potions:
lucky_stone:
lore: '我是幸运石'
potion: 'luck 2'
particleEffect: 'mobspell:1:20'
extra: '255:0:255:1.0'
```
> 物品 Lore 包含「我是幸运石」时,玩家获得幸运 II 级,并生成紫红色法术粒子。
### 示例 3:速度 + 末影粒子
```yaml
potions:
speedy:
lore: 'hhhhh'
potion: 'speed 1'
particleEffect: 'ender:0.5:20'
```
> 物品 Lore 包含「hhhhh」时,获得速度 I 级,0.5 格半径内生成 20 个末影粒子。
---
## 注意事项
1. **Lore 匹配规则**:插件使用 `String.contains()` 进行 Lore 匹配,因此物品 Lore 中**包含**配置中指定的文本即可触发
2. **只检测快捷栏**:插件仅检测玩家物品栏第 1–9 格(快捷栏),副手不检测
3. **刷新周期**:`renew_period` 修改后需要执行 `/lorebuff reload` 才对新玩家生效,已在线的玩家需重新加入
4. **粒子性能**:粒子数量和半径越大,性能消耗越高,建议 `amount` 不超过 30
---
## 兼容性
- ✅ Spigot / Paper 1.21+
- ✅ Java 21+
- ✅ 无前置插件依赖
---
[/MD]