和煦樱
本帖最后由 和煦樱 于 2023-2-5 13:28 编辑

我这边通过Snowball类生成了一个雪球,然后将它发射出去

然后再发射出去之后接了下面这段代码
  1.      new BukkitRunnable() {
  2.                                                 @SuppressWarnings("deprecation")
  3.                                                 @Override
  4.                                                 public void run() {
  5.                                                         if (snowBall.isDead()) {
  6.                                                                 this.cancel();
  7.                                                         } else {
  8.                                                                 snowBall.getWorld().spigot().playEffect(snowBall.getLocation(), Effect.FLAME, 0, 0, (float)0, (float)0.4, (float)0, (float)0.1, 5, 1);
  9.                                                     }
  10.                                                 }
  11.                                     }.runTaskTimerAsynchronously(this, 0, 2L);
复制代码

就是每2ticks会再雪球当前的坐标生成一次粒子效果,实现法术的特效

但是!!这个粒子特效只被生成了一次,这个是怎么回事.. 我尝试让玩家每2ticks周围生成一次粒子效果都没问题,但让投掷物每2ticks生成一次粒子却不行



602723113
如果你是 1.7.10 以上的版本,请使用 World#spawnParticleWorld#spawnParticle 的方法,例如下面这串代码进行调用

  1. world.spawnParticle(Particle.FLAME, snowBall.getLocation(), 1, 0, 0, 0, 0);
复制代码


请注意: FLAME 这个粒子设置时需要将 extra 参数设置为 0 才不会出现因速度过快而导致粒子不成形

如果还是不行, 可以看一看这个视频 Bilibili视频

如果还是不行, 建议寄! 或者你可以加群问一问: 914085636


和煦樱
602723113 发表于 2023-2-7 11:28
如果你是 1.7.10 以上的版本,请使用 World#spawnParticleWorld#spawnParticle 的方法,例如下面这串代码进 ...

我当时用的是Spigot.playEffect只能触发一次粒子,后来直接用1710_R4底层的写法发粒子效果才可以...感谢莫老看我的帖子,还有你发的群号 QQ上面搜不到你的群号,你是不是把群号搜索关闭了,我之前在bilibili上看到你的视频下面也是贴了个群号 也是搜不到

1785379297
虽然看不懂,但我大受震撼

第一页 上一页 下一页 最后一页