Enum PlotPermission
What somebody who is not the owner may do on a plot.
[Flags]
public enum PlotPermission
Fields
Every permission that may be granted.
The mask unknown bits are cleaned against, so a client that invents a flag cannot store one and a permission removed in a later version stops meaning anything rather than silently becoming whatever now occupies its bit.
May pass through the plot's boundary and into the house.
May grant other players access.
Never lets a friend grant more than they hold themselves — see ClampGrant(PlotPermission, PlotPermission). Otherwise the weakest permission on the list is the only one that matters, because whoever holds it can hand themselves the rest.
No access at all. What a stranger has, and what a revoked friend goes back to.
May place structures and decorations.
May take structures and decorations away again.
Deliberately separate from PlaceItems, and the more dangerous of the two: removal is what destroys work, and what sends things to the owner's vault where they cost money to get back. A friend helping decorate needs one; only a trusted one needs both.
Remarks
Flags rather than a rank, because these are not ordered. Trusting a friend to redecorate is not a superset of trusting them to bring other people round, and a server that forced them onto one scale would make every grant a choice between too little and too much.
The owner is never represented here. Ownership is not a grant — it cannot be revoked by an access row, and a plot whose owner appeared in its own access list would be one bad delete away from a house its owner could not enter. PlotAccess answers for the owner separately.
Stored as an integer bitmask, so the values must not be renumbered.