Skip to content

Region settings

alex9849 edited this page Jul 23, 2023 · 10 revisions

Each region provides a variety of settings that change the behavior of the region. In the following an explanation for all available region-options and how to alter them is given. Let's get started!

Getting the current information

When typing in /arm info <regionId>, the plugin will output all important options that are currently applied to the region. For example: An output for a rent region could look like this. A sell-region or a contract-region would have almost the same output. The only difference is, that:

  • Contract-regions ...
    • ... don't have a maximum extend time.
    • ... have a field that shows if the region contract is terminated or not
  • Sell-regions ...
    • ... don't have a maximum extend time.
    • ... don't have a extend time.

In the regions.yml, the same region would look very similar to this:

Regions:
  world:
    test1:
      sold: false
      paybackPercentage: 0
      isHotel: false
      lastreset: 0
      lastLogin: 0
      maxMembers: -1
      regiontype: rentregion
      price: 1.0
      signs:
      - world;-213.0;70.0;272.0;WALL;SOUTH
      kind: medium
      flagGroup: Default
      inactivityReset: true
      entityLimitGroup: Default
      autorestore: true
      allowedSubregions: 0
      userrestorable: true
      boughtExtraTotalEntitys: 0
      isprotectionofcontinuance: false
      boughtExtraEntitys: []
      extendTime: 60000
      payedTill: 1688316736817
      maxExtendTime: 300000

In the following we will go through each parameter and explain what he does and which commands can be used to alter it.

Paramters

Configuration sections:

The regions.yml is built hierarchically. These are the different levels:

  • Root: This is the root level of the configuration. It is always named Regions and holds the configuration sections for all worlds.
  • Worlds: At this level you have one configuration section per world. Each section is always names after the world that contains the corresponding WorldGuard-/ARM-regions
  • Regions: The 3rd level holds one configuration section per region. The configuration section of each region always has the same name as the region in WorldGuard.
  • Region options: The 4th level is the most interesting level. It holds the information for each region with the whole configuration of it. This includes all directly configurable parameters, but also information like the position of sell-signs or the time of the last login of the region owner.
    It is very easy to make a mistake while editing the regions.yml manually. Because of that it is not recommended to edit this file using a text editor. Instead one should always use in-game commands to alter any region-settings.

Region options:

regiontype:
Defines the sell-type of a region. This can't be changed after the region has been created. Possible options are: sellregion, rentregion and contractregion.


sold:
Specifies if the region is currently sold to a player.


paybackPercentage:
Defines the percentage of in-game money that the player gets back if he manually unsells his region back to the server.
A player can unsell his region back to the server using the corresponding button in /arm gui within the management page of his region, or by using the command /arm sellback <regionId>.

  • For sell-regions the amount of money a player gets back is the payback percentage applied to the buying price of the region.
  • For contract- and rent-region it is per percentage applied to the buying price of the remaining time left on the region.

To change the payback percentage of a single region, use the following command:
/arm setpaybackpercentage <RegionId> <percentage>

To change it for all regions that currently belong to a certain regionkind, use the following command:
/arm setpaybackpercentage rk:<RegionKind> <percentage>


isHotel:
Specifies if the region is a hotel region or not. If the region is a hotel region, the owner is only allowed to break blocks that he has placed by himself. Note that this doesn't disable the usage of TNT or pistons. Please use the corresponding WorldGuard flags to protect the corresponding region against such exploits.

The commands to change this setting are:
/arm sethotel <RegionId> (true/false)
/arm sethotel rk:<RegionKind> (true/false)


lastreset:
Holds the information of when owner of the region restored it the last time. Players can (if they have the needed permissions) restore their own regions. To prevent players from using this to cheat themself items or to cause lags, this action has a cooldown. To cooldown can be configured in the section Other.userResetCooldown in your config.yml


lastLogin:
Holds the information of then the owner of the region logged in the last time. If enabled ARM can automatically restore regions owned by players that weren't online for a specific amount of time. More on that here: https://github.com/alex9849/advanced-region-market/wiki/Inactivity-reset


maxMembers:
Defines how many members the owner can add to the region. -1 corresponds to unlimited.

The commands to change this setting are:
/arm setmaxmembers <RegionId> (<number>/unlimited)
/arm setmaxmembers rk:<RegionKind> (<number>/unlimited)


price:
The price of the region. Is always a numeric value. For sell-regions this value is the one-time-payment-price. For rent- and contract-regions this is the price per extend period. The price can be changed using the following commands:
/arm setprice <RegionId> <autoprice>
/arm setprice <RegionId> <price>;<extendTime>;<maxExtendTime>
/arm setprice rk:<RegionKind> <autoprice> /arm setprice rk:<RegionKind> <price>;<extendTime>;<maxExtendTime>

extendTime and maxExtentTime are always needed even if the corresponding region doesn't has a sell-type that needs that information. The values of extendTime and maxExtentTime will be ignored if not needed.

extendTime and maxExtentTime are time-values. To define the time-unit use "s" for seconds, "m" for minutes, "h" for hours and "d" for days. For example: "5d" would mean 5 days.


signs:
A list with the position of all sell-signs that are connected to the region.


kind:
The Regionkind. The Regionkind is the group that the region belongs to. Players can be limited in the number of regions that they are allowed to own, based on the regionkind a region belongs to. More about regionkinds here: https://github.com/alex9849/advanced-region-market/wiki/Regionkinds-&-RegionkindGroups
And more about limits here: https://github.com/alex9849/advanced-region-market/wiki/Limits

The Regionkind can be changed using the following commands:
/arm setregionkind <RegionId> <RegionKind>
/arm setregionkind rk:<RegionKind> <RegionKind>


flagGroup:
The FlagGroup a region belongs to. FlagGroups need to be manually enabled in the config.yml. They allow to set flags automatically based on if the region is currently for sale or sold. FlagGroups can also be configured in a way that allows region owners to adjust certain flags by their own. This can be done in the GUI. More about FlagGroups here: https://github.com/alex9849/advanced-region-market/wiki/FlagGroups

The FlagGroup can be changed using the following commands:
/arm setflaggroup <RegionId> <FlagGroup>
/arm setflaggroup rk:<RegionKind> <FlagGroup>
There are more commands about FlagGroups. Read the FlagGroup-article to find out more.


inactivityReset:
Determines if a region should be reset if the owner hasn't been online for a specific amount of time.

The commands to change this setting are:
/arm setinactivityreset <RegionId> (true/false)
/arm setinactivityreset rk:<RegionKind> (true/false)


entityLimitGroup:
EntityLimitGroups allow to limit the number and type of entities that can be spawned on a single region. More about EntityLimitGroups here: https://github.com/alex9849/advanced-region-market/wiki/EntityLimits

The EntityLimitGroup can be changed using the following commands:
/arm setentitylimit <RegionId> <EntityLimitGroup>
/arm setentitylimit rk:<RegionKind> <EntityLimitGroup>


autorestore:
This option specifies if a region should be restored if it gets reset for any automatic region. This can be for example that the rent for the region expired, or that the region owner was inactive for a specific time.

The commands to change this setting are:
/arm setautorestore <RegionId> (true/false)
/arm setautorestore rk:<RegionKind> (true/false)


userrestorable:
This option specifies if the region owner should be able to restore the region. Even if enabled owners can only restore their region once and have to wait for a cooldown afterwards. Players that should be able to restore their region, also need to have the following permission: arm.member.restore

The commands to change this setting are:
/arm setuserrestorable <RegionId> (true/false)
/arm setuserrestorable rk:<RegionKind> (true/false)


isprotectionofcontinuance:
This option sets a region as under protection of continuance. If server stuff sees a particular beautiful building, they can enable this option on the region. If enabled the region will not be restored after the owner sells back to the server the region or if the region gets reset for some region. The region will also not be put back on sale. This option automatically disables itself, if the region owner restores his region manually.

The commands to change this setting are:
/arm setprotectionofcontinuance <RegionId> (true/false)
/arm setprotectionofcontinuance rk:<RegionKind> (true/false)


extendTime:
Defines the amount of time that a rent-region or a contract-region should be extended for if it gets extended. This option gets set together with the price of the region.

The price can be changed using the following commands:
/arm setprice <RegionId> <autoprice>
/arm setprice <RegionId> <price>;<extendTime>;<maxExtendTime>
/arm setprice rk:<RegionKind> <autoprice> /arm setprice rk:<RegionKind> <price>;<extendTime>;<maxExtendTime>


payedTill:
Contains the information on to which time point a rent-region or contract-region has been payed.


maxExtendTime:
Defines the maximum amount of time that a rent-region can be payed in advance. This option gets set together with the price of the region.

The price can be changed using the following commands:
/arm setprice <RegionId> <autoprice>
/arm setprice <RegionId> <price>;<extendTime>;<maxExtendTime>
/arm setprice rk:<RegionKind> <autoprice> /arm setprice rk:<RegionKind> <price>;<extendTime>;<maxExtendTime>


terminated:
Is set to true if a contract region has been terminated by the owner and should be reset after it expires. false otherwise.

The commands to change this setting are:
/arm terminate <RegionId> (true/false)

AdvancedRegionMarket

Setup

How it works

  • Video tutorials - Watch and learn with Major Graft.
  • Create a region
  • Region settings
  • Presets - Define region settings before creating a region.
  • Autoprices - Calculate the price of a region automatically.
  • Regionkinds - Regionkinds and RegionkindGroups can be assigned to your regions to group them together and bring them into a context.
  • Limits - Limit the number of regions a player can buy.
  • Inactivity reset & Takeover - Automatically reset a region because of inactivity or let members of regions with inactive owners become the new owner.
  • FlagGroups - Assign certain flags to a region depending on its state.
  • Entitylimits - Limit the type and number of entities a player is allowed to have on a region.

Reference

Support

  • Discord - Get involved with other AdvancedRegionMarket Admins, Plugin Developers, Testers. Support, General Discussion welcome.

Sponsoring/Donations

  • Sponsor - Sponsor the development of AdvancedRegionMarket
Clone this wiki locally