このページは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のサブクラス