このページはMinecraft Forge WikiのEvent Referenceの訳です。
目次
Forge Events
新しいForge Event Busシステムは、全てイベントによって構成される。このイベントシステムの使い方はAtomicStryker's guide on How To Use ForgeEventsで紹介されている
@ForgeSubscribe アノテーションはメソッドをイベントシステムに関連付け、パラメータ(引数)はどのイベントを受け取るかを決定する
パラメータにスーパークラス(継承元のクラス)を利用した場合、サブクラス(継承したクラス)のイベントも受け取ることになる。以下は利用可能なイベントの一覧である
但し、全てのサブクラスは当然スーパークラスのプロパティを参照することが出来るので、ここではそのようなフィールドについては触れない。
Version
このイベント一覧は現在Minecraft Forge 6.4.0 build 397に基づいている
CommandEvent
コマンドが送信された時に発生する
フィールド
- ICommand command
- 送信されたコマンド。即ち、ゲームのチャットで/のあとに入力された、あるいはコンソールで入力された最初の語句
- ICommandSender sender
- コマンドの送信者
- String[] parameters
- コマンドと一緒に送信されたパラメーター。即ち、スペースによって区切られた語句
- Throwable exception
- イベントがキャンセルされたときに投げられる例外
ServerChatEvent
プレイヤーがチャットメッセージを送信する時に発生する
フィールド
- String line
- 他のプレイヤーへ送信されているメッセージの全体。通常、'<PlayerUsername> Message'のような形式
- String message
- プレイヤーが入力した、先頭に'<PlayerUsername> 'の追加されていない文字列。これを編集しても他のプレイヤーへ送信されるメッセージは変更されないことに注意。メッセージを変更するにはlineプロパティを編集すること
- EntityPlayerMP player
- チャットメッセージを入力したユーザーのプレイヤーエンティティ
- String username
- メッセージを入力したプレイヤーのユーザー名
EntityEvent
すべてのエンティティに関するイベントのスーパークラス。サブクラスによってのみ発生する
フィールド
- Entity entity
- このイベントを発生させたエンティティ
EntityJoinWorldEvent
エンティティがワールドに加わった時に発生する
フィールド
- World world
- ワールドのインスタンス
PlaySoundAtEntityEvent
エンティティの位置で音声が再生される時に発生する
フィールド
- String name
- 再生される音声の名前
- float volume
- 音声のボリューム
- float pitch
- 音声のピッチ。例:動物の子供の鳴き声
ItemEvent
#EntityEventのサブクラス
サブクラスによってのみ発生する
フィールド
- EntityItem entityItem
- イベントに関連するEntityItem
ItemExpireEvent
EntityItemが寿命に達した時に発生する。このイベントをキャンセルすると、「アイテムの死亡済フラグがセットされワールドから消滅すること」を阻止できる。キャンセルによってエンティティの寿命が(extraLifeの分だけ)延びる
フィールド
- int extraLife
- イベントがキャンセルされた時にエンティティの寿命に追加される時間
ItemTossEvent
プレイヤーがインベントリからアイテムを捨てた(Qキーを押した、インベントリのGUIの外側にアイテムを落とした)時に発生する。このイベントをキャンセルすると、アイテムはワールドには現れないがインベントリ及びシステムからは消滅する
フィールド
- EntityPlayer entityPlayer
- アイテムを捨てたプレイヤー
LivingEvent
#EntityEventのサブクラス
ここに直接記載されないクラス: #PlayerEvent
サブクラスによってのみ発生する
フィールド
- EntityLiving entityLiving
- このイベントと関連付けられたエンティティ。同じオブジェクトがEntityEventのentityに入る
LivingAttackEvent
生きたエンティティが攻撃される時に発生する
フィールド
- DamageSource source
- ダメージの原因
- int amount
- 攻撃によって受けたダメージ
source.getEntity()は、攻撃元がエンティティならそのエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、攻撃を中止する
LivingDeathEvent
生きたエンティティのHPが0になる時に発生する
フィールド
- DamageSource source
- 死の一撃の原因
- int amount
- 攻撃によって受けるダメージ
source.getEntity()は、攻撃元がエンティティならそのエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、このエンティティは死なない
LivingDropsEvent
生きたエンティティが死に、アイテムをドロップする時に発生する
フィールド
- DamageSource source
- 死の原因
- ArrayList<EntityItem> drops
- エンティティがドロップするアイテムのリスト。追加および削除が可能
- int lootingLevel
- バニラではLooting(ドロップ増加)のエンチャントに反映される
- boolean recentlyHit
- エンティティが死亡前に攻撃されたかどうか
- int specialDropValue
- Lootingレベルで引かれる0~200のランダムな数値。バニラでは、レアドロップする場合5未満となる
source.getEntity()は、攻撃元がエンティティならエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、エンティティはアイテムをドロップしない
LivingFallEvent
エンティティが落下した時に発生する
フィールド
- float distance
- エンティティが落下した距離
LivingHurtEvent
エンティティが何らかの有効なDamageSourceによって攻撃される時に発生する。以下の原因を含む: 炎、溶岩、溺死、飢え、サボテンとの接触、落下 など。 全ての攻撃元はnet.minecraft.src.DamageSourceを参照
フィールド
- DamageSource source
- ダメージの原因(種類)
- int amount
- 負うダメージ
LivingSetAttackTargetEvent
LivingSpecialSpawnEvent
PlayerEvent
#LivingEventのサブクラス
フィールド
- EntityPlayer entityPlayer
- このイベントに紐付けられたプレイヤーエンティティ。同じオブジェクトがEntityLivingのentityLivingに入る
ArrowLooseEvent
ArrowNockEvent
AttackEntityEvent
プレイヤーが他のエンティティに攻撃する時に発生する
フィールド
- Entity target
- 攻撃されている対象のエンティティ
BonemealEvent
プレイヤーがブロックに対して骨粉を使用する時に発生する
フィールド
- World world
- このイベントに関連付けられたワールド
- int ID
- 関係を持ったブロックのID
- int X, Y, Z
- 関係を持ったブロックの座標
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、これ以上の処理を中断する
また、event.setResult(ALLOW)を呼び出すと、イベントが処理されたとマーク出来る。これによりプレイヤーは1つの骨粉を使用するが、それ以上何も処理しない。
EntityInteractEvent
他のエンティティと関係を持つ時に発生する
フィールド
- Entity target
- 関係を持ったエンティティ
EntityItemPickupEvent
プレイヤーが地面のEntityItemと接触する時に発生する
フィールド
- EntityItem item
- 拾われるアイテム
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、これ以上の処理を中断する
また、event.setResult(ALLOW)を呼び出すと、実績の処理やFMLのイベント、音声の再生と全てのアイテムが拾われた際のアイテムの消去を発生させられる(訳注:プレイヤーのインベントリにアイテムを追加しないっぽい)
FillBucketEvent
プレイヤーが手に持ったバケツを使用した時に発生する
フィールド
- ItemStack current
- 使用されたバケツのアイテム
- World world
- このイベントに関連付けられたワールド
- MovingObjectPosition target
- 関係を持ったブロックの位置
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、これ以上の処理を中断する
PlayerDestroyItemEvent
PlayerDropsEvent
#LivingDropsEventのサブクラス
プレイヤーが死亡した時に発生する
フィールド
- EntityPlayer entityPlayer
- 死亡したプレイヤー
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、ワールドへの全てのドロップを中断する
PlayerInteractEvent
プレイヤーが左クリックか右クリックでブロックや空気と関係を持つ時に発生する
フィールド
- Action action
- このイベントの動作の種類。RIGHT_CLICK_AIR、RIGHT_CLICK_BLOCK、LEFT_CLICK_BLOCKが入る
- int x, y, z
- このイベントに関連付けられたブロックの座標。actionの値がRIGHT_CLICK_AIRの時、0がセットされる
- int face
- このイベントに関連付けられたブロックの面。actionの値がRIGHT_CLICK_AIRの時、-1がセットされる。底面 = 0、上面 = 1、側面 = 2-5
- Result useBlock
- プレイヤーのイベントがブロックと関係を持つ時、DEFAULTがセットされる。actionの値がRIGHT_CLICK_AIRの時、DENYがセットされる
- Result useItem
- 常にDEFAULT
Resultの値はDENY、DEFAULT、ALLOW.
PlayerSleepInBedEvent
プレイヤーがベッドで寝ようとした時に発生する
フィールド
- EnumStatus result
- 試行の結果。値はOK、NOT_POSSIBLE_HERE、NOT_POSSIBLE_NOW、TOO_FAR_AWAY、OTHER_PROBLEM、NOT_SAFE
- int x, y, z
- 上部のブロックから取得した、ベッドの座標
UseHoeEvent
プレイヤーが鍬を使おうとした時に発生する
フィールド
- ItemStack current
- 使われたツールへの参照
- World world
- ワールドのインスタンス
- int x, y, z
- ブロックの座標
このイベントをevent.setCanceled(true)を呼び出してキャンセルすると、ブロックが耕されるのを中断する
また、resultにALLOWをセットすると、イベントが処理されたとマークし、鍬の耐久値を減らす
MinecartEvent
#EntityEventのサブクラス
フィールド
- EntityMinecart minecart
- このイベントに関連付けられたマインカートのエンティティ。同じオブジェクトがEntityEventのentityに入る
MinecartCollisionEvent
マインカートが他のエンティティと接触した時に発生する
フィールド
- Entity collider
- マインカートと接触したエンティティ
MinecartInteractEvent
プレイヤーが、右クリックによりマインカートに乗降した時に発生する
フィールド
- EntityPlayer player
- このイベントに関連付けられたプレイヤーのエンティティ
MinecartUpdateEvent
チャンクが読み込まれている間、毎tick発生する
フィールド
- int x, y, z
- マインカートの座標
WorldEvent
フィールド
- World world
- このイベントに関連付けられたワールド
ChunkEvent
フィールド
- Chunk chunk
- このイベントに関連付けられたチャンク
ChunkDataEvent
#ChunkEventのサブクラス
Terrainイベント
以下のイベントは、特記が無ければ#Eventを直接継承する
BiomeEvent
ChunkProviderEvent
DecorateBiomeEvent
InitMapGenEvent
InitNoiseGensEvent
#WorldEventのサブクラス
OreGenEvent
PopulateChunkEvent
#ChunkProviderEventのサブクラス
SaplingGrowTreeEvent
#WorldEventのサブクラス