[Suggestion] Better integration of WorldGuard regions
Summary
New conditions to detect a WorldGuard region more precisely and conveniently.
Usage
For now there's only two conditions "NotInRegion" and "Region" is associated with WorldGuard regions, and both of them only detect the name of the region, which can be a huge trouble for servers that use lots of regions (for example, the ProtectionStone plugin, a WG addon, creates regions with their names based on the location that placed the prtection stone, which can create really lots of regions with different, unpredictable names).
Value
Makes the region condition more flexible and useful, and help mob or skill designers to make them more respectful to regions. (Example: check if a caster is in a region with block-break "true" to determine whether a skill cast by it should break blocks)
Priority
Medium.
Implementation
- RegionFlag
example: - regionflag{flag=pvp,value=deny}
Checks if the target is in regions that have certain flags. The "value" attribute can be "allow", "deny" or "none". I know there's another issue #690 that has described this, too, but since there's a long time without more information or reply about it, please allow me to remention it.
- RegionTemplate
example: - regiontemplate{name=someregiontemplate}
Checks if the target is in regions based on a certain template region. More information about template region: https://worldguard.enginehub.org/en/latest/regions/priorities/#template-regions.
- RegionOwner
example: - regionowner{owner=SomeOwnerName,member=SomeMemberName}
Checks if the target is in regions that have certain owner or member names.
- RegionPriority
example: - regionpriority{priority=10}
Checks if the target is in regions that have certain priority.
- RegionAmount
example: - regionamount{amount=3,countglobal=false}
Checks how many regions are the target now within. The "countglobal" attribute decides whether global regions (usually "__global__") should be counted.