Add non-player members
This is a draft pr because:
- It currently depends on an open pr #1866.
- It shouldn't use
CustomDomains. It should be done using an additional internalDomain. - It's just a quick and dirty implementation (using
CustomDomains) to demonstrate the idea.
However, feedback regarding the idea is welcome.
The idea: The nonplayer-protection-domains flag currently only works bidirectional. If two regions share a domain, non-players that are members of the first region can build in the second region and vice versa. This pr generalizes the nonplayer-protection-domains flag even more and makes it much more flexible and powerful. With this pr the nonplayer-protection-domains flag does nothing by its own. It's just used to setup the domains. This pr adds the abillity to add non-players (nonplayer-protection-domains) as members or owners to regions. (On a side note: With this feature it's even safe to let players setup their non-player members by themselves, since it only affects their own regions and not vice versa as described above. Though, the feature is probably too complicated for regular players.)
I have also implemented an example usecase as demonstration for the feature. If enabled, the regions.nonplayer-border-bypass-on-claim setting automatically adds claimed regions to a non-player protection domain (player uuid) and adds the domain as owner to the claim. As a result, if a player owns two claims next to each other, there is no border for non-player associables. (Of course owners must be aware that adding further player members to a single region is dangerous, because they can modify other regions too via non-player associables.)