Skip to content

BouncingRaytrace

kae.o. edited this page May 15, 2026 · 3 revisions

Description

ブロックに当たると鏡面反射(跳ね返り)し,エンティティに当たるとスキルを発動するRaytraceを射出します.

Attributes

Attribute Aliases Description Default
onHit oh, oH エンティティ衝突時に実行されるスキル (なし)
onLine ol, oL 軌道上の各地点で実行されるスキル(演出用) (なし)
damage a ヒットしたエンティティに与えるダメージ 5.0
maxRange mr レーザーの最大射程距離 30.0
maxBounces mb 最大反射回数 3
step s onLine スキルを実行する間隔 (メートル) 0.2

Reflection Formula

反射後のベクトル $\vec{v'}$ は,入射ベクトル $\vec{v}$ と衝突面の法線ベクトル $\vec{n}$ を用いて以下の数式で計算されます: $$\vec{v'} = \vec{v} - 2(\vec{v} \cdot \vec{n})\vec{n}$$

Examples

壁で最大 5 回まで反射し,敵に当たると爆発する魔導弾の例です.

testRaytrace:
  Skills:
    - bounceRay{
        mr=50; mb=5; s=0.2; a=15;
        oL=Logic_Ray_Trail;
        oH=Logic_Ray_Explode
      } @targetLocation

Logic_Ray_Trail:
  Skills:
    - effect:particles{p=end_rod;a=1;v=0} @targetLocation

Logic_Ray_Explode:
  Skills:
    - effect:particles{p=hugeexplosion;a=1} @trigger
    - sound{s=entity.generic.explode;p=2} @trigger

Aliases

  • bRaytrace

Clone this wiki locally