WorldGuard Piston Fix
WorldGuard Piston Fix (WGPFix) attempts to prevent cross-region griefing for WorldGuard concerning pistons, optionally monitoring water and lava and growing trees etc.. With WGPFix cross-region changes are prevented, if the affected blocks belong to regions that have different owners+members. This is quite rigid, but allows pistons to affect different regions with exactly the same owners/members. It is possible to deny pistons affecting certain block types and also to limit the range of pistons (since 1.3.0).
Depends on WorldGuard, currently!
This does not differenciate between owners and members.
A little care is necessary with unowned regions that should override properties of overlapping owned regions - in this rare case you could add a non existing dummy-group as member or owner of the yet unowned region to make sure that there are no piston effects.
The plugin just checks the events concerning pistons retracting and extending, yet it is not exactly lightweight, for it will check the applicable WorldGuard regions for each involved block without using any caching.
The plugin is now configurable, and also allows for denying pistons affecting pre-defined block-ids (1.2.0 and above). Since 1.3.0 commands for blocking pistons and toggling monitoring have been added, as well as limiting the range of pistons. Since 1.4.0 you can also control the growth of structures (huge mushrooms and trees) with the same method as pistons are monitored.
Latest jar: WGPFix 2.0.0 - Configuration (+Commands, Permissions)
The source code for the different versions: Versions
pls update!!!!
@JackVanDyke
Might.
Please update for 1.9 <3
@Androkai
I didn't check yet what WG6 does...
The problem with the stuff WGPFix monitors (pistons, flow, grow), that you don't always have a "you", in terms of "who started it", but you do have the owners and members of the affected regions. Thus there certainly is a couple of variations for what to allow, e.g.:
How safe things are, depends on if/how safe adding/removing owners is. For instance WGPFix will pop the pistons that violate cross region constraints, which helps a lot against potential exploits. It's still thinkable to claim a region next to tze to-be-griefed region, and add the same owners + members as the other region (only oneself is extra) - then you build the griefing base (lava etc) and you remove your ownership, putting the griefing setup to work. That's actually a good reason to prevent any cross-region stuff, despite it being quite rigid. Not sure what can be done against it, other than preventing dropping ownership (other than by transfer through sales). Towns with container-region usually are ok i guess.
Some variations would be dangerous, e.g.:
@asofold
I not sure what to answer. I tested a lot with WorldGuard 6 but don't really understand it. Sometimes it's unlogical or simply buggy. I mean it's beta so this could be but I have problems understanding the logic of protection-system. In the meantime I bring the thing with the trees, liquid-flow and pistons working but it works different to WGPFix's logic of different members. I think it should stop actions about regionborders if you are NonMember/have no rights but like I sad before it's a little bit buggy, especially the flags.
@Androkai
Blocking pistons isn't the point of this plugin :p - WGPFix cool feature is to ALLOW cross-region stuff ONLY if owners+members match.
Sure the first thing people think about is blocking pistons from outside, but WGPFix does in addition enable you to use pistons across your grounds (and grow trees and fluids). Does WorldGuard do that too now, or does it just allow to block pistons fully?
@asofold
Ok ^^
In the last weeks I testet with WG6 which for example blocks pistons now so the only really missing feature is the blocking of spawning trees over the areaborders.
@Androkai
Oh :) - i have not yet had time to verify that, i think it would explode as of now. I will have a look into that too, however i have to adapt my whole plugin-eco-system to WorldGuard 6 then, which might or might not be a trivial task and could take a while. But i will start more testing on that soon.
Version 2.3.0 with WorldGuard 6 support?
@Androkai
WorldGuard 6 seems to change a couple of things, not sure i can work with that yet (might break lots of plugins). Eventuelly i will update to use that.
@asofold
Testet it with latest Dev-Build of WorldGuard and get this error: http://dev.bukkit.org/paste/10560/
@DosMike
Depends much on WorldGuard... could be that it's already compatible with WorldGuard future changes, because "same owners and members" would work the same way with uuids [Edit: strings...], however i am not sure what WorldGuard will look like internally.
nice plugin to "complete" a custom plot system that scans for plots and turns them into wg-regions... hope you'll update it to 1.8 as soon as it's ready ;)
@yannick_diepart
One could add a configuration option to confine further. I allow this, because it usually does not pose a threat to let players change the "wilderness" from their region as base.
Question is why do you need this? Do you have building denied in the global region?
If you need to deny building, in theory a workaround could be to set a container region that covers all the map with an owner like "$SERVER" and a priority of -1.
Hi, The only thing that's missing is maybe to prevent pistons of pushing blocs out of a region. For exemple, it would be fine if it prevents me of pushing bloxs from my zone to the global zone. Hope you'll read this message ;) Yannick
Yeah it works!
Thank you :)
@Tetdoss
2.2.0 pending approval - i hope this fixes it!
Hello I found a bug, we can spread water/lava outside WG region with a dispenser next to the border of the region.
Thanks for taking care of it.
how can i protect one piece of blocks?
@CHRONICALSde
I'll discuss on the pm thread :9.