My idea is to Privatize/Hide/restrict access to raw block actions methods and create wrappers with REQUIRED(it is very important!!) REAL PLAYER NICKNAME(id?, maybe, normally PlayerEntity) parameter, who is responsible for this actions. And add block break/place/replace events in this wrappers with "cancelable" option.
Add required "OWNER" property to all TileEntities(maybe to all Entities) and to save it - real player nickname(id?).
It improves anti-griffing tools and world logging for admins. You will ALWAYS know all actions with every block(with logging mods).
Normally, need to create ONE master account for blocks and entities, which are generated by server(which are not affected by player) - npc villages, monsters, etc...
Usage examples:
ComputerCraft turtle will remember their owner and destroy/place blocks with owner's name.
RedPower, Applied Energetics (and other) block breakers/block deployers will break/place block with their owner's name.
IndustrialCraft 2 Miner...
IndustrialCraft 2 Laser... it generate small laser entities, which destroy blocks, with this modifications, this entity will have owner's nickname and affect blocks with this name.
RedPower, Redstone in Motion frame engines can save owner's nickname and generate block break/place events with this name...
GregTech,IC2,RP2 pumps...
IC2 nuclear reactor(on explosion), itnt, dynamite
TNT !!!
GraviSuite Vajra should be to add player's name parameter to its custom block breaking implementation on right mouse click...
Maybe, add new property to creepers/ender dragon(and other monsters, who can grif) which will be save nickname of player, who trigger mob action.
Nowadays, all modders create their custom implementations of this features. (block breaking/deploying actions, Forestry block privatization system)
P.S. Why do you always create modifications and hooks only(maybe I'm wrong) for single player? For me, multiplayer(10+ players) servers are very popular and, i think, forge developers could help admins of this servers...
P.S. I'm an admin of server with mods, who is tired of looking for reasons of griffing.
P.S. Sorry for my English