Hamsandwich doesn't really work by entity class, but rather C++ class that entity is linked to.
As an example, if you hooked spawn on "info_target", you would also hook it for "info_player_start" and "info_player_deathmatch" (and possibly few more) as they are all linked to the
CPointEntity class.
https://mxr.alliedmods.net/hlsdk/sou...ls/cbase.h#388
https://mxr.alliedmods.net/hlsdk/sou...effects.cpp#32
https://mxr.alliedmods.net/hlsdk/sou...ls/subs.cpp#70
That also explains some confusion I've seen around this forums, there were a few topics asking about why some other entity's virtual functions were hooked when they didn't tell Hamsandwich to hook them.
Well, you can't use wildcards because of what I've said above. Hamsandwich doesn't make classname checks at run-time each time some virtual function is called, it just changes some function pointers around in virtual tables, and each C++ class has its own.