- Logic should now be easier to follow
- Less code duplication
- The fire-spread flag, the fire.disable-all-fire-spread and the
stop/allowfire commands now do the same thing.
- The "High frequency flag" setting is now enforced consistently on all
parts of the fire-spread flag, not just half of it.
Problem:
This feature breaks the consistency of Bukkit's BlockFadeEvent.
Resolution 1:
Emit BlockFadeEvent before removing.
- This might break plugins if they don't expect fire to disappear the way WG removes it.
Resolution 2:
Remove the additional dousing.
- Fire still spreads around a bit (probably due to a bukkit bug), but does
not destroy anything.
I picked resolution 2.
Rationale: Occam's razor.
Fixed ProtectedCuboidRegion::getPoints() returning points in wrong order
Fixes com.sk89q.worldguard.protection.regions.RegionIntersectTest.testIntersection.
ProtectedPolygonRegion returns points in an order such that you could play "connect the dots" and end up with the correct polygon. ProtectedCuboidRegion returns them in an order such that playing connect the dots gives you a Z shape. This breaks the intersectsEdges() function in ProtectedRegion when comparing cuboids. This commit causes ProtectedCuboidRegion::getPoints() to return them in an order consistent with ProtectedPolygonRegion, which makes intersectsEdges() work correctly.
Specifically, "-w <world>" will no longer be added when using it.
This requires WorldEdit with commit cd5f832 or newer.
Additionally fixed a typo: DefaultDomain.removaAll -> removeAll.
region.flag.own/member/etc was region.flag.regions.own/member/etc
This shouldn't be changed in between, especially if we maintain compatibility with the other flag node (flag.flags).
- Allow setting flags on the global region (bugfix)
- Don't throw permissions errors when listing available flags (bugfix)
- Info command defaults to global region if no others are present (enhancement)
- A few typo and spacing fixes (enhancement)