AreaShop
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Usage and configuration: ►Download (releases) ►Commands and Permissions
____ ►Basic regions setup_ ►Advanced regions setup_ ►Configuration files
Advanced features: ►Save/restore region blocks_ ►Change the language_ ►Limitgroups
Troubleshooting: ►Frequently Asked Questions_ ►Common errors
Support: ►Ask question / request feature / report bug_ ►Planned features_ ►Open bugs
Development: ►Changelog_ ►Compiling_ ►Modules, packages and classes overview
Connections: ►GitHub_ ►Spigot Resources_
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
This plugin is for giving players the option to rent or buy a region. It could be used to let them rent a jail in your Prison server or maybe a shop in the market of the Survival server. The player interacts with signs, making it easy to use. It also has a lot of commands to check the status of all regions, manage the renting and buying of a region and also features for admins. Also the plugin is capable of saving the region and restoring it later, this is very flexible and can be set general and per region, check the config for more information.
All features in a list:
- Rent and sell regions to players + Players can resell their bought regions to other players
- Signs for easy interacting and current status
- Change the language of the plugin or use of of the already provided language files (check here for supported languages, these are already packed with the plugin, just change the language setting in the config).
- Automatically let the plugin restore the region with schematics
- Change which commands players can use with permissions
- Customize the plugin by changing the config
- Automatically place the region name on the sign if it is placed inside a region
- Teleport to rent/buy regions and optionally set the teleport location (teleporting is safe and within the region)
- Adding friends to regions (which also can teleport then)
- Automatic unrent/sell for regions of which the owner is offline for a certain time
- Warning to players when their rent is about to run out (at login and while they are online)
- Group system to set options for a couple of regions instead of all of them.
- All heavy tasks are spread over time (each tick a part is executed until done), so the plugin should not cause any lag.
- Rent/buy limits can be different per permission node (player group), world or group of regions (possible situation: Normal players can buy 1 market region in survival + 1 build region in survival and 2 plots in creative, while VIPs have double limits for all those), check this example.
- Supports name changes because of saving player info by UUID, for more details check the FAQ entry: What happens when a player changes his name?
You need to have WorldEdit, WorldGuard and Vault installed on your server, WorldGuard is used for creating and managing regions, WorldEdit for the saving and restoring the blocks in regions and Vault is used to let players pay for the regions.
Preview
For a preview join 'mc.go-craft.com' and go to the Survival server, the shops around the spawn use AreaShop.
Tutorial & Feature overview (AreaShop V2.0.1)
Made by Koz4Christ
Prison cell setup tutorial (AreaShop V2.1.0)
Made by PerkulatorTime
Old video for AreaShop v1.0: Tutorial by VariationVault
Requirements and installing
Requirements:
- Server software: Bukkit 1.7.9 or higher, Spigot 1.7.9+ or higher
- Java 7 or higher (latest recommended)
- WorldGuard 5.9 or higher (6.0+ recommended)
- WorldEdit 5.6.3 or higher (6.0+ recommended)
- Vault 1.4.1 or higher
- An economy plugin supported by Vault (check the Vault page for a list of supported plugins)
When you have installed AreaShop, have correct server software and all required plugins installed (and the correct versions of them) you can startup your server. After that you can edit the config.yml and default.yml file of AreaShop to your liking and after that you use '/as reload' to reload the configs. Then you can start by setting up regions and adding them to AreaShop.
Notification for new versions
To enable email notifications for new versions of this plugin follow these steps:
- Login to dev.bukkit.org
- Go to the 'Subscriptions' tab Link
- Tick the checkbox for 'File updates'
- Confirm your choice
Metrics
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
A unique identifier, the server's version of Java, whether the server is in offline or online mode, the plugin's version, the server's version, the OS version/name and architecture, the core count for the CPU, the number of players online, the Metrics version.
This information will give me an indication about how much the plugin is used and encourages me to continue development. Opting out of this service can be done by setting 'sendStats' in the config of this plugin to 'false', if you want to disable Metrics for any plugin go to plugins/Plugin Metrics/config.yml and change 'opt-out' to 'true'. Check graphs of the statistics at this page: mcstats.org/plugin/AreaShop
Do you want to translate AreaShop?
Help translating the plugin into different languages and to keep the translations up to date. Go to this page for more information. Translating goes through the Transifex website and is very easy, sending files back and forth is not needed, you can translate lines online and whenever you want. Every line you translate will be saved, no need to do it all at once (this also allows for easy collaboration).
@nlthijs48
hehe :D sry i mean the same what @vinzenco has write down :D
an automatic purge or command so that all regions get purged. 30 is Days :)
@vinzenco
I think the dev/beta builds of WorldGuard 6 do not work with AreaShop as for now. Soon i'm going to install that version myself and switch AreaShop to that version (while trying to continue support for version 5). Be sure to keep using WorldGuard 5 until I have confirmed that a certain version of AreaShop works with WorldGuard 6.
@NoHoPeLess
What do you mean with a purge command? I don't understand what that command should do, could you explain it a bit more? Also, what does the argument '30' stand for?
@vinzenco
Your suggestion is already on the list of Planned Features, the way you worked it out with profiles and different values for rent and buy is great, I'm going to implement it like that. Other good news for this feature is that yesterday I found out that I can get the last time a player was online by only using Bukkit, first I thought that I would need to hook into Essentials for that. So this feature should be in the next update.
@NoHoPeLess Thank you! I have a new idea :D
@nlthijs48
Suggestion! Can you add please in the config a automatic remove function for inactiv players? Example:
Is a player 30 days inactiv, then the area will be automatic sold. With this function you make me very happy because that takes me a lot of work.
Any purge command would be nice... for example: /as purge 30
@nlthijs48
I have a last question! :) Have the plugin WorldGuard 6 and WorldEdit 6 support ? Thanks :)
@nlthijs48
Thank you for the fast response. The idea with worldguard is good.
@vinzenco
Okey cool, adding players is indeed not nicely integrated into AreaShop yet, but there is a workaround for this. You can simply allow owners of regions to use the '/region addmember' for their own regions by giving them the WorldGuard permission 'worldguard.region.addmember.own.*'. Then players can add and remove members from their regions by using the WorldGuard commands, the only thing you still need to do is let AreaShop clear all members and owners of a region when it is sold/unrented. Check this comment from me from a day ago to see how you do that: dev.bukkit.org/bukkit-plugins/regionbuyandrent/?comment=204 Then it should work perfectly with the only downside that the command is harder to remember (e.g. not from AreaShop).
@nlthijs48
Thanks :) I do it asap. I have a last question. How can i add people in a area ? The command "/as addmember regionname playername" doesnt exist.
Next suggestion: Is it possible to make a command that called "/as add playername" that adds player in the area in that which i stay.
@scuroK
Okey, in the section 'flagProfiles' of the config.yml file set all the lines with 'greeting' to this:
After that restart the server (or /reload or /as reload), then if regions update the greeting will be gone. To update all regions you can use the '/as updatebuys' and '/as updaterents' commands, if you have executed those commands all greetings should be gone.
@nlthijs48
works great! how can i disable the greeting message for plats?
@NoHoPeLess
Version 2.0.0 is approved now, version 2.0.1 should take no more then one day because I uploaded it about 30 hours after version 2.0.0.
@EnderdragonDotDe
This is indeed a problem, maybe I could fix this by adding a 'worlds' section inside of the limit groups. Then the group only counts the regions in these worlds for the limits of the group (and if no worlds are specified then it just counts all regions, to keep it the same for the current configurations). Then your problem would be solved.
But this will leave another problem, if a user is in the survival world he has the correct limits, but he can also buy/rent region from the creative world. So the user has the limits of survival and he can then spend that on creative... And i cannot simply get the permissions from a player in the world he is trying to buy a region in Bukkit. I thinks Vault supports something like that but I have to test if that works. I could also fix it by not permitting users to buy regions from another world, but that would not be nice for other server because maybe they want to use that.
i have a small problem with the limits permission. I have 2 worlds, survival and creative. and this is the part of my config:
limitGroups: survival: total: 3 rents: 1 buys: 2 creative: total: 2 rents: 1 buys: 1
I would like to use the group survival only in my survival world and group creative only in my creative world. But if someone bought 2 plots in survival he can't buy a plot in creative because of the limit of 1, which the player exceeds. A solution would be to count only the bought plots in the world the permission is applied to. Or is there another solution?
I cant see the 2.0.1 ?? Whos the download?
@nlthijs48
<3 <3 <3 thanks will try it tomorrow
@vinzenco
Nice that it works good for you! You can use the little Donate button in the top right of this page to donate to me.
If you need any more help or have a question just leave a message.
@nlthijs48 What a brilliant idea! Now it works perfect! Thank you sooo much for taking time to explain that for me! I´m very happy to found this brilliant plugin. I can do you a favor or where is the "Spend" button for your project ? :) Thank you!
@scuroK
Sorry if I was a bit unclear about it, I typed it on my smartphone this morning. If you set the 'members' or 'owners' line to the 'clear' then AreaShop will delete all the owners/members of that region when updating the region flags. So if you setup your config like this then it should work as you want:
That is how you need to set the members and owners tags, just leave the other optional tags like they are (for example the greeting or priority). Now AreaShop will clear all owners and members from a region if it is not bought/rented and it will add the owner of the region to the region while it is rented/bought (while preserving all other owners/members). So if you give your players the option to add players to their regions then they will stay as long as the region is rented/bought, but if it is sold/unrented they all get wiped from the region.
Hopefully that makes it clear, greetings,
NLThijs48 Thijs
@nlthijs48
"Then about your problem with the owners/members, i have silently added a feature for this into 2.0 (forgot to put it in the changelog). You can simply set the 'members' and 'owners' settings inside the 'forrent' and 'forsale' sections to the value 'clear' to get rid of all owners and members. You have to use the '/as updatebuys' and '/as updaterents' commands after you have set those and restarted the server to get rid of the members and owners that got left behind earlier."¨
Where exactly? Do you mean here?
forsale: owners: -%player% greeting: '&2[AreaShop]&f %region% can be bought for %price%'
Can you make an example?
@vinzenco
If i understand you correctly you have set-up rightclicking on a sign to perform the command 'as buy %region%' and the command 'as tp %region%'? If i got that right then the following is happening: When a player rightclicks a sign both commands get executed and if the player does not have enough money they will still get teleported while they did not buy the region. You don't want this because they should then just stay where they are.
There is a solution for that, the list of commands at the sign settings will always run, but another feature of the plugin is executing commands before/after certain events (renting, buying, etc.). So those commands will only get executed when a region has been successfully rented/bought. To fix your problem you can change the commands on rightclicking a sign to only buying/renting a region (as normal) and then add the 'sudo %player% as tp %region%' command to the 'eventCommandProfiles.default.rented.after' and/or 'eventCommandProfiles.default.bought.after' sections (a dot represents a section inside the previous one, check the 'eventCommandProfiles' section of config.yml). This will force the player that bought/rented a region to execute the command 'as tp %region%' and because in this case the region is the one that has been bought/rented they will teleport to the correct region. You need to have essentials to use the 'sudo' command so be sure that you have that. Be sure you use version 2.0.1 instead of 2.0.0 because the event commands won't be executed in 2.0.0 due to a bug
Regarding your suggestions:
If you have any more questions just let me know.
@nlthijs48
I found a little problem :D If a player wanne bought a area without enough money he will be teleport to the region. Because the function rightClickPlayer: - 'as tp %region%' teleports a player to the region. Any chance to block that if somone have not enough money for that ?
I have 2 suggestion.
1. A little Dynmap support for all bought and free areas with a icon. Bought a area -> Hous icon, Sold a area -> Money icon And that show you the price with the region id.
2. Multiple signs would be very nice to put a [buy] sign Inside a house and Outside a house. I have on my Server a management building for all areas that would be great if i can make more than 1 sign for a [buy] sign house.
Thank you :)