脚本编写教程
欢迎来到 CraneAttribute 脚本教程。本教程将带你从零开始,逐步掌握属性脚本、读取组件和扩展脚本的编写。
我需要什么基础?
- 有 Java/Kotlin 基础 → 直接使用 Groovy,性能和功能都是最佳选择
- 有 JavaScript 基础 → 使用 JS,语法熟悉,上手快
- 有 AttributePlus 经验 → 查看 迁移指南,大部分概念通用
- 完全零基础 → 先看 0基础AttributePlus脚本属性 学习基本编程概念
关于语言选择的详细对比,参考 脚本语言对比。
推荐学习路径
入门篇:属性编写
这是最核心的技能——学会编写属性,你就能实现绝大多数的玩法需求。
| 顺序 | 内容 | 说明 |
|---|---|---|
| 1 | 属性脚本入门 | 第一个属性、基本概念、处理器方法速览 |
| 2 | DEFAULT 类型 | 最简单的属性类型,理解属性注册机制 |
| 3 | ATTACK_AND_DEFENSE 类型 | 最常用的战斗属性,从简单到复杂的五个层级示例 |
| 4 | UPDATE_AFTER 类型 | 属性更新同步,生命值/移速等 |
| 5 | RUNTIME_AFTER 类型 | 周期性自动执行的属性 |
| 6 | PLAYER_KILL_ENTITY 类型 | 击杀触发类属性 |
| 7 | ACCIDENTAL_DAMAGED 类型 | 环境伤害处理(摔落、火焰等) |
| 8 | REGAIN_HEALTH 类型 | 治疗相关逻辑 |
| 9 | 扩展属性类型 | 第三方扩展属性类型的使用 |
学完入门篇,你应该能独立编写 90% 的游戏属性了。
进阶篇:规范与工具
| 内容 | 说明 |
|---|---|
| 使用枚举类管理属性 | 属性多了如何管理?用枚举统一配置 |
| 从 AttributePlus 迁移 | AP 老用户快速迁移指南 |
| 伤害分源机制 | 按来源区分和管理伤害 |
| 治疗分源机制 | 按来源区分和管理治疗 |
| 抛射物追踪器 | 判断远程/近战,读取抛射物信息 |
| 元数据追踪器 | 在处理过程中存储临时数据 |
拓展篇:自定义读取组件
当系统自带的 Lore/NBT 读取格式无法满足你的需求时,可以自己编写读取组件。
| 顺序 | 内容 | 说明 |
|---|---|---|
| 1 | 读取组件教程 | 理解三大读取组件的工作原理 |
| 2 | 自定义条件读取组件 | 判断「条件是否满足」 |
| 3 | 自定义数值读取组件 | 提取「属性值是多少」 |
| 4 | 自定义映射读取组件 | 把文本映射为属性列表 |
高级篇:扩展与视觉效果
| 内容 | 说明 |
|---|---|
| 扩展脚本 | 注册自定义属性类型、监听器、命令等 |
| GroovyScript 接口 | 扩展脚本的基础接口 |
| Groovy 注册插件内容 | 注册属性类型、触发器、处理器、属性源的完整流程 |
| 视效脚本 | 创建伤害数字、浮动文字等视觉效果 |
参考篇:预设基类
编写脚本时常用的抽象基类文档:
- GroovyAttribute — 属性脚本基类
- GroovyConditionReader — 条件读取器基类
- GroovyValueReader — 数值读取器基类
- GroovyMappingReader — 映射读取器基类
- GroovyEffect — 视觉效果基类
教学方针
本教程采用以下方式帮助你学习:
- 「双语教学」:每个示例同时提供 Groovy 和 JavaScript 版本
- 「从简单到复杂」:核心类型教程中提供多个层级(一级→五级)的渐进示例
- 「逐行解释」:关键代码有行级别的注释说明
- 「常见问题」:每篇教程末尾附带 FAQ,解决新手最常遇到的困惑
- 「明确下一步」:每篇教程告诉你下一篇应该学什么
