ID:260881
 
I have a suggestion. It may be stupid, I don't know, but here it is.

You know what invisibility and see_invisible is. But it doesn't really help for "selective invisibility" where certain people can see some things and other people can't. Like a navigator class that can see ocean currents but not gold ore, and a miner class that can see gold ore but not ocean currents.

Well my idea is an atom var called dimensions and a mob var called see_dimensions. Both are lists, by default they contain 0, for dimension 0, the default dimension.

With "dimensions" you add what dimension(s) the object exists in and if a mob has that dimension listed in see_dimensions it will show on their map.

Certain mobs could see multiple dimensions like see_dimensions=list(0,1,5,13) and objects could also exist in multiple dimensions like dimensions=list(0,4,6)

Well that's it.
This topic has been widely discussed in the past with many different ways of implementation offered, mostly involving bit flags and the like. I really like your approach to it though. Go to that link Leur gave you and make a suggestion.
In response to Metamorphman
There is already a feature request for this, and it has multiple duplicates.