References
Complete default files — copy, paste, and customize.
config.yml
config.yml
# =============================================
# TheBrewingMarket Configuration
# =============================================
# Supports MiniMessage format for all text fields.
# The layout uses symbols to define the GUI structure.
#
# Price formula: base_price * brewery:score (0.01 to 1.0)
#
# -- Item Components --------------------------
# Each icon has a 'material', an optional 'components' block mirroring the
# vanilla data-component format (kebab-case), and an optional 'action'.
# Supported components:
# custom-name - Item name (MiniMessage)
# lore - List of lines (MiniMessage)
# profile - Head profile (properties: name/value)
# enchantments - Enchantment:level map
# custom-model-data - floats, flags, strings, colors
# item-model - Model resource location
# potion-contents - Potion custom-color
# tooltip-display - hide-tooltip / hidden-components
# tooltip-style - Custom tooltip style
# enchantment-glint-override - Force the glint on/off
# Internal version — do not edit. Bump = new keys were added.
config-version: 2
# Language file to use from the lang/ folder (without .yml)
# Available: en_US, es_ES (or create your own)
lang: 'en_US'
# Number of records shown per page in /tbm history (1-32)
history-per-page: 8
market:
# Allow selling brews from inside shulker boxes via "Sell All".
# Set to false to disable for everyone. When true, individual
# players can be excluded by negating the thebrewingmarket.shulker permission.
shulker-selling: true
# Number format for money in the GUI and messages (Java DecimalFormat pattern).
money-format: '#,##0.##'
title: '<white>🍺 <gradient:#FCBDE3:#F973C4><b>Liquor Store</b></gradient> 🍺</white>'
layout:
- 'JJLKTKLJJ'
- 'IIIIIIIII'
- 'IIIIIIIII'
- 'IIIIIIIII'
- 'IIIIIIIII'
- 'JJLBCSLJJ'
# -- Daily earnings limit -------------------
# Caps how much money each player can earn from the market per day.
# Sales that would exceed the cap are rejected entirely.
limitation:
enable: true
earnings: 10000
# -- Brew prices ----------------------------
# final_price = base_price * brewery:score
# Missing recipes use 'default'. Set a price to 0 to forbid selling.
#
# Two formats, mixable. Flat entries override groups on collision:
# wine: 150 # flat: recipe -> price
# groups: # groups: price -> [recipes]
# 30:
# - darkbeer
# - wheatbeer
brews:
default: 10
beer: 25
cidre: 35
wine: 150
mead: 120
apple_liquor: 140
tequila: 170
shroom_vodka: 220
gr_absinthe: 300
coffee: 40
iced_coffee: 50
hot_choc: 35
eggnog: 60
hangover_detox: 80
groups:
30:
- darkbeer
- wheatbeer
130:
- ap_mead
- vodka
160:
- g_vodka
- gin
- red_sangria
180:
- rum
- gin_and_tonic
200:
- whiskey
- brandy
- french_75
250:
- fire_whiskey
- absinthe
# -- Garden prices (fruits and seeds) -------
# For servers running the Garden plugin. Fixed price (no quality; score is 1).
# Same format as 'brews'. Ids are '<plant>_fruit' or '<plant>_seeds'.
# default: 0 keeps unlisted produce unsellable.
garden:
default: 0
# strawberry_fruit: 5
# strawberry_seeds: 2
# groups:
# 10:
# - apple_fruit
# - cherry_fruit
# -- Item Slots -----------------------------
# Symbol for slots where players can place/view brews
item-slot:
symbol: 'I'
# -- Sell Button (sells only items in the GUI) --
sell-icons:
symbol: 'B'
allow-icon:
material: 'potion'
components:
custom-name: '<gradient:#FCBDE3:#F973C4>● <b>Sell drink</b></gradient>'
lore:
- ''
- ' <font:uniform><white>Sell all brews from</white></font> '
- ' <font:uniform><white>above for <#FCBDE3><money></#FCBDE3> coins.</white></font> '
- ''
- ' <font:uniform><gradient:#FCBDE3:#F973C4><b>> Click to sell</b> 🍺</gradient></font>'
- ''
potion-contents:
custom-color: 16679863
tooltip-display:
hidden-components:
- 'potion-contents'
action:
sound:
type: 'sound'
value: 'minecraft:block.amethyst_block.place'
deny-icon:
material: 'glass_bottle'
components:
custom-name: '<gradient:#FF7373:#FF0D0D><b>Nothing to sell!</b></gradient>'
lore:
- ''
- ' <#FF7373>❌</#FF7373> <white><font:uniform>Nothing to sell!</font></white> <#FF0D0D>❌</#FF0D0D> '
- ''
action:
sound:
type: 'sound'
value: 'minecraft:entity.villager.no'
# -- Sell All Button (sells from GUI + scans inventory) --
sell-all-icons:
symbol: 'S'
allow-icon:
material: 'potion'
components:
custom-name: '<gradient:#FCBDE3:#F973C4>● <b>Sell all!</b></gradient>'
lore:
- ''
- ' <font:uniform><white>Sell all brews from your</white></font> '
- ' <font:uniform><white>inventory for <#FCBDE3><money></#FCBDE3> coins.</white></font> '
- ''
- ' <font:uniform><gradient:#FCBDE3:#F973C4><b>> Click to sell</b> 🍺</gradient></font>'
- ''
potion-contents:
custom-color: 16679863
enchantment-glint-override: true
tooltip-display:
hidden-components:
- 'potion-contents'
action:
sound:
type: 'sound'
value: 'minecraft:block.amethyst_block.place'
deny-icon:
material: 'glass_bottle'
components:
custom-name: '<gradient:#FF7373:#FF0D0D><b>Nothing to sell!</b></gradient>'
lore:
- ''
- ' <#FF7373>❌</#FF7373> <white><font:uniform>Nothing to sell!</font></white> <#FF0D0D>❌</#FF0D0D> '
- ''
action:
sound:
type: 'sound'
value: 'minecraft:entity.villager.no'
# -- Title Icon -----------------------------
title-icon:
symbol: 'T'
material: 'player_head'
components:
custom-name: '<white>🍺 <gradient:#FCBDE3:#F973C4><b>Liquor Store</b></gradient> 🍺</white>'
lore:
- ''
- ' <white>Place your brews below and...</white> '
- ' <white>Sell them for money!</white> '
- ''
- ' <white>The price depends on the recipe</white> '
- ' <white>and the brew quality.</white> '
- ''
profile:
properties:
- name: 'textures'
value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4NzZjZTFiY2VjMmI5MjI0ZjRkNjhlZTA0ZjdjNjNiZjM1NGJhOTY2ZmE2YTVjYjg4ZDFiNWMwNTA0ZGRjMyJ9fX0='
# -- Close Button ---------------------------
close-icon:
symbol: 'C'
material: 'player_head'
components:
custom-name: '<gradient:#FCBDE3:#F973C4><b>Close</b></gradient>'
profile:
properties:
- name: 'textures'
value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4NzZjZTFiY2VjMmI5MjI0ZjRkNjhlZTA0ZjdjNjNiZjM1NGJhOTY2ZmE2YTVjYjg4ZDFiNWMwNTA0ZGRjMyJ9fX0='
# -- Decorative Icons -----------------------
decorative-icons:
pink-glass:
symbol: 'J'
material: 'pink_stained_glass_pane'
components:
tooltip-display:
hide-tooltip: true
brain-coral:
symbol: 'K'
material: 'brain_coral'
components:
tooltip-display:
hide-tooltip: true
brain-coral-fan:
symbol: 'L'
material: 'brain_coral_fan'
components:
tooltip-display:
hide-tooltip: true
database.yml
database.yml
# Internal version — do not edit. Bump = new keys were added.
config-version: 2
# local database
# SQLite
#
# remote database
# MySQL
# MariaDB (preferred over MySQL)
#
# The value below is matched case-insensitively.
data-storage-method: 'SQLite'
SQLite:
# Name of the .db file (without extension) inside the plugin's data folder
file: 'TheBrewingMarket'
# Leave empty to keep the legacy table name 'sell_history' (no prefix)
table-prefix: 'tbm'
MySQL:
host: 'localhost'
port: 3306
user: 'root'
password: 'password'
database: 'minecraft'
connection-parameters: '?useSSL=false&useUnicode=true&characterEncoding=UTF-8'
pool-settings:
max-pool-size: 10
min-idle: 10
max-lifetime: 180000
keep-alive-time: 60000
time-out: 20000
table-prefix: 'tbm'
MariaDB:
host: 'localhost'
port: 3306
user: 'root'
password: 'password'
database: 'minecraft'
connection-parameters: '?useUnicode=true&characterEncoding=UTF-8'
pool-settings:
max-pool-size: 10
min-idle: 10
max-lifetime: 180000
keep-alive-time: 60000
time-out: 20000
table-prefix: 'tbm'
lang/en_US.yml
lang/en_US.yml
# TheBrewingMarket - English Language File (US)
# Supports MiniMessage formatting.
# Use <prefix> to insert the plugin prefix.
# Internal version — do not edit. Bump = new messages were added.
config-version: 3
prefix: '<white>[<gradient:#FCBDE3:#F973C4>BrewingMarket</gradient>]</white>'
# -- Placeholders -----------------------------
# These keys mirror the PlaceholderAPI parameter names — keep them snake_case.
placeholders:
empty:
last_sale_recipe_id: 'N/A'
last_sale_recipe_name: 'N/A'
last_sale_ago: 'N/A'
global_top_recipe_id_today: 'N/A'
global_top_recipe_name_today: 'N/A'
global_top_player_today: 'N/A'
# -- Commands ---------------------------------
command:
only-players: '<prefix> <red>This command can only be used by players.</red>'
no-permission: '<prefix> <white>You don''t have permission to do that.</white>'
reload-success: '<prefix> <white>Configuration reloaded successfully.</white>'
# -- Market -----------------------------------
market:
sell-success: '<prefix> <white>You sold <#FCBDE3><sold-amount></#FCBDE3> <sold-type> for <#FCBDE3><money>$</#FCBDE3>!</white>'
sell-nothing: '<prefix> <white>There are no valid items to sell.</white>'
sell-error: '<prefix> <white>Transaction failed. Please try again.</white>'
# Noun used in 'sell-success', chosen by what was sold (or 'mixed' for a mix).
sell-types:
brews: 'brews'
fruits: 'fruits'
seeds: 'seeds'
mixed: 'items'
limit-reached:
- '<prefix> <white>Daily earnings: <#FCBDE3><earned>$</#FCBDE3>/<#FCBDE3><limit>$</#FCBDE3>.</white>'
- '<prefix> <white>Remaining today: <#FCBDE3><remaining>$</#FCBDE3>.</white>'
# -- History ----------------------------------
history:
invalid-time: '<prefix> <red>Invalid time format. Use: 1s, 1m, 1h, 1d, 1w, 1M, 1Y</red>'
empty: '<prefix> <white><player> has no sell history.</white>'
display:
- ''
- '<gradient:#FCBDE3:#F973C4>◤<st> </st></gradient> <white>[</white><gradient:#FCBDE3:#F973C4>BrewingMarket</gradient><white>]</white> <gradient:#F973C4:#FCBDE3><st> </st>◥</gradient>'
- ''
- '<entries>'
- ''
- '<gradient:#FCBDE3:#F973C4>◣<st> </st></gradient> <previous-page> <white>| <page>/<max-page> |</white> <next-page> <gradient:#F973C4:#FCBDE3><st> </st>◢</gradient>'
- ''
entry: ' <gray>•</gray> <player-head> <white><recipe></white> <gray>x<quantity></gray> <white>[</white><#FCBDE3><quality></#FCBDE3><white>]</white> <white>[</white><#FCBDE3><total>$</#FCBDE3><white>]</white>'
entry-hover: '<white><player></white> <dark_gray>-</dark_gray> <gray><time-ago></gray> <dark_gray>-</dark_gray> <gray><exact-date></gray>'
navigation:
previous: '<gradient:#FCBDE3:#F973C4>«</gradient>'
previous-disabled: '<dark_gray>«</dark_gray>'
previous-hover: '<gray>Click to go to page <page></gray>'
next: '<gradient:#FCBDE3:#F973C4>»</gradient>'
next-disabled: '<dark_gray>»</dark_gray>'
next-hover: '<gray>Click to go to page <page></gray>'
lang/es_ES.yml
lang/es_ES.yml
# TheBrewingMarket - Archivo de idioma en Español (España)
# Soporta formato MiniMessage.
# Usa <prefix> para insertar el prefijo del plugin.
# Versión interna — no editar. Cambio = nuevos mensajes añadidos.
config-version: 3
prefix: '<white>[<gradient:#FCBDE3:#F973C4>BrewingMarket</gradient>]</white>'
# -- Placeholders -----------------------------
# Estas claves espejan los nombres de los params de PlaceholderAPI — mantenerlas snake_case.
placeholders:
empty:
last_sale_recipe_id: 'N/A'
last_sale_recipe_name: 'N/A'
last_sale_ago: 'N/A'
global_top_recipe_id_today: 'N/A'
global_top_recipe_name_today: 'N/A'
global_top_player_today: 'N/A'
# -- Comandos ---------------------------------
command:
only-players: '<prefix> <red>Este comando solo puede ser usado por jugadores.</red>'
no-permission: '<prefix> <white>No tienes permiso para hacer eso.</white>'
reload-success: '<prefix> <white>Configuración recargada exitosamente.</white>'
# -- Market -----------------------------------
market:
sell-success: '<prefix> <white>Vendiste <#FCBDE3><sold-amount></#FCBDE3> <sold-type> por <#FCBDE3><money>$</#FCBDE3>!</white>'
sell-nothing: '<prefix> <white>No tienes productos válidos para vender.</white>'
sell-error: '<prefix> <white>La transacción ha fallado. Inténtalo de nuevo.</white>'
# Sustantivo usado en 'sell-success', según lo vendido (o 'mixed' si es mixto).
sell-types:
brews: 'bebidas'
fruits: 'frutas'
seeds: 'semillas'
mixed: 'productos'
limit-reached:
- '<prefix> <white>Ganancias del día: <#FCBDE3><earned>$</#FCBDE3>/<#FCBDE3><limit>$</#FCBDE3>.</white>'
- '<prefix> <white>Disponible hoy: <#FCBDE3><remaining>$</#FCBDE3>.</white>'
# -- Historial --------------------------------
history:
invalid-time: '<prefix> <red>Formato de tiempo inválido. Usa: 1s, 1m, 1h, 1d, 1w, 1M, 1Y</red>'
empty: '<prefix> <white><player> no tiene historial de ventas.</white>'
display:
- ''
- '<gradient:#FCBDE3:#F973C4>◤<st> </st></gradient> <white>[</white><gradient:#FCBDE3:#F973C4>BrewingMarket</gradient><white>]</white> <gradient:#F973C4:#FCBDE3><st> </st>◥</gradient>'
- ''
- '<entries>'
- ''
- '<gradient:#FCBDE3:#F973C4>◣<st> </st></gradient> <previous-page> <white>| <page>/<max-page> |</white> <next-page> <gradient:#F973C4:#FCBDE3><st> </st>◢</gradient>'
- ''
entry: ' <gray>•</gray> <player-head> <white><recipe></white> <gray>x<quantity></gray> <white>[</white><#FCBDE3><quality></#FCBDE3><white>]</white> <white>[</white><#FCBDE3><total>$</#FCBDE3><white>]</white>'
entry-hover: '<white><player></white> <dark_gray>-</dark_gray> <gray><time-ago></gray> <dark_gray>-</dark_gray> <gray><exact-date></gray>'
navigation:
previous: '<gradient:#FCBDE3:#F973C4>«</gradient>'
previous-disabled: '<dark_gray>«</dark_gray>'
previous-hover: '<gray>Clic para ir a la página <page></gray>'
next: '<gradient:#FCBDE3:#F973C4>»</gradient>'
next-disabled: '<dark_gray>»</dark_gray>'
next-hover: '<gray>Clic para ir a la página <page></gray>'