EffectPosition与WorldTextureBuilder:特效数据类
特效位置和世界贴图构建器
EffectPosition
EffectPosition用于描述特效的生成位置,支持两种模式:固定世界坐标和跟随实体。- 通过静态工厂方法创建实例。
固定坐标模式
EffectPosition.location(x, y, z, pitch, yaw)
- 创建一个固定世界坐标的特效位置
- 参数:
xyz: double — 世界坐标pitch: float — 垂直旋转角度(可选,默认0)yaw: float — 水平旋转角度(可选,默认0)
- 返回值:
EffectPosition - 调用示例
EffectPosition.location(location)
- 从Bukkit Location创建固定坐标特效位置
- 参数:
location: Location — Bukkit位置对象 - 返回值:
EffectPosition - 调用示例
EffectPosition.location(location, roll)
- 从Bukkit Location创建固定坐标特效位置,附带翻滚角
- 参数:
location: Location — Bukkit位置对象roll: float — 翻滚角度
- 返回值:
EffectPosition - 调用示例
跟随实体模式
EffectPosition.followEntity(entity)
- 创建一个跟随实体的特效位置,默认跟随实体的俯仰和偏航
- 参数:
entity: Entity — 要跟随的实体 - 返回值:
EffectPosition - 调用示例
EffectPosition.followEntity(entity, pitch, yaw, followPitch, followYaw)
- 创建一个跟随实体的特效位置,可自定义旋转和跟随选项
- 参数:
entity: Entity — 要跟随的实体pitch: float — 初始垂直旋转角度yaw: float — 初始水平旋转角度followPitch: boolean — 是否跟随实体俯仰followYaw: boolean — 是否跟随实体偏航
- 返回值:
EffectPosition - 调用示例
EffectPosition.followEntity(entity, xOffset, yOffset, zOffset, pitch, yaw, roll, followPitch, followYaw)
- 创建一个跟随实体的特效位置,完整参数版本
- 参数:
entity: Entity — 要跟随的实体xOffsetyOffsetzOffset: double — 相对实体的偏移量pitch: float — 垂直旋转角度yaw: float — 水平旋转角度roll: float — 翻滚角度followPitch: boolean — 是否跟随实体俯仰followYaw: boolean — 是否跟随实体偏航
- 返回值:
EffectPosition - 调用示例
EffectPosition.followEntity(uuid, xOffset, yOffset, zOffset, pitch, yaw, roll, followPitch, followYaw)
- 通过UUID创建跟随实体的特效位置
- 参数:
uuid: UUID — 实体UUID- 其余参数同上
- 返回值:
EffectPosition - 调用示例
WorldTextureBuilder
WorldTextureBuilder用于构建世界贴图特效的参数,采用Builder链式调用模式。
setTexture(texture, facing, glowing)
- 设置贴图路径和显示属性
- 参数:
texture: String — 贴图资源路径facing: boolean — 是否始终朝向玩家视角glowing: boolean — 是否发光(不受光照影响)
- 返回值:
WorldTextureBuilder(链式调用) - 调用示例
setSize(width, height)
- 设置贴图尺寸
- 参数:
width: double — 宽度height: double — 高度
- 返回值:
WorldTextureBuilder - 调用示例
setLifeTime(lifeTime)
- 设置贴图生命周期
- 参数:
lifeTime: int — 持续时间(毫秒),-1为永久 - 返回值:
WorldTextureBuilder - 调用示例
动画方法
- 以下方法用于为世界贴图添加各种动画效果,所有动画方法参数格式一致。
通用参数:
delay: int — 延迟开始时间(毫秒)from: double — 起始值to: double — 结束值duration: int — 动画持续时间(毫秒)loop: boolean — 是否循环播放
| 方法 | 说明 |
|---|---|
addOffsetXAnimation(delay, from, to, duration, loop) | X轴偏移动画 |
addOffsetYAnimation(delay, from, to, duration, loop) | Y轴偏移动画 |
addOffsetZAnimation(delay, from, to, duration, loop) | Z轴偏移动画 |
addScaleAnimation(delay, from, to, duration, loop) | 缩放动画 |
addRotationXAnimation(delay, from, to, duration, loop) | X轴旋转动画 |
addRotationYAnimation(delay, from, to, duration, loop) | Y轴旋转动画 |
addRotationZAnimation(delay, from, to, duration, loop) | Z轴旋转动画 |
- 调用示例
