Weightless Particle FX(失重粒子特效)

基本信息

属性 值
注册名 structurelib:weightlessParticle
实体类 com.gtnewhorizon.structurelib.entity.fx.WeightlessParticleFX
适用侧 仅客户端(@SideOnly(Side.CLIENT))
父类 EntityFX

功能

WeightlessParticleFX 是一种客户端粒子特效,用于在多方块建造过程中可视化提示块系统。它创建漂浮的、缓慢衰减的粒子,具有中性白灰色调,在世界中失重飘浮。

行为细节

  • 无重力:noClip = true;粒子不下落
  • 随机飘动:每个轴接收小的随机速度分量(±0.05 * random),产生柔和的漂浮运动
  • 衰减:particleMaxAge 计算为 (int)(16.0 / (random * 0.8 + 0.2)) + 2,寿命约 10–18 tick
  • 视觉:particleRed = particleGreen = particleBlue = random * 0.3 + 0.7——始终为中性白/灰色调
  • 缩放:particleScale 通过 random² * 6 + 1 随机化,范围为 1–7
  • 运动阻尼:所有轴每 tick 以 0.9 因子衰减(motionX *= 0.8999999761581421D),产生平滑减速
  • 纹理动画:particleTextureIndex 随粒子老化而减小,循环遍历粒子图集

生成方式

粒子通过 StructureLib 网络消息(UpdateHintParticleMessage、ErrorHintParticleMessage)从服务端发送到客户端生成,通常在玩家与构造性结构交互时触发。