(→CommandEvent) |
|||
1行目: | 1行目: | ||
− | [http://www.minecraftforge.net/wiki/Forge_Events | + | このページは[http://www.minecraftforge.net/wiki/ Minecraft Forge Wiki]の[http://www.minecraftforge.net/wiki/Forge_Events Forge Events]の訳です。 |
= Forge Events = | = Forge Events = | ||
− | + | 新しいForge Event Bus systemは、すべてイベントによって構成される。このイベントシステムの使い方は[http://www.minecraftforum.net/topic/1419836-131-forge-4x-events-howto/ AtomicStryker's guide on How To Use ForgeEvents]で紹介されている | |
− | |||
− | + | @ForgeSubscribe アノテーションはメソッドをイベントシステムに関連付け、そのメソッドが受け取るパラメータ(引数)は何のイベントを受け取るかを決定する | |
− | |||
− | + | スーパークラス(継承元のクラス)のパラメーターは、さらにサブクラス(継承したクラス)のイベントの全てを受け取る。以下は、現在利用可能なイベントのリストである | |
− | |||
− | + | 但し、全てのサブクラスは当然スーパークラスのプロパティを参照することが出来るので、ここではサブクラスのフィールドについては触れない。 | |
− | |||
+ | === Version === | ||
+ | このイベントリストは現在Minecraft Forge 4.0.0 build 200に基づいている | ||
− | + | == CommandEvent == | |
− | + | コマンドが送信されたときに発生する | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''フィールド''' | |
− | |||
− | |||
− | |||
− | |||
− | ''' | ||
;ICommand command | ;ICommand command | ||
− | : | + | :送信されたコマンド。つまり、マインクラフトのチャットで/のあとに入力された、あるいはコンソールで入力された最初の単語 |
;ICommandSender sender | ;ICommandSender sender | ||
− | : | + | :コマンドの送信者 |
;String[] parameters | ;String[] parameters | ||
− | : | + | :コマンドと一緒に送信されたパラメーター。つまり、スペースによって区切られた単語 |
;Throwable exception | ;Throwable exception | ||
− | : | + | :イベントがキャンセルされたときに投げられる例外 |
− | + | ||
+ | == EntityEvent == | ||
+ | すべてのエンティティに関するイベントのスーパークラス。サブクラスによってのみ発生する | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;Entity entity | ||
+ | :このイベントを起こしたエンティティ | ||
+ | |||
+ | === PlaySoundAtEntityEvent === | ||
+ | エンティティの位置で音が再生されたときに発生する | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;String name | ||
+ | :再生された音の名前 | ||
+ | ;float volume | ||
+ | :音のボリューム | ||
+ | ;float pitch | ||
+ | :音のピッチ。例えば、動物の子供の音など | ||
+ | |||
+ | == LivingEvent == | ||
+ | [[#EntityEvent]]のサブクラス<br> | ||
+ | 他のサブクラスは以下のものには直にリストされない: [[#PlayerEvent]]<br> | ||
+ | サブクラスによって送出される | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;EntityLiving entityLiving | ||
+ | :このイベントと関連付けられたエンティティ。同じオブジェクトがEntityEventのentityに入る | ||
+ | |||
+ | === LivingAttackEvent === | ||
+ | LivingEntityが攻撃されるときに発生する | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;DamageSource source | ||
+ | :ダメージを与えた原因 | ||
+ | ;int amount | ||
+ | :攻撃によって受けたダメージ | ||
+ | |||
+ | source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す<br> | ||
+ | このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、攻撃を中止できる | ||
+ | |||
+ | === LivingDeathEvent === | ||
+ | LivingEntityのHPが0になるときに発生する | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;DamageSource source | ||
+ | :死の一撃となった原因 | ||
+ | ;int amount | ||
+ | :攻撃によって受けたダメージ | ||
+ | |||
+ | source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す<br> | ||
+ | このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、エンティティを殺さない | ||
+ | |||
+ | === LivingDropsEvent === | ||
+ | LivingEntityが死に、アイテムをドロップするときに発生する | ||
+ | |||
+ | '''フィールド''' | ||
+ | ;DamageSource source | ||
+ | :死の原因 | ||
+ | ;ArrayList<EntityItem> drops | ||
+ | :エンティティがドロップするアイテムのリスト。追加および削除が可能 | ||
+ | ;int lootingLevel | ||
+ | :バニラではLooting(ドロップ増加)のエンチャントに反映される | ||
+ | ;boolean recentlyHit | ||
+ | :エンティティがこの死以前にヒットされたかどうか | ||
+ | ;int specialDropValue | ||
+ | :lootingレベルで引かれる0~200のランダムな数値。バニラではレアドロップのために5以下でなければならない | ||
+ | |||
+ | source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す<br> | ||
+ | このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、エンティティはアイテムをドロップしない | ||
+ | |||
+ | === LivingFallEvent === | ||
+ | === LivingHurtEvent === | ||
+ | === LivingSetAttackTargetEvent === | ||
+ | === LivingSpecialSpawnEvent === | ||
+ | |||
+ | == PlayerEvent == | ||
+ | [[#LivingEvent]]のサブクラス | ||
+ | |||
+ | === ArrowLooseEvent === | ||
+ | === AttackEntityEvent === | ||
+ | === BonemealEvent === | ||
+ | === EntityInteractEvent === | ||
+ | === EntityItemPickupEvent === | ||
+ | === FillBucketEvent === | ||
+ | === PlayerDestroyItemEvent === | ||
+ | === PlayerSleepInBedEvent === | ||
+ | === UseHoeEvent === | ||
+ | |||
+ | == MinecartEvent == | ||
+ | [[#EntityEvent]]のサブクラス | ||
+ | |||
+ | === MinecartCollisionEvent === | ||
+ | === MinecartInteractEvent === | ||
+ | === MinecartUpdateEvent === | ||
+ | |||
+ | == WorldEvent == | ||
− | + | === ChunkEvent === | |
+ | === ChunkDataEvent === | ||
+ | [[#ChunkEvent]]のサブクラス |
2012年10月21日 (日) 09:16時点における版
このページはMinecraft Forge WikiのForge Eventsの訳です。
目次
Forge Events
新しいForge Event Bus systemは、すべてイベントによって構成される。このイベントシステムの使い方はAtomicStryker's guide on How To Use ForgeEventsで紹介されている
@ForgeSubscribe アノテーションはメソッドをイベントシステムに関連付け、そのメソッドが受け取るパラメータ(引数)は何のイベントを受け取るかを決定する
スーパークラス(継承元のクラス)のパラメーターは、さらにサブクラス(継承したクラス)のイベントの全てを受け取る。以下は、現在利用可能なイベントのリストである
但し、全てのサブクラスは当然スーパークラスのプロパティを参照することが出来るので、ここではサブクラスのフィールドについては触れない。
Version
このイベントリストは現在Minecraft Forge 4.0.0 build 200に基づいている
CommandEvent
コマンドが送信されたときに発生する
フィールド
- ICommand command
- 送信されたコマンド。つまり、マインクラフトのチャットで/のあとに入力された、あるいはコンソールで入力された最初の単語
- ICommandSender sender
- コマンドの送信者
- String[] parameters
- コマンドと一緒に送信されたパラメーター。つまり、スペースによって区切られた単語
- Throwable exception
- イベントがキャンセルされたときに投げられる例外
EntityEvent
すべてのエンティティに関するイベントのスーパークラス。サブクラスによってのみ発生する
フィールド
- Entity entity
- このイベントを起こしたエンティティ
PlaySoundAtEntityEvent
エンティティの位置で音が再生されたときに発生する
フィールド
- String name
- 再生された音の名前
- float volume
- 音のボリューム
- float pitch
- 音のピッチ。例えば、動物の子供の音など
LivingEvent
#EntityEventのサブクラス
他のサブクラスは以下のものには直にリストされない: #PlayerEvent
サブクラスによって送出される
フィールド
- EntityLiving entityLiving
- このイベントと関連付けられたエンティティ。同じオブジェクトがEntityEventのentityに入る
LivingAttackEvent
LivingEntityが攻撃されるときに発生する
フィールド
- DamageSource source
- ダメージを与えた原因
- int amount
- 攻撃によって受けたダメージ
source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、攻撃を中止できる
LivingDeathEvent
LivingEntityのHPが0になるときに発生する
フィールド
- DamageSource source
- 死の一撃となった原因
- int amount
- 攻撃によって受けたダメージ
source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、エンティティを殺さない
LivingDropsEvent
LivingEntityが死に、アイテムをドロップするときに発生する
フィールド
- DamageSource source
- 死の原因
- ArrayList<EntityItem> drops
- エンティティがドロップするアイテムのリスト。追加および削除が可能
- int lootingLevel
- バニラではLooting(ドロップ増加)のエンチャントに反映される
- boolean recentlyHit
- エンティティがこの死以前にヒットされたかどうか
- int specialDropValue
- lootingレベルで引かれる0~200のランダムな数値。バニラではレアドロップのために5以下でなければならない
source.getEntity()は、攻撃原因がエンティティならエンティティを、そうでないならnullを返す
このイベントをevent.setCanceled(true)を呼び出してキャンセルすれば、エンティティはアイテムをドロップしない
LivingFallEvent
LivingHurtEvent
LivingSetAttackTargetEvent
LivingSpecialSpawnEvent
PlayerEvent
#LivingEventのサブクラス
ArrowLooseEvent
AttackEntityEvent
BonemealEvent
EntityInteractEvent
EntityItemPickupEvent
FillBucketEvent
PlayerDestroyItemEvent
PlayerSleepInBedEvent
UseHoeEvent
MinecartEvent
#EntityEventのサブクラス
MinecartCollisionEvent
MinecartInteractEvent
MinecartUpdateEvent
WorldEvent
ChunkEvent
ChunkDataEvent
#ChunkEventのサブクラス