Skip to content

AreaShop v2.1.0

Compare
Choose a tag to compare
@NLthijs48 NLthijs48 released this 05 Dec 15:39

Features added/changed

  • Changed the /as info region command to show more relevant information:
    New /as info layout

    These are almost all things that could show there, some lines will not show up when based on config options (extending, in advance renting, restoring), some don't show up if empty (friends, signs) and some don't show up based on permissions (groups, teleport location, restoring).

  • Adding friends to your region is now possible with /as addfriend <player> [region] (delete with /as delfriend <player> [region]), by default these players will also be added as member of the region, this can however be changed in the flagProfiles section of config.yml. By default friends can also teleport to the regions they are added to, deny permission areashop.teleportfriend to stop this.

  • Automatic unrenting for players that are inactive for a certain period of time (inactiveTimeUntilUnrent and inactiveTimeUntilSell in default.yml, so this can also be changed for groups of regions or individual ones) OPs are excluded by default, those regions will not be unrented/sold.

  • Added a argument to /as find to specify a group, it will only search for regions in that group if specified. Could be useful to create command signs and let players automatically get a region that is at a certain place.

  • Added a command /as me, which lists all your rent and buy regions, plus regions you are added as friend.

  • Added a /as setowner <player> [region] command to change the owner of a region without triggering events for commands, schematics or money transactions (using this command on a rent region with the player that already rents it will extend the region by 1 time period).

  • Added a /as resell <price> [region] command to let players put their bought region into resell mode. If they do that the sign will indicate you can buy the region (shows [Resale] at the top), but the owner can still do anything like normal. When another player buys the region then the money will get transferred to the original owner and the new player will be owner (then the sign shows [Sold] again). If a player changed his mind and does not want to resell his region anymore he can use /as resell.

  • Added a tag %timeleft% for signs to show the time that a rent has left instead of the end date, AreaShop will update signs that have this every minute by default (check the values in the signs section at the bottom of the config to change this)

  • All files (config.yml, default.yml, groups.yml, .yml and .yml) are now loaded in UTF-8 mode, so now they support all fancy characters like € or ê.

  • Limitgroups for limiting how much regions a player can buy/rent have changed to be more flexible. Now a worlds and groups section can be added to a group to let the limits only count for regions in these worlds and groups. This allows for different limits for regions in different world (let players have max 2 plots in creative, while limiting the number of shops in survival to 1) the groups allow you to limit certain type of regions that are in the same world.

  • The limitgroup unlimited that was normally in the config by default has been removed and now the permission areashop.limitbypass allows you to ignore the limits (default to OPs)

  • The areashop.setteleportoutsideregion permission now works correctly

  • Added a setting to specify the maximum time a rent region can be rented in advance: maxRentTime in default.yml. This prevents players from renting a region a year in advance, instead they have to extend their rent every now and then.

  • Added areashop.teleportsignall permission to teleport to signs of region you do not own (default for OPs)

  • If a language string contains tags other then %0%, %1%, %2% etc, then all tags for regions can be used (check the config.yml file on the Config System page to see all available tags)

  • All places where tags can be used, now also language strings can be inserted. Use %lang:<key>%, where is the part before the colon in the language file. All tags that are available in the original string will be available in the inserted language string.

  • The default commands that are executed by clicking on signs now use the full /areashop instead of /as to prevent collisions with commands of other plugins.

  • The number of digits behind the decimal point of prices can be changed with the fractionalNumbers setting in config.yml, the setting hideEmptyFractionalPart determines if the .0 part of a number should be hidden or not. Default settings produce numbers like this: $10, $5,50, $3.45.

  • Fixed a bug with with money withdrawal: If a player is in world A and buys a region in world B the plugin now correctly withdraws money from world B.

  • Added a setting to force a user to be in the correct world before he can buy/rent a region: restrictedToWorld in default.yml

  • Added a setting to force a user to be inside the region before he can buy/rent it: restrictedToRegion in default.yml

  • Added a warning system for players to indicate their rent is running out, expirationWarningProfiles section in the config. Different times can be specifed when a message should be sent and a custom list of commands can be executed (all region tags can be used)

  • Added a settting warningOnLoginTime to default.yml, when a rent region has less then this time left when the owner of it logs in it will send a warning message to the owner.

  • The command /as rentduration is renamed to /as setduration to be consistent with the other commands

  • The flagprofiles changed, owners and members now take a list of UUID's, when setting to a region only these will be set (others are cleared). It is now possible to add groups to owners/members by using g:<group> in the list, this does the same as /region addmember <region> g:<group>. It is now possible to specify the group a flag is about, use g:<members|non_members|owners|non_owners|all>, can for example be used to only let members of a region walk into it.

  • If a schematic is wrongly sized compared to the region size AreaShop will print a warning in the console (but it will still restore it)

Performance improvements

  • Operations that change/check multiple regions have been changed to do this spread over multiple ticks (now it does a certain number of regions per second instead of all at once, prevents lag spikes for if you have a lot of regions). At the bottom of the config is a section Limits and Timings where the speed of these tasks can be changed. The following actions have been changed to this new system (NEW indicates that this is added for a new feature of this update):
    • Checking expiration of rent regions
    • Updating of regions when using /as updaterents or /as updatebuys
    • Checking of regions for players that are inactive for too long (NEW)
    • Periodic sign updates of regions for when it has tags like %timeleft% (NEW)
    • Saving region files, now regions only get saved every 10 minutes now by default. Only regions that actually changed will be saved, when shutting down the server it will also safe the regions to prevent data loss. This task also handles saving the groups.yml file (also only saved when necessary) and saving of WorldGuard regions (uses the saveChanged() method of WorldGuard to only save regions that require it).
    • Checking for when to send warning about rent expiration to players (NEW)