※重要※ ただの備忘録として記録するので細かい説明は省きます。
@EventHandler
public void PlayerInteract(PlayerInteractEvent event){
System.out.println(event.getHand());
}
実行結果
(ブロックを右クリック)
結論としてはメインハンドとオフハンドのインタラクトが同時に発火してるのが原因です。
JavaDocをちゃんと読めと言う話ですね、この問題に引っかかった人は怠惰を認めましょう。(ブーメラン)
解決方法
@EventHandler
public void PlayerInteract(PlayerInteractEvent event){
if(event.getHand() == EquipmentSlot.HAND){
//メインハンドのみの処理
}
}
isHandとかいうメソッドもあるみたいだけど、これはメインハンドとオフハンドどっちもtrueにしちゃうっぽいね。
ややこしすぎるだろ。。。