AlphaSellDocs v2.1.0
AlphaSellReferenceConfiguration

Configuration

What lives in each configuration file.

On this page

File layout

plugins/AlphaSell/
  config.yml # settings, prices, categories, sell event, database, theme
  tools-config.yml # the Sell Axe item and its world and block blacklists
  enchantments-value.yml # shipped, not read by this version
  lang/messages.yml, menus.yml # all player-facing text
  storage/ # runtime, player profiles when database.type is filesystem
config.yml holds settings only. Every word players read is in lang/, in two files: messages.yml for chat and the Sell Axe, and menus.yml for menu titles, buttons and lore. Menu titles are written in dark gray (&8).

Top-level settings

sell-hand-confirm: false
worth-enabled: true
worth-show-top-inventory: false
override-command-with-listener: true
default-price: 0.1
blacklisted-worlds:
  - 'otherside'
KeyMeaning
sell-hand-confirmRequire /sellhand confirm before the held item is sold.
worth-enabledThe default for each player's worth setting.
override-command-with-listenerRun the sell commands ahead of other plugins that use the same names.
default-priceThe price of an item no category or shop lists. 0 makes such items unsellable.
blacklisted-worldsWorlds where the sell commands and the Sell Axe are blocked.
worth-show-top-inventory, disable-categoriesPresent in the file but not used by this version.
total-sold-itemsA running counter the plugin maintains. Do not edit it.

Features and prices

features:
  shop-hook: true
  categories: true
  sell-event: true
prices:
  calculation-method: "auto"
  shop-hook-enabled: true

How the price options behave is on Pricing. The older allow-shop-hook key still works and is migrated into prices.shop-hook-enabled. Only features.shop-hook is read. features.categories and features.sell-event are in the file but do nothing: sell events are controlled by sell-event.enabled.

Database

database:
  type: 'filesystem'    # filesystem | h2 | mysql
  thread-pool-size: 4
  sql:
    hostname: 'hostname'
    database: 'database'
    username: 'username'
    password: 'password'
TypeUse it when
filesystemThe default. One YAML file per player under storage/. Nothing to set up.
h2An embedded database with no native libraries. Single server.
mysqlShared profiles across servers. Fill in the sql block, which is only read for MySQL.

thread-pool-size applies to all three. Player profiles hold category progress, sell history, the worth setting and total money made, and are saved asynchronously in write order.

Theme

theme:
  accent-hex: "00FF12"
  gradient-start: "00FF12"
  gradient-end: "00990F"

One accent for the whole plugin. Write the hex without a #. Changing it repaints chat, menus and the console banner together. A leftover gold theme from an old config is ignored, and the loader warns about it.

tools-config.yml

KeyMeaning
built-in-items.amethyst-sell-axeThe only entry this version uses: type, unbreakable and enchantments of the Sell Axe.
blacklisted-worlds, blacklisted-blocks, self-destruct, sell-ability-per-blockInherited tool settings. The Sell Axe does not read them in this version, and it follows the main blacklisted-worlds instead.

Text and menus

Both lang files carry a lang-version. When a release ships a newer version than the file on disk, your old file is kept as <name>.old, the new one replaces it, and the console logs Updated … to lang-version N. Copy your edits across from the .old file. The sell menu, the history, price list, progress and settings menus are all configured in menus.yml, with the progress bar characters and length under its progress bar section.

Reload vs. restart

/alphasell reload re-reads the configuration and lang files and restarts the sell event timer and the profile storage. It does not load a new jar, so an update needs a full restart.