- 版权类型
- 原创
- 插件中文名称
- 方块动画
- 插件英文名称
- Cubix
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- PufferFish
- SpongeVanilla
- Leaves
- 其他核心
- 语言支持
- 多语言
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
[MD]



> **原名 BlockAnimation(v1.0.5 及更早版本)**
Cubix 是一款强大的 Minecraft 方块动画插件,通过流畅的方块移动、材质变化和惊艳的视觉效果,让你的世界栩栩如生!非常适合创建动画门、电梯、解谜机关、过场动画等等!
## 功能特性
### 核心动画类型
- **移动 (Move)** - 平滑地将方块从一个位置移动到另一个位置
- **材质 (Material)** - 以炫酷的方式改变方块材质
- **传送 (Teleport)** - 瞬间传送方块到指定位置
- **旋转 (Rotate)** - 围绕坐标轴旋转方块
- **破坏 (Break)** - 带有动画效果的方块破坏
- **等待 (Wait)** - 在动画序列之间添加延迟
- **链接 (Link)** - 将多个动画链接在一起
- **无操作 (Noop)** - 无操作事件(脚本编写时使用)
### 高级功能
- **递归执行** - 按顺序或同时执行多个坐标的动画
- **多线性运动** - 沿 X、Y 或 Z 轴创建平滑连续运动
- **音效系统** - 播放音效,支持自定义音调、音量和范围选择器
- **粒子效果** - 生成粒子,支持完整参数控制
- **标题与 ActionBar** - 向玩家发送标题和快捷栏消息
- **备份系统** - 自动备份和恢复方块状态
- **热重载** - 无需重启服务器即可重载脚本
- **文件监控** - 自动检测并重载脚本文件变更
- **任务管理器** - 实时监控和管理所有运行的动画
### 视觉效果示例
```yaml
# 带范围选择器的音效
sound: ENTITY_PLAYER_LEVELUP [by 1.5 1.5] {nearby:10}
# 粒子效果
particle: REDSTONE color:255,0,0 count:5 offset:0.5,1,0.5
# 标题消息
title: "欢迎!" "&e&l服务器名称" [by 10 10 10] {world_players}
# ActionBar 消息
actionbar: "&f&l加载中..." {nearby:5}
```
## 兼容性
| 服务端 | 支持情况 |
|--------|----------|
| Spigot | ✅ 1.8 - 1.21.X |
| Paper | ✅ 1.8 - 1.21.X |
| Purpur | ✅ 1.8 - 1.21.X |
| Leaf | ✅ 1.8 - 1.21.X |
| Leaves | ✅ 1.8 - 1.21.X |
| PufferFish | ✅ 1.8 - 1.21.X |
| Folia | ✅ 已支持 |
### 可选依赖
- **MythicMobs** - 与怪物机制集成
- **DungeonPlus** - 副本系统兼容
## 视觉示例
以下是Cubix核心动画类型的演示:
**旋转动画**

## 安装方法
1. 从发布页面下载最新版本
2. 将 `Cubix.jar` 放入服务器的 `plugins/` 文件夹
3. 启动服务器生成默认配置
4. 在 `plugins/Cubix/` 中编辑配置文件
## 快速开始
### 创建你的第一个动画脚本
1. 使用 `/cx tool` 打开选择工具菜单
2. 选择你要动画化的区域
3. 创建脚本:`/cx create anime mydoor door "动画门示例"`
4. 编辑脚本:`/cx edit door`
5. 运行脚本:`/cx run door`
### 完整示例脚本
```yaml
id: door
description: 滑动门动画
event:
# 第一步:将门区域向下移动5格
- type: move
area: -18 67 -65:-21 70 -65
to: ~ ~-5 ~
speed: 0.1
keepblock: false
removeblock: true
mode: 0
sound: entity.ender_dragon.growl
# 第二步:将底部区域变为空气(延迟650毫秒)
- type: material
area: -18 67 -65:-21 67 -65
material: AIR
delay: 650
```
## 命令列表
| 命令 | 描述 | 权限 |
|------|------|------|
| `/cx help` | 显示帮助菜单 | cx.admin |
| `/cx tool` | 打开选择工具菜单 | cx.admin |
| `/cx list` | 列出所有脚本 | cx.admin |
| `/cx info <id>` | 获取脚本详细信息 | cx.admin |
| `/cx create <类型> <文件> <id> [描述]` | 创建新脚本 | cx.admin |
| `/cx edit <id>` | 编辑脚本 | cx.admin |
| `/cx run <id> [世界]` | 执行脚本 | cx.admin |
| `/cx remove <id>` | 删除脚本 | cx.admin |
| `/cx rlcfg <id>` | 重载指定脚本 | cx.admin |
| `/cx reload` | 重载所有配置 | cx.admin |
| `/cx debug` | 切换调试模式 | cx.admin |
| `/cx task` | 任务管理器(列表/取消/搜索/统计/监控) | cx.admin |
## 事件类型参考
### 移动事件 (Move)
```yaml
- type: move
area: x1 y1 z1:x2 y2 z2 # 要移动的区域
to: ~ ~+5 ~ # 目标位置(相对坐标)
speed: 0.1 # 移动速度
keepblock: true # 是否在目的地保留方块
removeblock: true # 是否从源位置移除方块
mode: 0 # 0=自动, 1=FallingBlock, 2=BlockDisplay
delay: 1000 # 延迟(毫秒)
```
### 材质事件 (Material)
```yaml
- type: material
area: x1 y1 z1:x2 y2 z2 # 要改变的区域
material: SEA_LANTERN # 新材质
delay: 500
```
### 传送事件 (Teleport)
```yaml
- type: tp
from: x y z # 源位置
to: ~ ~ ~+1 # 目标位置(相对坐标)
delay: 1000
```
### 递归材质事件
```yaml
- type: material
material: SEA_LANTERN
recursion:
type: 2 # 2=顺序执行, 1=同时执行
list:
- 521 5 47
- 525 5 50
- 521 7 52
interval: 150 # 每个之间的间隔
sound: NOTE_PLING [by 0.8 0.5]
particle: END_ROD extra:0.05 count:40
```
### 多线性运动事件
```yaml
- type: material
material: SEA_LANTERN
recursion:
type: 3 # 3=多线性运动
list:
- start: 515 5 49 # 起始坐标
end: 505 5 49 # 结束坐标
axis: x # X轴运动
interval: 100 # 间隔(毫秒)
sound: NOTE_PLING [by 0.8 0.5]
```
## 开发者 API
Cubix 提供完善的 API 供开发者集成:
```kotlin
import cn.ng.block.api.CAPI
// 检查脚本是否存在
val exists = CAPI.scriptExists("myscript")
// 运行脚本
CAPI.runScript(world, "myscript")
// 重载脚本
CAPI.reloadScript("myscript")
// 获取管理器
val scriptManager = CAPI.getScriptManager()
val entityManager = CAPI.getEntityManager()
```
## 配置文件
### config.yml
```yaml
language: "zh_CN" # 语言设置
prefix: "&cC&6u&eb&ai&9x&r" # 插件前缀
debug: false # 调试模式
check_updates: true # 检查更新
metrics: true # 启用统计
watch_service:
enabled: true # 启用文件监控
interval: 800 # 监控间隔(毫秒)
block_offset: # 方块偏移量
x: 0.5
y: -0.68
z: 0.5
```
## 使用场景
### 🚪 动画门
创建自动开关的城门、密室门或科幻风格的滑门
### 🛗 电梯系统
制作多层建筑的平滑升降电梯
### 🎮 解谜机关
设计需要玩家触发的复杂机关和陷阱
### 🎬 过场动画
为 RPG 地图制作剧情过场动画
### 🏰 建筑展示
让建筑动态组装,展示建造过程
### ⚔️ 副本机制
与 MythicMobs 配合创建动态战斗场地
## 支持与反馈
- **Wiki 文档**: [wiki.qwq.plus](https://wiki.qwq.plus)
- **问题反馈**: 在我们的 GitHub 仓库提交 Issue
- **QQ 群**: 加入官方群获取帮助 475059883
## 开源协议
本项目采用 GPL-3.0 协议开源 - 详见 [LICENSE](LICENSE) 文件
## 制作团队
- **作者**: 季雨
- **贡献者**: KaBuSaMa
- **产地**: 中国 🇨🇳
---
**感谢使用 Cubix!** 如果你喜欢这个插件,请给我们一个好评 ⭐
[/MD]