提供: 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[編集]