ProtectionStones
Anti-Griefing at it's Easiest!
Griefing Protection
ProtectionStones allows a player to place a special block, and this protects their area from griefing.
This small plugin was inspired by PreciousStones but only has the property protection blocks. This allows players to place one of three types of ore blocks to protect their property.
The player doesn't require any special permissions, they just need to get one of the three following ore blocks which you can give or sell in game using other plugins:
Coal Ore gives 11x11x11 protection area.
Lapis Ore gives 21x21x21 protection area.
Diamond Ore gives 41x41x41 protection area.
See the Configuration Page if you would like to change the block types, the dimensions or even set the Y-Axis to be from sky to bedrock, set group limiting, etc.
When the player places the block it creates a WorldGuard Region that gives the player ownership of that area and in turn grief protection. If the player breaks the ProtectionStone then they get the stone back and the region is removed from WorldGuard's Region List.
To install simply copy the ProtectionStones.jar file to your plugins folder, no configuration necessary. The following Ore Blocks are supported as the defaults: Coal Ore, Lapis Ore, Diamond Ore.
ProtectionStones Regions
ProtectionStones Creates WorldGuard Regions with the following naming convention:
ps{x-coordinate}x{y-coordinate}y{z-coordinate}z
i.e.
ps279x67y40z
The x, y, and z coordinates are the location of the placed ProtectionStone which is in the center of the WorldGuard Region it creates. If the Region.SKYBEDROCK Setting is set to "true" (see the Configuration Page) then Y-Axis of the ProtectionStone isn't necessarily the vertical center of the region.
Incompatible with PreciousStones
Both plugins act on the same kind of ore blocks and have the same command name of "/ps".
Requires WorldGuard
WorldGuard is used to create and remove regions when the blocks are placed, otherwise ProtectionStones won't do anything (set not to load if WorldGuard isn't found).
@Mayney365
As soon as I clean up the current code and find a proper place to upload it.
@funk1983
There really is no way of doing it as an enchantment until Mojang implements their API that allows Bukkit to do Client Side Mods, like SpoutAPI and It's Client does.
Please could I see the source code, I'm interested to see how this works.
Thanks :)
"would it be possible to have somesort if /ps enchant which enchants the stone for protection so that players cannot get them for free?"
That would be a nice addition, approved :)
@AxelDios
Amazing plugin, I have found a few bugs with permissions and i will post them in a ticket! Also, would it be possible to have somesort of /ps enchant which enchants the stone for protection so that players cannot get them for free(with a prrmission for different types so that all users can use the diamond block)?EDIT:instead of having region names as corrdinates why not have them as {playername}(region# of that player) Ex. Gv12221 for my first region or gv122210 for my 10th region
@nebenezer
Well, keep me posted otherwise if you don't mind another visit, I'll check it out "in-person".
I popped in the this morning but it was really early in the morning so you must have gone to sleep already.
Like I said I'll check it out ASAP next week.
@AxelDios
Yep I was going to set them in the file but haven't tried it yet.
I was able to /rg setparent for ps-466x64y1502z LOL
Lots of typing but it worked. Still got the yellow 'you are not in a region message', then set the parent region priority higher for no change.
Definitely looking forward to the future of Protection Stones :) Combined with successfully setting up LogBlock and XrayInformer it's been a pretty good couple days in AuthentiCity :P
@nebenezer
That could be due to WorldGuard Region Priority and Parent/Child Relationships.
For now you might want to try out changing those WorldGuard Region Settings for the regions in question and I'll look into it next week when I get a chance.
@funk1983
Thanks!
So I think I realized what we were doing wrong all along..
I think all the tests I did may have been inside WG regions. We found last night that an owner or member of a WG region can place a ps within their region and it protects its area like it should, but we can't execute any /ps commands for it. Outside WG regions they're flawless :)
Great plugin, a must have!
Before some of my code rewrite and next batch of updates I decided to release a small update.
ProtectionStones 1.6b
Changes:
Only owners and superowners can break a ProtectionStone (no more region members breaking the stones).
The View Command is no longer temporary, and now only semi-destructive. Permission protectionstones.view now changed to true. Players can only use the view command if they don't have any current view commands working (to block players from "spamming" the Bukkit Scheduler). Creates twelve temporary glass blocks, one set of four at your current "foot" level, and then eight at the corners of the region. All the blocks stay on screen for 30 seconds, then reset to what ever block was there before. But as a warning if you have a chest in one of those spots or other container the contents will be dumped out.
View's Glass Blocks are placed inside your region, this is to prevent players from purposely trying to break blocks on other players property.
And as a warning, if you hide a ProtectionStone, and then create a new one on the same spot, the old one will be lost, and the new one will create a new region.
@Royalgamer06
Correct, this plugin relies on WorldGuard for all it's protection, no WorldGuard no ProtectionStones.
@AxelDios
Great stuff, Thankyou very much :)
@Kwuality
I added the explosion handling you were looking for with some other options.
@AxelDios
1.7 will get a rewrite of some of the code to make it smaller.
Also I will add a dedicated check to protect the ProtectionStone from a member trying to break it, vs an owner. Since WorldGuard itself has no way to tell this block from any other in it's regions.
You can use the new "/ps hide" command or an another plugin to protect just the stone.
Also the View Command will finally get an update and be removed from it's temporary status.
And I'm looking for input on how people would like Alerts and Logging to work. So throw your two cents in, because this is a giant can of worms to add.
1.6 Has been uploaded and is awaiting approval.
Lots of new stuff and a minor change, please read the File Information when it is available.
@funk1983
I had a request for Explosion Detection with Region Removal.
So 1.6 is going to have Explosion Detection with Region Removal or Protection.
So while I'm testing that I've added a new hide and unhide feature, this would allow the owner to hide his stone so no one can break it. The unhide feature is really the current Fix Command, which will unhide or "fix" a missing stone.
As a note this is separate from the explosion features. So if you have active TNT, etc on your server you would need to set Explosion.DETECTION to "protect", and then while the owner is in their region use "/ps hide" to hide their ProtectionStone, this will be in 1.6.
@nebenezer
ProtectionStones doesn't handle any of the protection, WorldGuard does, so any distinctions made between owners and members of a region are completely controlled by WorldGuard.
1.6 allows for owners to be shown, added and removed (by owners or ops with a new superowner permission).
Well, I don't know what I was doing wrong, or what I might have accidentally fixed but /ps is working as it should :/
Thank you Axel.
Funk makes a great point, unfortunately. I immediately wonder if you couldn't implement something like WG's owner/member distinction.