-
Notifications
You must be signed in to change notification settings - Fork 21
Resources : config.yml
Summary :
- Language
- Metrics
- Storage
- Multi Server
- Options
- Log
- Shop Worlds
- Shop link block
- Price config
- Items Blacklist
- Interfaces items
- Sign
- Chat
- Ranks
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
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
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
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.
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
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
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]"
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
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
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
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"
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
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]"
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 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