Please read this thread first. So, I'm writing a Permissions plugin. Although, with this plugin permissions are changed depending on the area of the map you're in. Now I know you can use PermissionAttachment stuff and unset/set permissions. However, I don't want to have to do this every time a player moves (yuck). I only want to check the player location when .hasPermission is being called. So I thought of maybe overriding .hasPermission - but this doesn't seem healthy.. or is that OK? Can anyone suggest a way to override hasPermission without reflection? Is there an event called when .hasPermission is called? Or an alternative way to call my plugin's hasPermission? Any other suggestions on how to go about this? Thanks for your help.