沙尘暴粒子引擎

沙尘暴粒子引擎

基于雪暴的粒子引擎,但适用于Minecraft Java版,但适用于Fabric,但使用polymer的服务端

Sandstorm

Bedrock/Snowstorm 兼容的粒子引擎,但适用于 Fabric、Java —— 使用 polymer 实现基于数据包的显示实体

使用网页应用 snowstorm.app(或 VSCode 扩展或 Microsoft Store 应用)创建粒子效果。

开发中™

命令

/sandstorm <effect> [position]

添加效果

将来自 snowstorm 的粒子 json 文件放入 config/sandstorm/particles 即可添加自定义效果

组件实现情况

🟢 = 已完全实现 🟠 = 部分实现 🔴 = 未实现

发射器:

  • 🟢 minecraft:emitter_initialization
  • 🟢 minecraft:emitter_lifetime_looping
  • 🟢 minecraft:emitter_lifetime_once
  • 🟢 minecraft:emitter_shape_disc
  • 🟢 minecraft:emitter_shape_box
  • 🟢 minecraft:emitter_shape_point
  • 🟢 minecraft:emitter_shape_sphere
  • 🟢 minecraft:emitter_rate_instant
  • 🟢 minecraft:emitter_rate_steady
  • 🟢 minecraft:emitter_rate_manual
  • 🟢 minecraft:emitter_shape_custom
  • 🟢 minecraft:emitter_lifetime_expression
  • 🟢 minecraft:emitter_lifetime_events
  • 🔴 minecraft:emitter_shape_entity_aabb
  • 🔴 minecraft:emitter_local_space

粒子:

  • 🟢 minecraft:particle_initial_speed
  • 🟢 minecraft:particle_initial_spin
  • 🟢 minecraft:particle_lifetime_expression
  • 🟢 minecraft:particle_motion_collision
  • 🟢 minecraft:particle_motion_dynamic
  • 🟢 minecraft:particle_motion_parametric
  • 🟠 minecraft:particle_appearance_billboard
  • 🟢 minecraft:particle_appearance_lighting
  • 🟢 minecraft:particle_appearance_tinting
  • 🟢 minecraft:particle_expire_if_in_blocks
  • 🟢 minecraft:particle_expire_if_not_in_blocks
  • 🟢 minecraft:particle_lifetime_events
  • 🔴 minecraft:particle_kill_plane

问题

  • 非常“长”的数字无法被 molang 编译器解析(例如:0.4398741874364278346234372)
  • 尚不支持透明度(切换到文本显示实体?)
  • 由于 Minecraft Java 版的资源包限制,对 UV 映射的 Molang 表达式支持有限
  • 不支持 bezier_curve 类型的曲线