configuring-flo-auction-version-3/Scopes Section of config.yml

Configuring floAuction version 3

Pages: 1, 2, 3, 4

Scopes Section of config.yml

The auction scopes is the brunt of the floAuction version 3 update. It required a nearly entire system rewrite and warrants it's own configuration page to explain how to use it. The default value, below, permits auctioning everywhere and considers all worlds part of the same auction area.

auction-scopes:
  default:
    name: 'Default Auction Scope'
    type: 'worlds'
    worlds:
      - '*'
    config:
      disabled-commands-inscope: {}

"auction-scopes" is the main configuration label. This is in your config.yml file, probably towards the end. The word "default" on the second line is the id of the auction scope. "name" should be self explanatory. At the end is an optional config section where you can insert almost any of the config settings from the rest of the config.yml to override them in this scope.

There are three different "type"s of scope currently available. The first kind is "worlds" as the default is. In "worlds" type scopes, you list each participating world in the "worlds" parameter. For example, if you wanted your role playing worlds to have separate auctions from your main worlds, you could separate them into different scopes like this:

auction-scopes:
  normal_worlds:
    name: 'Main Worlds'
    type: 'worlds'
    worlds:
      - 'world'
      - 'world_nether'
      - 'world_the_end'
  rpg_worlds:
    name: 'Role Playing Worlds'
    type: 'worlds'
    worlds:
      - 'rpgworld'
      - 'rpgworld_nether'
      - 'rpgworld_the_end'

(Note: "normal_worlds" and "rpg_worlds" above are the id of the scopes. This has to be unique for each scope, but does not have to be the ones I specify here.)

The second type of scope is the "house" type. This functions like the old auction-house feature in the late version 2 branch. If upgrading from version 2, floAuction will, if it exists, automatically create a house matching the one from that version and disable auctioning on the rest of the server. The house type requires "house-world" and coordinates to define the house. This example was automatically created on my test server when preforming the update mentioned in bold.

auction-scopes:
  auction_house:
    name: Auction House
    type: house
    house-world: world
    house-min-x: 289
    house-min-y: 75
    house-min-z: 216
    house-max-x: 297
    house-max-y: 80
    house-max-z: 226

(Note: "auction_house" above is the id of the scope. This has to be unique for each scope, but does not have to be the one I specify here.)

The final type is "worldguardregion". This requires a "region-id" specified which matches the id of an area created with WorldGuard.

auction-scopes:
  wgregion:
    name: WorldGuard Region
    type: worldguardregion
    region-id: wgauction

(Note: "wgregion" above is the id of the scope. This has to be unique for each scope, but does not have to be the one I specify here.)

Ordering Your Scopes Properly

When specifying multiple scopes on one server, it actually is important to specify them in the correct order, especially if any of them overlap. floAuction checks each scope in the order listed to determine which scope a player is in.

Having a "worlds" type scope with the world "*" will cause floAuction to consider the entire server a single scope, all locations and all worlds. If you make this the first one in the list, all scope checks will find the user or location inside that scope and all other scopes will be ignored. Here's an example of that:

auction-scopes:
  only_working_scope:
    name: 'Only Scope that Works'
    type: 'worlds'
    worlds:
      - 'superflous_world_reference'
      - '*'
      - 'superflous_world_reference_nether'
  unaccessable_scope:
    name: 'Does not matter since no one can be here'
    type: 'worlds'
    worlds:
      - 'irrelevant_world'

You can have auction houses and WorldGuard regions specified in a world that already has auctions in order to specify different language or config settings, or even to disable auctioning in a part of the world. Here's a couple handy examples. The first scope below specifies a WorldGuard region named "auctionsdisabled" in which all auctions are disabled. The second scope is a built-in style auction house with no taxes. The third is a taxed scope defined as the whole world "world".

auction-scopes:
  disabled_area:
    name: 'Disabled Auctions Scope'
    type: 'worldguardregion'
    region-id: auctionsdisabled
    config:
      allow-sealed-auctions: false
      allow-unsealed-auctions: false
  tax_free_house:
    name: 'Tax Free Auction House'
    type: house
    house-world: world
    house-min-x: 289
    house-min-y: 75
    house-min-z: 216
    house-max-x: 297
    house-max-y: 80
    house-max-z: 226
    config:
      allow-early-end: true
      auction-start-tax: 0
  taxed_world:
    name: 'Taxed World Scope'
    type: worlds
    worlds:
    - world
    config:
      auction-start-tax: 100

Continue to language.yml Configuration...