Configuration Reference

Full reference for plugins/SteadfastVillagers/config.yml

Conversion Settings

Controls how villagers are converted to blocks.

conversion:
  item: EMERALD_BLOCK
  consume-item: true
  min-conversion-level: 1
  preserve-custom-name: true
  allowed-professions:
    - ARMORER
    - BUTCHER
    - CARTOGRAPHER
    # ... all 13 professions
SettingTypeDefaultDescription
itemMaterialEMERALD_BLOCKItem required to convert a villager
consume-itemBooleantrueWhether the item is consumed on use
min-conversion-level1-51Minimum villager level (1=Novice, 5=Master)
preserve-custom-nameBooleantrueKeep villager's custom name on the block
allowed-professionsListAll 13Which professions can be converted

Villager Levels

LevelNameTrades Unlocked
1Novice1-2 trades
2Apprentice3-4 trades
3Journeyman5-6 trades
4Expert7-8 trades
5MasterAll trades

Block Behavior

block:
  require-silk-touch: true
  blast-resistant: true
  fire-resistant: true
SettingTypeDefaultDescription
require-silk-touchBooleantrueRequire Silk Touch to pick up
blast-resistantBooleantrueImmune to explosions
fire-resistantBooleantrueImmune to fire/lava

Visual Effects

effects:
  particles:
    enabled: true
    type: HAPPY_VILLAGER
    frequency-ticks: 20
  comparator-output: true
SettingTypeDefaultDescription
particles.enabledBooleantrueShow ambient particles
particles.typeParticleHAPPY_VILLAGERParticle type to display
particles.frequency-ticksInteger20Ticks between particles (20 = 1 sec)
comparator-outputBooleantrueEnable redstone comparator output

Comparator Output Values

SignalMeaning
0No active trade or output full
1-14Proportional to output buffer fill
15Output empty, actively trading

Storage Buffers

storage:
  input-buffer-size: 27
  output-buffer-size: 27

27 slots = chest size, 54 slots = double chest size (max).

XP System

xp:
  enabled: true
  max-stored: 10000
  allow-mending: true
  xp-to-bottles:
    enabled: false
    xp-per-bottle: 10
    output-to-hopper: true
SettingTypeDefaultDescription
enabledBooleantrueCollect XP from trades
max-storedInteger10000Maximum XP storage
allow-mendingBooleantrueRepair Mending items when collecting
xp-to-bottles.enabledBooleanfalseConvert XP to bottles

Villager Leveling

leveling:
  enabled: true
  xp-multiplier: 1.0
  play-effects: true
SettingTypeDefaultDescription
enabledBooleantrueAllow blocks to level up
xp-multiplierDouble1.0XP rate (2.0 = twice as fast)
play-effectsBooleantrueLevel-up particles/sounds

Trade Mechanics

trades:
  lock-mode: VANILLA  # or INFINITE
  activation-range: 16
  vanilla:
    max-uses-per-restock: 4
    restock-interval-ticks: 24000
    require-workstation: true
  cooldown-ticks: 200

Lock Modes

ModeDescription
VANILLATrades lock after uses, restock periodically
INFINITETrades never lock, no restocking needed
SettingTypeDefaultDescription
activation-rangeInteger16Player distance for processing (0 = chunk-loaded only)
vanilla.restock-interval-ticksInteger24000Ticks between restocks (24000 = 20 min)
vanilla.require-workstationBooleantrueRequire workstation in GUI
cooldown-ticksInteger200Ticks between trades (200 = 10 sec)

Workstation Requirements

ProfessionWorkstation
ArmorerBlast Furnace
ButcherSmoker
CartographerCartography Table
ClericBrewing Stand
FarmerComposter
FishermanBarrel
FletcherFletching Table
LeatherworkerCauldron
LibrarianLectern
MasonStonecutter
ShepherdLoom
ToolsmithSmithing Table
WeaponsmithGrindstone

Discount Settings

discount:
  enabled: true
  max-percent: 80
  hero-of-village: true
Key Difference: Vanilla discounts decay over time and are player-specific. SteadfastVillagers captures the discount at conversion — it's permanent and transfers with the block.

Protection Integration

protection:
  griefprevention:
    enabled: true
    required-trust: CONTAINER

Database Configuration

database:
  host: localhost
  port: 3306
  database: steadfastvillagers
  username: minecraft
  password: your_password
  table-prefix: vb_

Database Setup SQL

CREATE DATABASE steadfastvillagers;
CREATE USER 'minecraft'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON steadfastvillagers.* TO 'minecraft'@'localhost';
FLUSH PRIVILEGES;

Example Configurations

Vanilla SMP

conversion:
  min-conversion-level: 5  # Master only
trades:
  lock-mode: VANILLA
  vanilla:
    require-workstation: true
block:
  require-silk-touch: true

Economy Server

conversion:
  min-conversion-level: 3  # Journeyman+
discount:
  enabled: true
  max-percent: 50  # Cap for balance
trades:
  cooldown-ticks: 100  # Faster

Skyblock

conversion:
  min-conversion-level: 1  # Any level
trades:
  lock-mode: INFINITE
  activation-range: 0  # Chunk-loaded only
storage:
  input-buffer-size: 54
  output-buffer-size: 54