BuyLand

Logo

LOGO

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.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
  • 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
  • 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.
  • 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.

Older Versions

Link to Older ChangeLogs

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

TypeCommandPermissionDescription
Admin/ReloadBuylandbuyland.reloadReload all BuyLand Config Files
Admin/abl Save [RegionName]buyland.adminSelect your cuboid using WorldEdit then run this command to create a new sellable region.
Admin/abl ForSale [RegionName]buyland.adminThis will set the land back to default.
Just as if the player sold the land back.
Admin/abl Reset [RegionName]buyland.adminThis 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.adminUsed 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.listLists all regions a player owns.
Admin/abl LwcRemove [RegionName]buyland.adminRemoves LWC Protections for the region.
Admin/abl Flagsbuyland.adminList all worldguard flags that can be set in the config.yml file.
Admin/abl signfixbuyland.adminFix existing signs after changing general.sign.showBuyland. Until this is run, existing signs may cause an error.
Admin/rentland Save [RegionName]buyland.adminSelect your cuboid using WorldEdit then run this command to create a new rentable region.
Admin/rentland Reset [RegionName]buyland.adminThis will simply reset the rent land region back as if the rent had expired.
Buy/buyland [RegionName]buyland.buyBuys a region.
Buy/sellland [RegionName]buyland.sellSells a region.
Buy/buyland AddMember [RegionName] [PlayerName]buyland.buy.addmemberLets a landowner add members to their region.
Buy/buyland RemoveMember [RegionName] [PlayerName]buyland.buy.removememberLets a landowner remove a member from their region.
Buy/buyland tp [RegionName]buyland.tpTeleport the player to the sign of a region.
Buy/buyland listbuyland.listLists all the regions the player owns
Buy/buyland top [Owners/Renters/CashSpent] (Player Qty)buyland.topShows "Top Players" with: owned lands, cash spent, rented lands
Buy
Rent
/priceland [RegionName]buyland.priceDisplays the price of a region.
Works on both Sellable and rentable regions.
Rent/rentland [RegionName] [TimeQuantity] [SecMinHrDay]buyland.rentRents a region.
Rent/rentland Cost {RegionName]buyland.rentGets the price of a rented region.
Rent/rentland AddMember [RegionName] [PlayerName]buyland.rent.addmemberLets a landowner add members to their rented region.
Rent/rentland RemoveMember [RegionName] [PlayerName]buyland.rent.removememberLets 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.

Create BuyLand Sign

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of DarkCrimsonFury DarkCrimsonFury Oct 30, 2014 at 20:47 UTC - 0 likes

    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.

  • Avatar of Rhodie2 Rhodie2 Oct 01, 2014 at 05:49 UTC - 0 likes

    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.

    Last edited Oct 01, 2014 by Rhodie2
  • Avatar of MGbeenieboy MGbeenieboy Aug 29, 2014 at 22:09 UTC - 0 likes

    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! :)

  • Avatar of Rocketboy901 Rocketboy901 Aug 26, 2014 at 18:10 UTC - 0 likes

    @SwedishKing: Go

    This is a known bug, I believe to fix this you must give yourself (or the rank you have) the permission buyland.admin

  • Avatar of ZerolHD ZerolHD Aug 24, 2014 at 15:30 UTC - 0 likes

    [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?

  • Avatar of SeeingBlue SeeingBlue Aug 19, 2014 at 18:19 UTC - 0 likes

    Any Ideas?

    [18:07:27] [Server thread/ERROR]: Error occurred while enabling BuyLand v0.9.2 (Is it up to date?)
    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.signGetConfig(BuyLand.java:149) ~[?:?]
    	at me.Jesse.BuyLand.BuyLand.onEnable(BuyLand.java:1022) ~[?:?]
    	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [2014-08-17-13-58-38-spigot.jar:git-Spigot-1608]
    
    Last edited Aug 19, 2014 by SeeingBlue
  • Avatar of SwedishKing SwedishKing Aug 17, 2014 at 14:09 UTC - 0 likes

    Always tells me I already have the maximum amount of regions.

  • Avatar of Rocketboy901 Rocketboy901 Aug 11, 2014 at 14:37 UTC - 0 likes

    @xion87: Go

    Fixing that now, thanks for notifying me.

  • Avatar of xion87 xion87 Aug 11, 2014 at 07:48 UTC - 0 likes

    Buyland 0.9.1 dimension file is 1.1kb....you missed something i think....

    Last edited Aug 11, 2014 by xion87
  • Avatar of scuroK scuroK Jul 08, 2014 at 21:37 UTC - 0 likes

    Can you add a command (and permission) to teleport players to only 1 free region. For example next/newest/oldest free region. Because i dont want to give them permission to TP to any plot but to free plots. Just like the /srm gs command in simpleregionmarket! Would be great!

Facts

Date created
Sep 07, 2012
Categories
Last update
Aug 11, 2014
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
BuyLand
Downloads
23,108
Recent files

Authors