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.
No chance of making this work with 1.12.2 server? :D That would be swell man
In reply to PhoenixDIE:
Hello PheonixDIE, Protection Fields should work with 1.12.2.
You will need to download this version https://gyazo.com/68300ff479341a3d56490d28c126234e
If it doesn't work I can fix it for you. Can you describe what happens?
In reply to Forge_User_61687077:
Installed and working on a Bukkit/Forge server 1.12.2 :D thanks for the info and ill let ya know if there any issues.
Any plan for 1.14.* I really love this plugin!
In reply to poopsticks:
Hi Poopsticks!
I'll start working on a 1.14.* version tomorrow. Will be up by Sunday evening at the latest.
In reply to poopsticks:
Created a 1.14.4 version!
Hello!
I would like to know the future of the project. Can we hope to update and add new features?
Best regards.
In reply to kassad_rf:
Hi Kassad_rf, hope you are well!
Sorry about the delayed reply, I am on holiday and haven't been checking my emails as often as I usually do.
Tell me about the most important feature you want, and I will start making it for you next week. :)
Thank you for your continued support Kassad_rf, it means a lot to me.
To anyone else reading this
If anyone has a feature they have been waiting for, message me again.
Future of the project
I will always continue to update the project, fix bugs, reply to comments and upload language packs. These will always be priority 1.
I don't have as much time as I used to in the past, so I haven't added any new features for a long time. Adding new features takes a lot of time for me, the code is quite big and I don't want to make mistakes. If anyone wants to join me writing code for Protection Fields, I would gladly welcome it!
I am also worried about adding too many features, which could make ProtectionFields confusing for new people. So new features need to be thought about properly, and the old features re-evaluated or removed.
Bukkit doesn't seem to be as popular as it used to be. Without feedback from people telling me what they do and don't like, it seems unwise for me to continue adding new features. https://en.wikipedia.org/wiki/Feature_creep
I haven't been adding new features. I am not sure if the current list has features only one person wants, and maybe that person stopped playing Minecraft now.
I need some sort of voting system for new features and current features.
I need some way to advertise ProtectionFields to get more users, and feedback.
¿Can I upload a spanish traduction?
In reply to Forge_User_91390072:
Yes!
Send me the file and I will upload it here for you.
In reply to Forge_User_61687077:
https://pastebin.com/h7WAJL9w
Thanks, how can i use for my server (play.birdmc.us).
In reply to Forge_User_91390072:
Thank you MarkosTech!
I have uploaded the file for you.
Click the Spanish flag to download it, and replace the ProtectionFields_Language.txt file on your server. Then do /pf reload. :)
Let me know if you need further assistance.
Hello! Just a few suggestions:
1. 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 (a player with a higher level will be given permission to create more powerful fields). Or for a system of microtransactions, when a player can buy a more powerful field for real money.
2. Can you add your plugin to spigotmc.org? Your plugin must be in the Premium section :)
In reply to kassad_rf:
I'll add them to the list right now.
Sorry for the delays, just a bit busy with work.
Will be back to doing updates before you guys know it :)
Hello!
An excellent plugin. Great idea. Can you add some information for the donation.
Very much I ask you to add in the further plans of development of a plug-in an opportunity to create cubic fields. And also the ability to configure the fuel consumption for each type of field separately. For example: for a field of iron blocks with a smaller radius, the fuel has its specific power, and for a field of gold blocks - quite different. The idea is that the fields with a larger radius consume more fuel.
Also there is one bug. If an outsider is inside at the time the field is created, he may be discarded in such a way that it is stuck inside the glass. This happens when there are other blocks on the boundary of the field and the player rests on these blocks, and then the field presses his.
I think it's also necessary to add the ability to disable the default blocks that can be used as a fuel. And allow only those blocks that are specified in the parameter to be used
"Power provided by each item:"
It can be done so that when I set the parameter
"Default power per item: 0"
all blocks that are not specified in the parameter
"Power provided by each item:"
will not burn, but will simply rest in the chest. At the moment, if you specify the parameter
"Default power per item: 0"
all blocks that are not specified in the parameter
"Power provided by each item:"
just burn without any effect.
In reply to kassad_rf:
Hello Kassad_rf!
Thank you for your support, I really appreciate it.
If you'd like to donate there is a button in the top right of the page.
https://gyazo.com/017e5f1ce39af2154a38be5f1c3b03de
I really like your ideas.
I will add Cubic Fields to the development plans and will message you when it's uploaded. It will go live around the 29th along with specific power consumption for each field.
I will first look into the bug you found. I will need more details as I'm not entirely sure what you mean...
In reply to Forge_User_61687077:
hello, i have a lag problem, you can:
+ Serious bug, player can go inside when water is below, shield only activates when block is filled, and player can go through water (Glass replaced with liquid like water will lava will not disappear when the player leaves the radius)
+ Allow the person inside to hide the protection wall, only the outsider can see
✔ This will reduce the lag and help a lot, ✘ remove the "Default outsider blocking setting"
The port can not be opened, reason: Shield is turned on when player is near) Only external player sees, this will not cause conflict.
+ Shield Block radius adjustable
✔ Can be easily placed in the config:
- BlockID: 42 #Iron Block
Radius: 11
Radius of shield: 5
- BlockID: 41 #Gold Block
Radius: 16
Radius of shield: 10
- BlockID: 57 #Diamond Block
Radius: 28
Radius of shield: 15
- BlockID: 133 #Emerald Block
Radius: 56
Radius of shield: 20
There are too many blocks to be displayed and it has to reload continuously when the player moves, with large size and can not adjust it to make the server lagg. (Blocking radius applied to all does not bring efficiency)
+ What is more perfect when the shield will activate when (mobs/monster/animal/entities: example: arrow / fireball ...) come close
✔ This will prevent the strange entity, unknown hurt the player
+ Removing the player from the list (the player standing inside) pushes the player off the radius or moves to the outside position and activates the shield.
✔ This prevents the player from oepn the chest when removed from the list
+ When the activation shield has latency, the player can gets inside, sending a notification message and dame player every second
✔ This setting may prevent the player tried gets inside, when the server lagg, latency
In reply to 3825700danh:
I will start working on fixing these errors for you.
Have a good weekend,
Bawat