Hello,
I am attempting to cancel the arm swing animation when an item is used on a block, in the air, and on an entity. Currently, I am successful for all of these except for when the item is used on a block.
I was following the post her, however I suspect it is out of date.
@SubscribeEvent
public static void onEntity(final PlayerInteractEvent.EntityInteract event) {
PlayerEntity entity = event.getPlayer();
if(!event.getWorld().isRemote || event.getHand() != Hand.MAIN_HAND)
return;
if(entity.getHeldItem(event.getHand()).getItem() instanceof SpellBook){
System.out.println("Cancelling");
event.setCanceled(true);
ObfuscationReflectionHelper.setPrivateValue(FirstPersonRenderer.class, minecraft.getFirstPersonRenderer(), 1f, MappingUtil.getEquippedProgressMainhand());
}
}
I repeat the above code for the following events (some of them are covered by others, I realize):
PlayerInteractEvent.EntityInteract
PlayerInteractEvent.RightClickBlock
PlayerInteractEvent.RightClickItem
PlayerInteractEvent
Do I need to cancel other events? Am I setting the wrong value?
Thank you!