I'm trying to determine when an enderman picks up a block.
I've looked into subscribing to the EntityEvent, LivingEvent, LivingUpdateEvent, BlockEvent, EntityMobGriefingEvent, and some others. I looked a little bit into the mapped source for the EndermanEntity, and I actually found what appear to be oversights that make this task that much harder if not impossible. First, the EntityMobGriefingEvent isn't fired at the right time, and instead it's fired much earlier than when a block is actually trying to be broken/placed. Even if it were fired at the right time, then it still wouldn't be able to distinguish between and enderman picking up or placing down a block. It seems like either a new event is needed or the TakeBlockGoal should post a LivingDestroyBlockEvent.
If anyone has any ideas on how to determine if the enderman picks up a block or not, please feel free to chime in.
Otherwise, I would like to modify the Minecraft Forge EndermanEntity file myself and would appreciate any direction on this topic.