提供: Minecraft Modding Wiki
2013年2月3日 (日) 05:55時点におけるAznhe21 (トーク | 投稿記録)による版 (interactの訳に迷ったの巻)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

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

WorldTypeEvent