提供: defeatedcrow mod wiki
2016年2月29日 (月) 12:22時点におけるDefeatedcrow (トーク | 投稿記録)による版
弾Entityの作成
IGNISから発射する弾をEntityとして作成します。
EntityはBlockのように座標で固定されない、動きを持たせることが出来るオブジェクトです。ただし生成するだけではその場から動かないし何もしません。動きや向きの制御、接触判定、接触後の処理など、必要なことは自分で追加しないといけません。
(そのため、チュートリアル等ではアイテムやブロックに比べてやや上級向けとして扱われます。初心者が作りたくなるアイデアを最も理想に近い形で実装できる道でもあり、理解不足の初心者Modderを叩き落とす罠でもあります。)
私の場合、自作チュートリアルからソースを引っ張ってきて、改良しつつ作っていきます。チュートリアル(村人波動砲)のほうは、バニラの矢Entityを参考にしつつ作っています。
弾Entityの作成にあたり、どんなふうに作るのか考えてみます。
- Entityを貫通する
- Blockを貫通するが、貫通可能距離には限界がある
- ダメージを与える対象を選択する(火炎放射なので、火炎耐性を持っているとダメージを与えられない、など)
- 武器のエンチャントに応じた効果の強化
銃アイテムはEntityに座標や方角などの初期パラメータを与えて生成する程度のことしかしません。 実際の攻撃処理は、Entity側で行います。
実際に実装されているクラス
なお、内容はVer1.1aのものです。 記事が冗長になるため、クラス全文は別ページに移します。
- EntityFlame.class