提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
=Eventについて=
 
=Eventについて=
EventはMinecraft 1.3以降にMinecraftForgeに追加された, 従来のハンドラに代わるフックの仕組みである. 機能的にはBukkitのEventシステムとほぼ同じである。
+
<p>
 +
 EventはMinecraft 1.3以降にMinecraftForgeに追加された, 従来のハンドラに代わるフックの仕組みである. 機能的にはBukkitのEventシステムとほぼ同じである.
 +
Cancelableなイベントは'''イベントの処理のみ行い, 通常の処理はキャンセルできる'''ものである. HasResultなイベントは'''イベントの処理が成功かどうかの情報が必要'''ということである.
 +
</p>
 +
==Playerに関するイベント==
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15% rowspan="2"|イベント名
 +
|'''ArrowLooseEvent'''
 +
|-
 +
|'''ArrowNockEvent'''
 +
|-
 +
!フックのタイミング
 +
|弓を右クリックしたとき(NockEvent)と矢を発射するとき(LooseEvent)
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|追加した矢をバニラの弓で撃たせたいときに実装する必要がある
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''AttackEntityEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーが他のEntityを攻撃したとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''BonemealEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーが骨粉をブロックに対し右クリックしたとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
|○
 +
|-
 +
!補足
 +
|処理成功時にsetResult(ALLOW)するとスタック数が減る
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''EntityInteractEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーが他のEntityを右クリックしたとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''EntityItemPickupEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーがEntityItem(ドロップ状態のアイテム)を拾ったとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
|○
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''FillBucketEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーが空のバケツでブロックを右クリックしたとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
|○
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''PlayerDestroyItemEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーが現在持っているアイテムのスタック数が0になったとき
 +
|-
 +
!Cancelable
 +
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|ツールだけでなくアイテムやブロックのスタック数が0になったときも呼ばれる
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''PlayerDropsEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーがアイテムをドロップしたとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15% rowspan="2"|イベント名
 +
|'''PlayerEvent.HarvestCheck'''
 +
|-
 +
|'''PlayerEvent.BreakSpeed'''
 +
|-
 +
!rowspan="2"|フックのタイミング
 +
|プレイヤーがツールでブロックを右クリックしたとき
 +
|-
 +
|プレイヤーがツールでブロックを破壊しているとき
 +
|-
 +
!Cancelable
 +
|(BreakSpeedのみ)○
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|BreakSpeedはcancelable
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''PlayerInteractEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーがブロックを左クリック/右クリックしたとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''PlayerSleepInBedEvent'''
 +
|-
 +
!フックのタイミング
 +
|プレイヤーがベッドで寝たとき
 +
|-
 +
!Cancelable
 +
 +
|-
 +
!SetResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''UseHoeEvent'''
 +
|-
 +
!フックのタイミング
 +
|クワで土/草ブロックを耕したとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!SetResult
 +
|○
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
==EntityLivingに関するイベント==
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''LivingAttackEvent'''
 +
|-
 +
!フックのタイミング
 +
|EntityLivingが'''攻撃を受けた'''とき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|名前と機能がわかりづらい
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''LivingDeathEvent'''
 +
|-
 +
!フックのタイミング
 +
|EntityLivingが死亡したとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''LivingDropsEvent'''
 +
|-
 +
!フックのタイミング
 +
|EntityLivingが死んで, アイテムをドロップするとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|
 +
|}
  
==アノテーション==
 
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
!width=15%|アノテーション名
+
!width=15% rowspan="2"|イベント名
|'''SubscribeEvent'''
+
|'''LivingEvent.LivingUpdateEvent'''
 +
|-
 +
|'''LivingEvent.LivingJumpEvent'''
 +
|-
 +
!rowspan="2"|フックのタイミング
 +
|EntityLivingのonUpdate
 +
|-
 +
|EntityLivingがジャンプしたとき
 +
|-
 +
!Cancelable
 +
|(LivingUpdateEventのみ)○
 
|-
 
|-
!概要
+
!HasResult
|フックさせたいメソッドに付与するアノテーション
+
|×
 
|-
 
|-
 
!補足
 
!補足
15行目: 289行目:
  
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
!width=15%|アノテーション名
+
!width=15%|イベント名
|'''EventPriority'''
+
|'''LivingFallEvent'''
 +
|-
 +
!フックのタイミング
 +
|EntityLivingが落下したとき
 +
|-
 +
!Cancelable
 +
|○
 +
|-
 +
!HasResult
 +
 +
|-
 +
!補足
 +
|ジャンプ後の落下も含む
 +
|}
 +
 
 +
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 +
!width=15%|イベント名
 +
|'''LivingHurtEvent'''
 +
|-
 +
!フックのタイミング
 +
|EntityLivingがダメージを受けたとき
 +
|-
 +
!Cancelable
 +
|○
 
|-
 
|-
!概要
+
!HasResult
|フックさせたいメソッドの優先度を決めるアノテーション
+
|×
 
|-
 
|-
 
!補足
 
!補足
|SubscribeEventのデフォルトではNORMAL
+
|LivingAttackEventと異なり, 落下, 水没, 炎など全てのダメージソースで呼ばれる
 
|}
 
|}
  
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
!width=15%|アノテーション名
+
!width=15%|イベント名
|'''Cancelable'''
+
|'''LivingSetAttackTargetEvent'''
 
|-
 
|-
!概要
+
!フックのタイミング
|イベントの処理だけ実行し, 通常の処理がキャンセル可能であることを示すアノテーション
+
|EntityLivingが他のEntityLivingをターゲットしたとき
 +
|-
 +
!Cancelable
 +
 +
|-
 +
!HasResult
 +
 
|-
 
|-
 
!補足
 
!補足
|通常の処理をキャンセルするときはsetCanceled(true)とすればよい
+
|
 
|}
 
|}
  
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
 
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " width=100%
!width=15%|アノテーション名
+
!width=15% rowspan="2"|イベント名
|'''HasResult'''
+
|'''LivingSpawnEvent.CheckSpawn'''
 +
|-
 +
|'''LivingSpawnEvent.SpecialSpawn'''
 +
|-
 +
!rowspan="2"|フックのタイミング
 +
|EntityLivingのスポーンチェック時
 +
|-
 +
|特殊なMobがスポーンするとき
 +
|-
 +
!rowspan="2"|Cancelable
 +
 +
|-
 +
|○
 +
|-
 +
!rowspan="2"|HasResult
 +
|○
 
|-
 
|-
!概要
+
|×
|通常の処理の成功判定に介入できることを示すアノテーション。
 
 
|-
 
|-
 
!補足
 
!補足
|成功時にsetResult(ALLOW)するなど
+
|
 
|}
 
|}
 +
 +
==EntityItemに関するイベント==
 +
 +
==Minecartに関するイベント==
 +
 +
==地形生成に関するイベント==
 +
 +
==ワールドに関するイベント==

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)