Protection Fields
DOWNLOAD LINK AT BOTTOM OF THE PAGE
How to install (Nothing special)
This plugin allows users to create fields that will protect their land provided they keep placing items in the chest. The shield will continually consume items from the chest/trapchest as power. If the shield doesn't have any power the shield will not protect your land.
Protection
Fields protect against people teleporting inside without permission.
Fields protect against outsiders being able to open chests. (People are able to bypass the Field's blocker with hacks.)
Fields can protect against liquid griefing.
Fields can protect against TNT and Creeper explosions.
Fields DOES NOT YET protect against gravel and sand greif.
The following distances are customisable in the config.yml.
- Iron gives a radius of 9 blocks with 2 extra for glass
- Gold gives a radius of 14 blocks with 2 extra for glass
- Diamond gives a radius of 26 blocks with 2 extra for glass
- Emerald gives a radius of 54 blocks with 2 extra for glass
For the creation and the usage of ProtectionFields, no permission nodes are needed.
Permissions
Permissions
- Fields.* - Fields.whitelisted - Fields.cantCreate - Fields.exemptFromMaxLimit - Fields.exemptFromHomeLimit - Fields.canTogglePassthrough - Fields.canDisplayAll
Permission Description
* //Gives all the commands. The player is treated as an admin and can destroy and build where ever they want. They can also edit other's fields. whitelisted //Puts the users invisibly on the whitelist cantCreate //Prevents a user from making a Field exemptFromMaxLimit //Allows to player to make as many Fields as they want, regardless of what the config.yml has set the max too. canTogglePassthrough //Allows a player to change if the Field should block outsiders from entering, regardless of if the config.yml is preventing players from changing the setting. canDisplayAll //Allows a player to display their whole Field in it's entirety. This is disabled by default since it can cause some lag; Players have the alternative of using /pf display instead of /pf displayAll.
Detailed Creation
ProtectionFields can be created with 5 blocks of either Iron, Gold, Emerald or Diamond.
Field.cantCreate will prevent the user from being able to create the Fields.
Below you can see the different types of Field. The glowing effect on the bottom Fields shows that they are powered.
This is how you create and fuel a Field. Different items have different burn times.
Commands
The main root for commands are
/pf, /protectionfields, /protectionfield, /fields and /field
Player Commands
There are a *lot* more commands than are shown here. Please see the bottom of the config.yml to view them all.
/pf add <playername>
Adds a player to the nearest field.
Note: Only the Owner of the field and Whitelisters can use this.
/pf remove <playername>
Removes a player from the nearest field.
Note: Only the Owner of the field and Whitelisters can use this.
/pf info
Shows the Owner, all the people who have access and the distance to the NEAREST Field.
Admin Commands
/pf whitelist
Lists all the players currently on the whitelist
Note: Whitelist resets upon reload. Note: Whitelist allows a person access to all Fields as their owner.
/pf whitelistadd <playername>
Adds a new player to the whitelist.
Note: Only OPs and people with -Fields.whitelisted can use this command
/pf whitelistremove <playername>
Removes a player from the whitelist.
Note: Only OPs and people with -Fields.whitelisted can use this command
Different Languages
More languages to come. Click the flags to download the specific language packs.
- Download the file
- Unzip the file
- Copy ProtectionFields_Language.txt
- Paste in \plugins\ProtectionFields\
In Progress
- Prepare plugin for 1.13
- Investigate and fix Languages file
- Reduce cpu usage
- Fix bug where other people can get suck inside Field upon creation
- Changable Field fuel consumption in Config file
- Add Fuel whitelist and blacklist
- Add "minimum field creation distance" config option
- Allow the creation of Cubic Fields
- Make Field blocks invisible to other players
- Make videos on how to setup Protection Fields
- Make 1.13 version backwards compatible
- Add a separate permission to use each field type as Fields.[Block] (ex. Fields.coal_block, Fields.gold_block). For use level/rank systems on the server.
- Add plugin to spigotmc.org
To Do
- Prevent sand and gravel greif
- Make water greif protection slightly less unholy
- Add config options for each world.
- Make whitelist persistent so that it stays after reloads
- Make Personal Player Whitelists
- Make possible to add a whole alliance to the shield
- Add option to teleport to other Fields like shops.
Auto-Updating version- Add integration with other protection plugins (Worldguard)
- Allow field painting
Done
- Removing a player from your field moves them outside of the field
- Anyone without permission to enter your field will be teleported back outside (Swimming under water/Hacker/Lag inside)
- New .yaml options Performance Mode replaces all the glass with an invisible block. This should be easier on people's GPU.
- Config option for allowing or disallowing Dropper and Hoppers to fill the center chest
- Field drawing bugfix, possible Worldguard compatability fix
- Added config file for changing the shield creation materials
- Removed this idea. Allow people with access to be able to cut through the glass field if it is up
- Made Field display itself to members who are close by.
- Made a French language pack.
- Fixed bug with Fields not displaying properly after a backup was created
- Add possibility to add multiple languages
- Add config file for changing the shield material distances
- Add config file for changing the power provided by consumed items
- Add command to display shield borders
- Add editable limit for max number of shields per player
- Add infinite power source item, maybe dragon egg
- Make ores/ingots last longer than normal materials along with customisable materials table
- Make glass colour customisable
- Added custom field colours
- Added animated field colours
- Allows the disabling of colour changing and the setting of default colours in config.
- Fixed bug involving multiple worlds and explosions
- Added legacy support to automatically update previous field .dat files
- Made the distance of different block types configurable
- Added automatic config.yml replacer (Custom YML stuff moved to .old file. You will need to manually transfer the config data over.)
- Added scheduled field save feature and made it's duration changeable
- Added a feature to display some of the code's runtime to the console /pf consoleStats
- Added a feature to allow the user to see how long items and stacks burn for. /pf burnTime
- Added MANY variants to the same plugin commands to make things easier for people. (e.g. /pf color and /pf colour)
- Added a configurable limit to the number of fields players can be the owner of.
- Added a way for players to view the full boundaries the shields protects. This privilege can be revoked through permissions.
- Added a way for players to view the boundaries in only a small area around the player. This is for low lag.
- Added a configurable list of blocks that the field's boundaries can replace.
- Added a list of blocks that will provide the field with unlimited power.
- Added the ability to set the default amount of time an item burns for.
- Added the ability to set the time any specific item burns for.
- Added permission nodes to config.yml for convenience.
- Added command to allow outsiders to pass through your field. /pf toggleOutsiderPassthrough
- Added yml setting to set outsider passthrough default value.
- Added permission node for toggling passthrough
- Fixed bug where players warping in would warp into the air regardless of if passthrough was set to true or not.
- Added a list of permission nodes and commands to the end of the plugin.yml
- Added permission node to allow displaying of whole field - Fields.canDisplayAll
- Added small integration with Holographic Displays
- Added config option to disable or enabled the HolographicDisplays plugin integration.
- Fixed a bug where all Field members except owners would be kicked from the Field on reload.
- Added config option to change the Check Boarder Radius that blocks players from entering the Field.
- Fixed a bug where the incorrect Field material would be shown in /pf info when using uncoloured glass.
- Fixed a bug where ender pearls could be used to teleport inside the field. (I thought this wasn't possible)
- Updated to 1.9
- Removed a few deprecated method calls
- Made all fields saved on creation. This will hopefully prevent field structures existing without their functionality due to server crashes.
- Fixed bug where when server ran too fast my code wouldn't display text to say a player had entered a field zone
- Add option to teleport to your home Field.
- Re-design logo.
- Fields now understands that glowing redstone (id 73) and redstone (id 74) are the same type of block.
Soft Requirements
None of the following plugins are required. But ProtectionFields will integrate with them if they are there.
Hi i need some help.. When i try to use this command "/pf whitelist add user" the console sends me a msg "you don't have permission to use this command" what is the permissions node? SVR Version 1.8
PD: i tryed to edit config file and insert this line
" - BlockID: 73 #RedStone Ore
Radius: 28 "
Doesnt work.. but the other lines edited work fine.
This is the lines.
Structure materials and radius:
- BlockID: 16 #Coal_ORE
Radius: 11
- BlockID: 21 #Lapiz Lazuli ore
Radius: 16
- BlockID: 73 #RedStone Ore
Radius: 28
- BlockID: 56 #Diamond ore
Radius: 35
- BlockID: 129 #Esmeralda ore
Radius: 56
TY :D
In reply to Aces:
The anybody added to the whitelist is removed on server restart.
If the whitelist doesn't function as you'd like, please let me know what you expected it to do. I will change the code for you.
I have just tested Redstone ore and you are right. It doesn't work. I will fix the code and make it work for Friday. Please let me know what version of minecraft and Bukkit/Spigot/Whatever you are running.
Thanks again Aces! :)
In reply to Aces:
I looked into the redstone problem and found that 73 is unlit redstone ore and 74 is lit redstone ore.
If there's anything more I can do for you, let me know. Have fun!
https://dev.bukkit.org/projects/protection-fields/files/2505422
Anyone require an update?
@cup150
Here you go, this should work for 1.7.10, 1.11.0 and might work for all the versions in between.
https://dev.bukkit.org/bukkit-plugins/protection-fields/files/21-protection-fields_v3-5-2_cb_1-11-0/
@cup150
Backwards compatibility issues. Will have to recode some of this to get it to work for 1.7.10. Might be done by the end of the day.
@cup150
I will upload a 1.7.10 version for you in an hour.
Does this plugin work in 1.7.10?
@owenftw
No problem Owenftw, thanks for supporting my plugin!
If there's anything you'd like added or fixed, remember to let me know.
Thanks for update!
@bawat
Problem fixed. New download is here.
https://dev.bukkit.org/bukkit-plugins/protection-fields/files/19-protection-fields_v3-5-1_cb_1-10-2/
The current update has a few more bugs I must have missed, so I'll remove V3.5 for now.
I'll upload a V3.5.1 in a few hours.
@palipali
I have just finished implementing Home teleports into ProtectionFields.
I will wait until later to add per world config files. I have plans of converting them into different languages once I have no more config options to add to them.
@palipali
Thanks for using my plugin!
These both seem like great ideas, I will add them before the 4th and then notify you when they're completed.
Hi, thanks for your great plugin! I have two suggestions - these functions would be very useful: - home teleport command to fields - and per world support Thank you very much.
@EnderSandman69
Thank you for testing my plugin. It is a great help to me :).
I had planned to prevent the gravel and sand grief in the same way as preventing the lava and water grief.
Blocking the block from entering the field with glass would be ideal, however when gravel or sand "falls" it stops being a block and becomes an "entity" similar to ignited tnt or a minecart.
I don't know of a way to stop entities entering a Field zone or a way to turn them back into their block types.
It has been a long time since I have looked at it, so I will take another look and see if I can find a solution in the next few weeks.
I have finally finished the update for the use of Hoppers and Droppers to exploit the system. I apologise for not finishing it by the time I originally said I would.
Here is the download link for the new file, enjoy!
https://dev.bukkit.org/bukkit-plugins/protection-fields/files/17-protection-fields_v3-4_cb_1-10-2/
Been tesing ways to exploit this on my server and found nothing other than the gravel/sand grief. I noticed that you handle the placing and flow of lava on the top of the protection field by leaving the glass shield where lava is to block it. I was wondering if you could do the same kind of thing for gravel and sand? Just thought I would ask incase this helps.
@bawat
Something came up today, will finish it tomorrow
@EnderSandman69
I didn't think of that, I will add an update and an option in the config file in a day or two.
Thanks for the support!
This is a great plugin! Is there a way to prevent hopper transfer of items into the fuel chest? I don't want players to be able to stack hoppers and chests to have an infinite fuel supply. I want them to have to get on the server every couple of days to add fuel. Thanks for the great plugin!