BuyLand
What does it do?
BuyLand allows users to buy, sell, rent, and price WorldGuard Regions. It uses the WorldGuard Flags BUYABLE and PRICE as a starting point, and allows players to set additional WorldGuard flags as they see fit. A player simply types /buyland [Region Name] or /rentland [Region Name] 1 Week and it will deduct the money from their account. An even easier way to do this is to click on BuyLand signs. This plugin uses WorldGuard, WorldEdit, and Vault. You can also configure how many regions a single person is allowed to own, as well as the default price someone will pay if no price is specifically set. You can also set the sell back price as a percentage. The Land once bought will take a snapshot of the land and save it. As soon as the Land is sold it will restore the land back to the snapshot.
Quote from chriztopia:I found that plugins like Towny and other plot plugins are sometimes hard to install and a pain to maintain. So I created this plugin for my servers and wanted to share it.
BuyLand - Version: 0.9.1 Alpha
Like always, please submit tickets for any defects that occur in the latest release.
When making suggestions for new features, please submit one suggestion per ticket. Try not to lump 5 suggestions in one ticket. It makes it very hard to track progress of each sub-part.
Quote from Planned in v0.8.9:
- Any changes needed to get to Bukkit version 1.7+
- Some small changes to signs and how players interact with them.
- Possible changes:
- Add a way for a player to rent an owned region.
- Add a way for a player to sell an owned region to another player.
- Add a way to have the money from a purchased region and a sold region transition to a bank
- Possibly resolve some more tickets
- Try to work on some help sections to describe in better detail how to do things in BuyLand and configuration yml files.
- Any other items that may come up.
ChangeLog
- version 0.9.2 for 1.8 soon!
Version 0.9.1 Alpha
- Now works on 1.7.2 R3+
- Fixed critical bug that kept BuyLand from enabling
- Fixed deprecated loadConfiguration();
Version 0.9.0 Alpha
I have tested this and it will not run on 1.7.2 R3+
Version 0.8.8
- fixed setting WorldGuard flag so greeting and farewell flags can be cleared by setting them to an empty string.
- added config setting: buyland.allowedWorldGuardFlags and rentland.allowedWorldGuardFlags
these contain entries below for each allowed flag that can be set and its price.
- Ex:
- [buy/rent]land:
- allowedWorldGuardFlags:
- default: 0.0
This line does not matter, but should be there - entry: 150.0
- game-mode: 300.0
- default: 0.0
- allowedWorldGuardFlags:
- [buy/rent]land:
- Ex:
- Ticket 69 & 41: Added sign control to allow the adding of worldGuard region flags.
- Sneak left-click on a Sell Back sign or Rent Extend sign to view available flags as defined in the allowedWorldGuardFlags section.
- Added config setting: general.sign.showBuyLand [true/false] that will allow you to choose if [BuyLand] is shown on the first line.
- if it is not shown, then "For Rent" signs will also show the rent price.
- added /abl signFix command to update existing signs after this config setting is changed.
- Ticket 71: When a sign for a rented region is right-clicked, the time remaining will be displayed.
- Ticket 72: allow for a way for the owner, member or admin of a region to restore or move its sign.
- Reworked creation of all BuyLand signs.
- Create a new sign with the following lines:
- [BuyLand]
- regionName (The name of the region)
- Major Reworking of sign clicking actions.
- Ticket 44: Addressed multi-part request
- Show price with click: see Detailed Sign Information
- Show time left with click: see Detailed Sign Information
- Have option to hide the [BuyLand] from the sign and utilize the extra line. see Ticket 69 & 41 above
- Ticket 75: Add permission buyland.offlinelimit.exempt to prevent the automatic selling of a region for a player that has not logged for a timeframe.
- Reworked updating of config files to be more stable.
Version 0.8.7
- Bug fix only release
- Tickets 65 & 66 - Fixes bugs introduced in 0.8.6
- When a region was initially rented, rent extended, and rent region expired, the schematics were not being applied or saved from the settings.
- It should have been looking for a setting of rentland.onRentExpire.placeSchematic, but was actually looking at
buyland.onRentExpire.placeSchematic.- This and similar issues caused it to never find the setting for placing or saving the schematic in the onRentBegin, onRentExtend, and onRentExpire events.
- This also affected the removelwcprotection setting in the same sections.
- It should have been looking for a setting of rentland.onRentExpire.placeSchematic, but was actually looking at
- When a region was initially rented, rent extended, and rent region expired, the schematics were not being applied or saved from the settings.
- Ticket 67 - Fixes bugs introduced in 0.8.5
- When a player with a mixed case name such as AndyCYXU buys a region, they can not sell it because it says they are not the owner.
- When comparing the owner's name to the player's name, the players name was left upper case while the owners name was forced lower case when it was created.
- This caused the name to not match, and flagged the player as not being the owner and denied the sale back.
- When comparing the owner's name to the player's name, the players name was left upper case while the owners name was forced lower case when it was created.
- When a player with a mixed case name such as AndyCYXU buys a region, they can not sell it because it says they are not the owner.
Older Versions
External Plugin Dependencies
Features
- Use commands or signs to buy/sell/rent a region
- Price can be calculated by number of blocks in the region.
- Configurable amount of land one person is allowed to own.
- Default price in the event a price is not set.
- Configurable percentage that an amount is sellable back for.
- Configurable language file.
- Land can be reset to when it was first bought.
- WorldGuard Flag of Entry added to config file to stop non owners from entering.
- Land can be selected using WorldEdit and saved as a BuyLand region.
- Land can be selected using WorldEdit and saved as a RentLand region.
- Add/Remove members from a region.
- Signs auto change to show if the land has been bought or sold.
- Remove LWC Protections
- Players can list all regions they own
- Players can teleport to any region.
- Admin can view all regions a player owns.
- Auto Remove Feature for inactive players.
Commands
Type | Command | Permission | Description |
---|---|---|---|
Admin | /ReloadBuyland | buyland.reload | Reload all BuyLand Config Files |
Admin | /abl Save [RegionName] | buyland.admin | Select your cuboid using WorldEdit then run this command to create a new sellable region. |
Admin | /abl ForSale [RegionName] | buyland.admin | This will set the land back to default. Just as if the player sold the land back. |
Admin | /abl Reset [RegionName] | buyland.admin | This will simply reset the Land back to when a player bought the land. This will not sell back the land only reset it to default. |
Admin | /abl Price [RegionName] [Cost] [SecMinHrDay] | buyland.admin | Used to change sale price of a For Sale region from the default in config. Can also be used to change the Rent price for a Rent region. |
Admin | /abl List [Player] | buyland.admin.list | Lists all regions a player owns. |
Admin | /abl LwcRemove [RegionName] | buyland.admin | Removes LWC Protections for the region. |
Admin | /abl Flags | buyland.admin | List all worldguard flags that can be set in the config.yml file. |
Admin | /abl signfix | buyland.admin | Fix existing signs after changing general.sign.showBuyland. Until this is run, existing signs may cause an error. |
Admin | /rentland Save [RegionName] | buyland.admin | Select your cuboid using WorldEdit then run this command to create a new rentable region. |
Admin | /rentland Reset [RegionName] | buyland.admin | This will simply reset the rent land region back as if the rent had expired. |
Buy | /buyland [RegionName] | buyland.buy | Buys a region. |
Buy | /sellland [RegionName] | buyland.sell | Sells a region. |
Buy | /buyland AddMember [RegionName] [PlayerName] | buyland.buy.addmember | Lets a landowner add members to their region. |
Buy | /buyland RemoveMember [RegionName] [PlayerName] | buyland.buy.removemember | Lets a landowner remove a member from their region. |
Buy | /buyland tp [RegionName] | buyland.tp | Teleport the player to the sign of a region. |
Buy | /buyland list | buyland.list | Lists all the regions the player owns |
Buy | /buyland top [Owners/Renters/CashSpent] (Player Qty) | buyland.top | Shows "Top Players" with: owned lands, cash spent, rented lands |
Buy Rent | /priceland [RegionName] | buyland.price | Displays the price of a region. Works on both Sellable and rentable regions. |
Rent | /rentland [RegionName] [TimeQuantity] [SecMinHrDay] | buyland.rent | Rents a region. |
Rent | /rentland Cost {RegionName] | buyland.rent | Gets the price of a rented region. |
Rent | /rentland AddMember [RegionName] [PlayerName] | buyland.rent.addmember | Lets a landowner add members to their rented region. |
Rent | /rentland RemoveMember [RegionName] [PlayerName] | buyland.rent.removemember | Lets a landowner remove a member from their rented region. |
Permissions
Non-Command Permissions
- buyland.all - ALL Commands.
- buyland.signuse - Allows the user of buyland signs.
- buyland.signbreak - Allows a user to break buyland signs.
- buyland.signcreate - Allows a user to create buyland signs.
- buyland.offlinelimit.exempt - Allows the player to be offline longer than the amount specified in the config.yml setting of buyland.offlineLimit.days without the region being sold for inactivity.
- buyland.maxland.(Any Number Between 1-50) - Determines the maximum number of regions a player can buy. If you are using inheritance on permissions you can just assign a higher maxland permission to the higher ranked group. It will use the highest permission it finds in determining if a player can purchase another region.
Source
GitHub - v0.8.5+ by The_Nut (Current Source)
GitHub - v0.2 to v0.8.1 by chriztopia
Help
- Visit this detailed help page for more detailed information on how Buyland works.
RentLand Config
Normally rentable regions are setup with the /rentland save [regionName] command. You can also convert an existing buyable region to a rentable region by adding it manualy in the rent.yml config file.
How to create a rentable region
You must use /rentland save [regionname] and NOT /buyland save [regionname]
Creating a buyland region and trying to place a rent sign on it will not allow it to be rentable!
How to set the sell back percentage
The sell back percentage is based on the decimal form of a percent. So 1.0 equals 100% which means if u buy land for $100 you can sell it for $100. If you set the percentage to 0.6 or 60% the sell back price of $100 would mean you will only get back $60 for selling back your land.
- 1.0 = 100%
- 0.9 = 90%
- 0.8 = 80%
- 0.7 = 70%
- 0.6 = 60%
- 0.5 = 50%
Sign Usage
Sign Setup
To create a buyland sign, create the region as specified above and in the How to create a rentable region help page. When placing a sign, add the following 2 lines and it will create a sign specific for the type of region it is for. Lines 3 and 4 should be blank. You can also read about signs here.
- [BuyLand]
- RegionName
A BuyLand sign can be placed anywhere outside the region it represents.
to many missing files cant update plugin. sorry
@chriztopia
i wont forget it start today. ineed him to! =)
@ert64
I have given you Author control to the project work on it as you like. Just do not disappoint anyone by promising to work on the project and forgetting about it.
i want to update this ! if many people like it . i send a pm to chriztopia i hope he read it soon
:'( what plugin get now.. :/ (sorry for my bad english, je ne suis qu'un francais :p)
I do not have time to develop this plugin and I have handed it off to several people many times. If anyone that actively develops is interested in taking over the plugin contact me.
I NEEEDD THIS PLUGIN :(((((
@chriztopia
How come? :'(
I am closing this project thank you to all who used it and enjoyed it...
@zaxome
I can't update anything ;)
@NightDragon1
Indeed, this plugin is simple and easy to use. Please update, I would donate if I could :)
@Conter25
SpiGot 1.8 ist out and it would be great if BuyLand would be updated to support it.
Is there a version that works for 1.7.10 ? I would really like to use this on my server however I installed it, then I restarted the server, and it did not do anything, and I know that I have all of the other required plugins, Please help!
@Rhodie2
Does your server have WorldGuard plugin? Your log seems that worldguard is not working.
Anyone can rent an unlimited amount of regions, Ive set the config option to 1 and also gave the permission buyland.maxland.1
Any ideas??
Edit: Maybe it has something to do with this error?? http://pastebin.com/YeX5AKAu
This plugin's signs do not work for me, no matter how hard I try to get them working. When a time is up, the signs do not reset and the land is still owned by the previous renter. Sometimes when I try to set signs up in general, the signs don't set them selves up. This plugin's wiki pages are not that helpful, and I've been trying to set rooms up like a hotel for the past two weeks, I've gotten no where. If you want me to keep trying to do something with this plugin, I need a response quick.
12:37:07 AM at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:git-Cauldron-MCPC-Plus-1.7.10-1.1207.01.198]
12:37:07 AM at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:git-Cauldron-MCPC-Plus-1.7.10-1.1207.01.198]
12:37:07 AM at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:717) ~[CraftServer.class:git-Cauldron-MCPC-Plus-1.7.10-1.1207.01.198]
12:37:07 AM at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:1347) [nh.class]
12:37:07 AM at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1129) [nh.class]
12:37:07 AM at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class]
12:37:07 AM at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class]
12:37:07 AM at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:244) [ej.class]
12:37:07 AM at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173) [nc.class]
12:37:07 AM at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980) [MinecraftServer.class]
12:37:07 AM at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:423) [lt.class]
12:37:07 AM at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798) [MinecraftServer.class]
12:37:07 AM at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658) [MinecraftServer.class]
12:37:07 AM at java.lang.Thread.run(Unknown Source) [?:1.7.0_67]
12:37:07 AM Caused by: java.lang.NoSuchMethodError com.sk89q.worldguard.protection.managers.RegionManager.getRegionExact(Ljava/lang/String;)Lcom/sk89q/worldguard/protection/regions/ProtectedRegion;
12:37:08 AM at me.Jesse.BuyLand.BlCommandListenerAdminPrice.onCommand(BlCommandListenerAdminPrice.java:65) ~[?:?]
12:37:08 AM at me.Jesse.BuyLand.BlCommandListenerAdmin.onCommand(BlCommandListenerAdmin.java:52) ~[?:?]
12:37:08 AM at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:git-Cauldron-MCPC-Plus-1.7.10-1.1207.01.198]
Info
Cauldron 1.7.10
Pixelmon 1.7.10
Am able to create regions with /abl commands to set either buy or rent
Unable to set the price or rent to the selected plots
Is this curretnly compatible with 1.7.10 if not, I suppose that answers my question. Hope that you continue to create and update this plugin. It would work perfectly for my server. Thank you.
SRM and Residence are kind of inactive and PlotMe is full of bugs. You have a big responsability as the authors of the only GOOD and active region market plugin out there. Keep working! :)
@SwedishKing
This is a known bug, I believe to fix this you must give yourself (or the rank you have) the permission buyland.admin
[17:03:32 ERROR]: Could not pass event PlayerQuitEvent to BuyLand v0.9.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) [Craftbukkit.jar:git-Spigot-1496] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [Craftbukkit.jar:git-Spigot-1496] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [Craftbukkit.jar:git-Spigot-1496] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Craftbukkit.jar:git-Spigot-1496] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.PlayerList.disconnect(PlayerList.java:321) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:718) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.ServerConnection.c(ServerConnection.java:77) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:720) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:583) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:489) [Craftbukkit.jar:git-Spigot-1496] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [Craftbukkit.jar:git-Spigot-1496] Caused by: java.lang.NullPointerException at me.Jesse.BuyLand.BuyLand.locationFromString(BuyLand.java:3499) [?:?] at me.Jesse.BuyLand.BuyLand.signReloadConfig(BuyLand.java:227) [?:?] at me.Jesse.BuyLand.BuyLand.signSetExempt(BuyLand.java:1630) [?:?] at me.Jesse.BuyLand.BlEventListenerPlayerJoin.onPlayerLeave(BlEventListenerPlayerJoin.java:42) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [Craftbukkit.jar:git-Spigot-1496]
What i have to do?