Skip to content

Resources : config.yml

EpiCanard edited this page Jun 11, 2022 · 25 revisions

Summary :


Language

The plugin has language files, they are stored inside jar and extracted when you define the variable Lang inside config.yml.

# Possible values : lang-fr_FR.yml, lang-en_US.yml, lang-zh_CN.yml,
# lang-de_DE.yml, lang-pl_PL.yml, lang-tr_TR.yml, lang-ru_RU.yml
Lang: "lang-fr_FR.yml"

NB : For now the plugin support french, english, chinese, german, polish, turkish and russian. If you want add language don't hesitate to open a pull request with your new language file. You can find available language files here

Metrics

The plugin has metrics to know you a little more, because the only metrics I have today is a number of download. You still can disable this feature.

# Defines if metrics are sent to Bstats. It helps me to know you a little more :)
Metrics: true

CheckUpdate

The plugin has notification system that notify an admin when he connects to the server if there is a new version of GlobalMarketChest. You can disable this feature by changing CheckUpdate from true to false.

# Check new version is available.
CheckUpdate: true

Storage

Everything needed to connect to database is available in config variable Storage. There is two type of storage :

  • SQLite (default) : It's local database you don't need to configure anything it works alone.
  • MySQL : It's a remote database, if you want to use it you will need to handle yourself the MySQL server.
Storage:
  # Storage type. Possible values: sqlite, mysql
  # If Storage type is equals to mysql you will need to fill informations inside Connection part
  Type: sqlite
  # The prefix you want to user of tables to avoid conflicts with other tables
  TablePrefix: GMC_
  # Connection informations
  Connection:
    # The url/ip to access to your database server
    Host: localhost
    # Port used by your database server
    Port: 3306
    # The database name that you have already created
    Database: my_database
    # The user you want to use to login
    User: my_user
    # The password of the user set above
    Password: my_password
    # Define if the connection must be secure or not with ssl
    # UseSSL: false
    # The simultaneous connection always active to reduce time of interface execution
    SimultaneousConnection: 4

When the server start if they don't exist, the plugin will create 2 tables : <prefix>_Auctions and <prefix>_Shops.


Multi Server

You can configure multi server features inside this section. MultiServer need the plugin MysqlPlayerDataBridge to synchronize money between servers. If you use GlobalMarketChest on multiple servers you must have a ServerName different per server

MultiServer:
  # Name of server to assign to shops
  ServerName: "default"
  # Enable support of MysqlPlayerDataBridge to sync money exchange
  MysqlPlayerDataBridgeSupport: true

Options

You can configure some features of the server in the config variable Options.

Options:
  # To see auctions that don't have category
  UncategorizedItems: false
  # Define if the button MaxInOne in CreateAuction view must be here
  EnableMaxInOne: true
  # Define if the button MaxRepeat in CreateAuction view must be here
  EnableMaxRepeat: true
  # Define if the buttons to repeat the auction one by one in CreateAuction view must be here (RepeatIncrease and RepeatDecrease)
  EnableRepeatOneByOne: true
  # Define if a player can find similar auctions with drag and drop on category view
  EnableSimilarAuctions: true
  # Default price for new auctions
  DefaultPrice: 100
  # Use the price of the last similar auction as price of new auction
  UseLastPrice: true
  # Define the maximum auctions by player
  MaxAuctionByPlayer: 50
  # Define you want to limit the max globalshop a player can create
  LimitGlobalShopByPlayer: false
  # Define the max globalshop a player can create. To works, player must have permission: globalmarketchest.globalshop.createshop
  MaxGlobalShopByPlayer: 1
  # An auction expire if it is older than NumberDaysExpiration
  NumberDaysExpiration: 7
  # Define if the player can create auctions with an item damaged
  AcceptDamagedItems: false
  # Radius around the sign an 'AllowedLinkBlock' can be linked
  RadiusLinkBlock: 1
  # When an admin removes an auction of other players, define if the admin get the items or if they are destroyed
  AdminRemoveAuctionGetItems: true
  # Define if the view that display auctions of last n hours must be displayed
  EnableLastAuctions: true
  # Define the number of hours used to display last auctions in LastAuctions interface
  LastAuctionsHours: 24
  # Contains configs about advice price
  AdvicePrice:
    # Define the type of analyze to use for advice price. Possible values: all, in_progress, finished
    Analyze: "all"
    # Define the number of days to analyze for average of advice price on choice price view
    Days: 30
  # Config about shulker box
  ShulkerBox:
    # Allow to see the content of a shulker box when a player want to buy it
    SeeContent: true
    # List of display names not affected by SeeContent config parameter
    # If SeeContent is true, can't see the content of shulker box that contains following displaynames (ignore case)
    # If SeeContent is false, can see only the content of shulker box that contains following displaynames (ignore case)
    ExceptDisplayNames:
    #  - "lucky"
  # Contains configs about broadcasted message when player create or buy an auction
  Broadcast:
    # Broadcast a message inside the current world when a player create an auction
    CreationInsideWorld: true
    # Broadcast a message inside the current world when a player buy an auction
    BuyInsideWorld: true
    # Send a message to the player on join to the server
    LoginMessage:
      # Send the number of sold auctions
      SoldAuctions: true
      # Send the number of expired auctions
      ExpiredAuctions: true
    # Notify the player everywhere on the server when a player buy one of his auctions
    NotifyPlayer: true
  # Config about anonymous auctions
  Anonymous:
    # Define if Seller name must be hide (anonymous)
    Seller: false
    # Define if Buyer name must be hide (anonymous)
    Buyer: false

Log

You can disable or change the prefix of message sent by the plugin with config below.

Logs:
  # If set to true the prefix [GlobalMarketChest] inside messages will be removed
  HidePrefix: false
  # Define the prefix displayed inside messages
  Prefix: "&a[GlobalMarketChest]"

Shop Worlds

You can define in which world GlobalShop can or can't be created.

ShopWorlds have two mode:

Type: blacklist

  • If the world in which you are trying to create the GlobalShop is inside ShopWorlds.Worlds shop creation will not be possible in this world.
  • If your world is not inside the list you can create the shop.

Type: whitelist Whitelist is the total opposite of blacklist.

  • If the world in which you are trying to create the GlobalShop is inside ShopWorlds.Worlds shop creation will be possible in this world.
  • If your world is not inside the list you shop creation will not be possible.
# Define on which worlds you can or can't create a shop
ShopWorlds:
  # Define which type of filter is used
  # Possible value : whitelist or blacklist (default blacklist if not specified)
  Type: 'blacklist'
  # List of world allowed (whitelist) or forbidden (blacklist)
  Worlds:
  # - world
  # - world_the_end

Shop link block

When you create a GlobalShop you can choose to link the shop with a block. When players will click on the block it will open the shop as if they had clicked on the sign.

AllowedLinkBlock:
  - minecraft:ender_chest
  - minecraft:chest

Price config

When you create an auction you have price ranges. Those ranges can be configure inside Price variable.

Price:
  # Limit the price an item can be sold (generate the file price-limits.yml to configure the price by item)
  LimitPriceChoice: false
  # Define if the button "Free" must be place dynamically at the end of the line or at a fixed position
  DynamicFreePosition: true
  # All price ranges value, you can have maximum 9 ranges (chest width)
  Ranges:
    - 1000
    - 100
    - 10
    - 1
    - 0.1
    - 0.01
  # Items used for price ranges, if there is less items than price ranges the last item will be used to complete
  Items:
    - minecraft:emerald_block
    - minecraft:emerald
    - minecraft:diamond_block
    - minecraft:diamond
    - minecraft:gold_ingot
    - minecraft:iron_ingot
    - minecraft:coal
    - minecraft:redstone
    - minecraft:lapis_lazuli

Items Blacklist

You can choose which items you don't want them to be sold. This configuration is done in configuration variable ItemsBlacklist.Items. You can also block items that contains a specific description with ItemsBlacklist.Lores.

# Items that can't be sold
ItemsBlacklist:
  # MinecraftKeys of items blacklisted
  Items:
    - minecraft:barrier
    - minecraft:chain_command_block
    - minecraft:command_block
    - minecraft:command_block_minecart
    - minecraft:debug_stick
    - minecraft:knowledge_book
    - minecraft:repeating_command_block
    - minecraft:structure_block
    - minecraft:structure_void
    - minecraft:jigsaw
  # Lores of items blacklisted
  Lores:
    # - "Can't sell"

Interfaces items

You can configure all items used inside interfaces. Interfaces items are called Buttons. Here you can configure the item used and inside language file you can configure the name and the description displayed.

Interfaces:
  # Warning interface messages are represented by flashing item alternating Background this item
  Warn: minecraft:red_stained_glass_pane
  # Backgrounds for interfaces
  Backgrounds:
    Default: minecraft:black_stained_glass_pane
    Admin: minecraft:light_blue_stained_glass_pane
  # All others buttons used inside interface are defined here
  Buttons:
    NewAuction: minecraft:nether_star
    CreateAuction: minecraft:nether_star
    BuyAuction: minecraft:nether_star
    AdminRemoveAuction: minecraft:red_wool
    AdminSeePlayerAuctions: minecraft:player_head
    RenewAuction: minecraft:orange_wool
    UndoAuction: minecraft:red_wool
    RenewEveryAuction: minecraft:orange_wool
    UndoEveryAuction: minecraft:red_wool
    ExitButton: minecraft:barrier
    Validate: minecraft:spectral_arrow
    Return: minecraft:tipped_arrow
    CreateShop: minecraft:nether_star
    Money: minecraft:gold_ingot
    GlobalView: minecraft:enchanted_book
    Search: minecraft:hopper
    SearchItemDrop: minecraft:grass_block
    SearchItemText: minecraft:paper
    SearchByPlayer: minecraft:player_head
    ViewByCategory: minecraft:compass
    ViewByPlayer: minecraft:chest
    ViewByLastCreated: minecraft:apple
    AuctionSide: minecraft:blue_stained_glass_pane
    AuctionMiddle: minecraft:white_stained_glass_pane
    GlobalShop: minecraft:ender_chest
    AuctionShop: minecraft:shulker_box
    AdminShop: minecraft:chest
    ShopIcon: minecraft:ender_chest
    EditGroupName: minecraft:blue_stained_glass_pane
    PreviousPage: minecraft:arrow
    NextPage: minecraft:arrow
    NumPage: minecraft:book
    MaxInOne: minecraft:orange_stained_glass_pane
    MaxRepeat: minecraft:orange_stained_glass_pane
    RepeatIncrease: minecraft:purple_stained_glass_pane
    RepeatDecrease: minecraft:light_blue_stained_glass_pane
    InProgressAuction: minecraft:book
    ExpiredAuction: minecraft:book
    SoldAuction: minecraft:book
    BoughtAuction: minecraft:book
    CanceledAuction: minecraft:book
    FreePrice: minecraft:lime_stained_glass_pane
    CircleSetItem: minecraft:lime_stained_glass_pane
    CircleUnsetItem: minecraft:blue_stained_glass_pane
    YesButton: minecraft:lime_wool
    NoButton: minecraft:red_wool
    Question: minecraft:redstone_torch
    LastAuctions: minecraft:clock
    LastCreatedAuctions: minecraft:clock
    LastBoughtAuctions: minecraft:compass
    AdvicePriceInfo: minecraft:name_tag
    SeeShulkerBoxContent: minecraft:shulker_shell

Sign

To create a shop you must use a sign. All configuration about this sign is in variable Sign.

Sign:
  Appearance:
    # Config for GobalShop creation
    GlobalShop:
      # The text displayed on the sign when shop creation is successful
      DisplayName: "&a[GlobalShop]"
      # The item used inside the shop as icon
      DisplayItem: minecraft:compass
      # The first line that must write on sign to create shop
      FirstLineToCreate: "globalshop"
    # The text displayed on the sign when shop creation failed
    NotWorkingShopDisplayName : "&c[DisableShop]"

Chat

In some cases, you may have to interact with the chat (eg: search of auction by name). All configuration is available here.

Chat:
  # Define if a timeout must be used when the player is in chat mode (ex: when search auction by name)
  UseTimeout: true
  # Timeout in seconds used when the player is in chat mode (ex: when search auction by name)
  Timeout: 10
  # Define if the player can use a specific sequence to exit the chat mode
  UseExitSequence: true
  # Sequence to write to exit the chat mode
  ExitSequence: "exit"
  # Define if the display message (Divers.ExitChatMode) must be displayed
  DisplayHelpExit: true

Ranks

Ranks allow to override some parameters available inside Options section. For now you can only override 4 parameters:

  • MaxAuctionByPlayer
  • LimitGlobalShopByPlayer
  • MaxGlobalShopByPlayer
  • NumberDaysExpiration

To give access to a rank to a player you must set him the permissions, globalmarketchest.ranks.<rank_name>. For example for member you have to give the access to permission globalmarketchest.ranks.member

Ranks can be combined together, it will keep the higher value for numbers and it will keep the false value for boolean. Each rank inherits the parameters inside Options section.

NB : Don't forget to set parameter Ranking.EnableRanks to true to test ranks

Ranking:
  # Define if the ranks system is enabled
  EnableRanks: false
  # List of ranks
  Ranks:
    # Name of rank
    # A rank can be given to a player by giving the permission globalmarketchest.ranks.<rank_name>
    # Example here: globalmarketchest.ranks.member
    Member:
      # Property that override default property for player with this rank
      MaxAuctionByPlayer: 100
      # Property that override default property for player with this rank
      MaxGlobalShopByPlayer: 1
      # An auction expire if it is older than NumberDaysExpiration
      NumberDaysExpiration: 14