Well, this one’s easy.[quote=“Minghao_Liu, post:1, topic:15963”] .get()
[/quote]
A call to .get() with no value present throws NoSuchElementException. There is nothing in the hand, so no value is present.
As for calling it twice, this will fire both InteractBlockEvent.Secondary.MainHand and InteractBlockEvent.Secondary.OffHand, which both subclass HandInteractEvent. If you only care about the main hand, listen to `InteractBlockEvent.Secondary.MainHand’. For the four-times one, you may be holding right-click too long.