BuyRegion (1.13+) 2.2.3

WorldGuard/RedProtect Region Sales, now for MC 1.13 and later

  1. GentleGravel
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.13
    • 1.14
    Source Code:
    https://github.com/GentleGravel/BuyRegion
    Contributors:
    Luke199, FabioZumbi12
    Languages Supported:
    Portugese, French
    This is an updated version of BuyRegion for Minecraft 1.13.
    Original code credit goes to Luke199.
    If anyone has a problem with me publishing this resource, please let me know.


    Allows you to create signs which can be used to buy or rent WorldGuard/RedProtect regions. The plugin works with all Vault supported economy systems as it requires Vault for economy support.

    Requirements
    • Vault
    • Region Manager
    • Vault-supported Economy plugin (i.e. Essentials)

    Upgrading

    If you are upgrading from MC <1.13, make sure you make a backup of your BuyRegion, WorldGuard & WorldEdit configs.
    Download the latest WorldGuard & WorldEdit versions (currently in development for MC 1.13), and replace the BuyRegion.jar with this project's.

    Changes

    Features
    • Added better i18n to choose between languages in config.yml
    • Support for region managers other than WorldGuard

    Bug Fixes
    • Fixed a NullPointerException that would sometimes occur when the region was not found
      • If a rented region is deleted that has auto-renewal, it will most likely fail silently
    • Added context to most errors logged to console
      • Easier to troubleshoot for both user & me

    Performance
    • Hopefully made config performance a tad faster at the cost of unnoticeable memory usage
      • It's no longer casting the object every time it wants to use it, only on load & unload

    Usage

    Here you can find the instructions for the original BuyRegion.
    Everything still works the same way.


    Installation
    1. Put the plugin in your plugins directory.
    2. Restart the server.
    3. Configure your permissions if needed.
    4. Enjoy!

    Permissions

    • buyregion.create - allows the creation of [BuyRegion] and [RentRegion] signs.
    • buyregion.admin - allows usage of admin commands.
    • buyregion.exempt - allows player to bypass BuyRegionMax
    • buyregion.buy - allows player to buy a region (if config requires)
    • buyregion.rent - allows player to rent a region (if config requires)

    Signs


    Create a BuyRegion Sign

    1. [BuyRegion]
    2. <regionname>
    3. <price>
    4. unused/any
    Example Sign
    1. [BuyRegion]
    2. epic_store
    3. 200
    The previous would make a sign that would sell region 'epic_store' for '200' of your economy currency.

    Create a RentRegion Sign

    1. [RentRegion]
    2. <regionname>
    3. <price>
    4. <timespan>
    Example Sign
    1. [RentRegion]
    2. epic_store
    3. 200
    4. 7 days
    The previous would make a sign that would rent region 'epic_store' for '200' of your economy currency for 7 days. Once rented properties expire, the region is automatically put back up for rent. If the renter has auto-renew turned on, the property will be renewed to them if they have the available money. See notes for information about sign replacement.

    Buy a Region

    1. The player must enter buy mode by typing /buyregion
    2. The player must right-click a BuyRegion sign.
    If the player right-clicks a BuyRegion sign while not in buy mode, they will be prompted to enter buy mode.
    If RequireBuyMode is set to false the player will not be required to enter buy mode before buying or renting a region.

    Rent a Region

    • Same as buying a region, see above.

    Commands

    Player Commands
    • /buyregion - toggles buy mode
    • /buyregion renew <region> - renews rental on <region>
    • /buyregion autorenew - shows current autorenew status
    • /buyregion autorenew <true/false> - sets auto-renew for all of the player's rentals
    • /buyregion help - shows help screen
    Admin Commands
    • /buyregion reload - reloads config and locale
    • /buyregion buycheck <player> - checks total bought regions for <player>
    • /buyregion rentcheck <player> - checks total rented regions for <player>
    • /buyregion buyset <player> <amount> - sets total bought regions for <player>
    • /buyregion rentset <player> <amount> - sets total rented regions for <player>
    • /buyregion buymax - displays current BuyRegionMax
    • /buyregion buymax <amount> - sets BuyRegionMax
    • /buyregion rentmax - displays current RentRegionMax
    • /buyregion rentmax <amount> - sets RentRegionMax
    • /buyregion buymode - shows the current RequireBuyMode setting
    • /buyregion buymode <true/false> - sets RequireBuyMode
    • /buyregion buyperms - shows the current RequireBuyPerms setting
    • /buyregion buyperms <true/false> - sets RequireBuyPerms
    • /buyregion rentperms - shows the current RequireRentPerms setting
    • /buyregion rentperms <true/false> - sets RequireRentPerms
    • /buyregion evict <region> - performs an eviction on <region>
    • /buyregion help - shows all commands
    (note: Setting BuyRegionMax or RentRegionMax to 0 makes it unlimited)

    Timespans

    Timespan Examples
    • 1 day
    • 15 secs
    • 20 mins
    • 5 h
    Accepted Time Values
    • Seconds: s, sec, secs, second, seconds
    • Minutes: m, min, mins, minute, minutes
    • Hours: h, hour, hours
    • Days: d, day, days

    Config

    Config Options

    • NEW SignHeaderBuy - top line of signs for buy regions, default [BuyRegion]
    • NEW SignHeaderRent - top line of signs for rent regions, default [RentRegion]
    • NEW PayRentOwners - pays rent to owner of region
    • BuyRegionMax - max regions a player can buy with BuyRegion
    • RentRegionMax - max regions a player can rent with BuyRegion
    • CheckExpirationsInMins - how often to check for expired rented regions IN MINUTES
    • RequireBuyMode - is buy mode required to be on to use buy/rent signs? Recommended: true
    • RequireBuyPerms - require the player to have buyregion.buy to buy a region
    • RequireRentPerms - require the player to have buyregion.rent to rent a region
    • DateFormat - Sets the date format - Accepted Values: Default, US, EU
    Date Formats
    • Default - year/month/day
    • US - month/day/year
    • EU - day/month/year
    Message Configuration
    • All messages that are sent to a player can be changed by editing your config.yml in the 'Messages' section.
    • Between the name of the field and the contents you should be able to figure out which is which.
    • Sentences that seem to just end will probably have the value placed there.. consider this when making changes.
    • No admin messages can be changed... would be a lot of work on my end for nothing.
    Notes
    • Auto-renew is defaulted to OFF for all players. They will only need to turn it on once, however.
    • Only use 1 [RentRegion] sign per rentable region. For performance reasons it does not properly support multiple signs per region. It will let you create them, but it will probably lead to strange behavior. This applies to [BuyRegion] signs also.
    • I would recommend trying to avoid original RentRegion signs being destroyed.. the replacement of them is still a little sketchy for positioning. I do plan to look at this but was trying to get a release out with the renting for all the people currently dead in the water from that other plugin going inactive.
    • The CheckExpirationsInMins config setting can accept decimals.. so 0.05 = 3 seconds for instance. Although I wouldn't recommend going less than 0.5 for that setting. With a lot of rented regions it could be a taxing operation. Best left to 5+ minutes for average servers that rent things for days, and not minutes or seconds.
    • I didn't bother making the signs indestructible as the idea is to place it inside the already defined protected region.. which would typically make it unbreakable anyways. Furthermore, for performance reasons I'm trying very hard to avoid hooking the block break event.

Recent Reviews

  1. VoidSquid
    VoidSquid
    5/5,
    Version: 2.2.3
    So far works perfectly and my players and I are very happy! One feature which would be amazing would be the option to buy a region with items like diamonds.
  2. Aquablaze12345
    Aquablaze12345
    5/5,
    Version: 2.2.3
    This is a really good plugin, I recommend it. When I updated my server I found out that Areashops wasn't updated in like a long time, and I rlly needed a good 1.14 plugin that's like areashops, and it suits my needs! The only problem is a group edit, which I rlly want if u can add that, it will be awesome! What I mean in group edit is that you can group a bunch of separate regions and but them as the same price and name. Tnx!
    1. GentleGravel
      Author's Response
      Hey, thanks for the review!

      Group edit sounds like a great idea.
      Sadly, I have many other priorities over updating this plugin, which is done on my spare time, so I don't know if/when it will be implemented

      Thanks for the suggestion though, and I'm happy the plugin worked for most of your needs.
  3. Banit
    Banit
    5/5,
    Version: 2.2.0
    Works very good, only Feature missing is a Permission based option to change the Max Region amount. Would love to give different ranks different max amounts of regions
  4. xxnuhemisxx
    xxnuhemisxx
    5/5,
    Version: 2.1.4
    Works! Good plugin, and thanku for fixing the last issue :) everything works fine now.
  5. JuanSenpai
    JuanSenpai
    5/5,
    Version: 2.1.3
    Good fix for players running 1.13.2 servers! The developer is also very friendly.
  6. SirKratosAurion
    SirKratosAurion
    5/5,
    Version: 2.1.1
    Was a bit bumpy the first time i tested it, but the author was quick to fix it! :)
  7. Reventic
    Reventic
    5/5,
    Version: 2.1.0
    Hello,
    I think this Plugin is really good. I use it for my Server.
    I'm looking forward to ongoing updates !!!

    Can I use source code? Would be super cool because I would like to reprogram a few things myself. If so, you can write me like by PM!


    Best regards,
    Thomas
    1. GentleGravel
      Author's Response
      Heya!

      Thanks for using the plugin!

      I have DM'd you with the response, but to anyone that may be wondering what the response was... yep! Feel free to do anything with it under the MIT license, just don't be a jerk :)