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)
#
# -- Data Components --------------------------
# Icons support the following Minecraft data components:
# custom_name - Item name (MiniMessage)
# lore - List of lines (MiniMessage)
# profile - Head texture (textures: 'base64...')
# enchantments - Enchantment:level map
# custom_model_data - floats, flags, strings, colors
# item_model - Model resource location
# potion_contents - Potion type, color, effects
# tooltip_display - Hide tooltip or components
# tooltip_style - Custom tooltip style
# Internal version — do not edit. Bump = new keys were added.
config-version: 1
# 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
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
# -- 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]
prices:
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]
# -- 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'
potion_contents:
custom_color: 16679863
tooltip_display:
hidden_components:
- 'potion_contents'
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>'
- ''
action:
sound:
type: 'sound'
value: 'minecraft:block.amethyst_block.place'
deny-icon:
material: 'GLASS_BOTTLE'
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'
potion_contents:
custom_color: 16679863
enchantment_glint_override: true
tooltip_display:
hidden_components:
- 'potion_contents'
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>'
- ''
action:
sound:
type: 'sound'
value: 'minecraft:block.amethyst_block.place'
deny-icon:
material: 'GLASS_BOTTLE'
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'
profile:
textures: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4NzZjZTFiY2VjMmI5MjI0ZjRkNjhlZTA0ZjdjNjNiZjM1NGJhOTY2ZmE2YTVjYjg4ZDFiNWMwNTA0ZGRjMyJ9fX0='
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> '
- ''
# -- Close Button ---------------------------
close-icon:
symbol: 'C'
material: 'PLAYER_HEAD'
profile:
textures: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4NzZjZTFiY2VjMmI5MjI0ZjRkNjhlZTA0ZjdjNjNiZjM1NGJhOTY2ZmE2YTVjYjg4ZDFiNWMwNTA0ZGRjMyJ9fX0='
custom_name: '<gradient:#FCBDE3:#F973C4><b>Close</b></gradient>'
# -- Decorative Icons -----------------------
decorative-icons:
pink-glass:
symbol: 'J'
material: 'PINK_STAINED_GLASS_PANE'
tooltip_display:
hide_tooltip: true
brain-coral:
symbol: 'K'
material: 'BRAIN_CORAL'
tooltip_display:
hide_tooltip: true
brain-coral-fan:
symbol: 'L'
material: 'BRAIN_CORAL_FAN'
tooltip_display:
hide_tooltip: true
database.yml
database.yml
# Internal version — do not edit. Bump = new keys were added.
config-version: 1
# local database
# SQLite
# remote database
# MySQL
# MariaDB (preferred over MySQL)
#
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: 2
prefix: '<white>[<gradient:#FCBDE3:#F973C4>BrewingMarket</gradient>]</white>'
# -- Placeholders -----------------------------
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> brews for <#FCBDE3>{money}</#FCBDE3>!</white>'
sell-nothing: '{prefix} <white>There are no valid brews to sell.</white>'
sell-error: '{prefix} <white>Transaction failed. Please try again.</white>'
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: 2
prefix: '<white>[<gradient:#FCBDE3:#F973C4>BrewingMarket</gradient>]</white>'
# -- Placeholders -----------------------------
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> bebidas por <#FCBDE3>{money}</#FCBDE3>!</white>'
sell-nothing: '{prefix} <white>No tienes bebidas para vender.</white>'
sell-error: '{prefix} <white>La transacción ha fallado. Inténtalo de nuevo.</white>'
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>'