Skip to content
TTS-STUDIO docs Discord

Plugins / CrateForge

Configuration reference

This is the config.yml CrateForge writes on first start, comments included. Every key you see here is the key the plugin reads; there are no hidden ones. Change a value, reload, and it applies.

Top-level sections: language, storage, cooldown, broadcast, daily-bonus, holograms, ambient, visual-hooks, economy, bstats-id.

# ============================================================================
# CrateForge — main configuration
# ----------------------------------------------------------------------------
# Premium crate plugin for Paper 1.21.x. Every option below is annotated.
# Sample crates and keys are auto-generated under crates/ and keys/ on first
# enable. Run /cf reload after editing any YAML to apply changes hot.
# ============================================================================

# ===== Language =============================================================
# Active language. ISO-639-1 two-letter code (lowercase).
# Bundled out of the box: es (Spanish), en (English).
# Missing keys fall back to en automatically. Operators can drop extra
# lang/<code>.yml files in plugins/CrateForge/lang/.
language: en

# ===== Storage ==============================================================
# Persistence backend for placed crates, key history, token balances, and the
# top-winners leaderboard.
storage:
  type: sqlite       # Only sqlite is supported in v1.x. Reserved for future MySQL backend.
  file: crateforge.db   # File name (relative to plugins/CrateForge/) for the SQLite DB.

# ===== Cooldown =============================================================
# Per-player anti-spam cooldown between crate opens. Prevents double-clicks
# from triggering two animations simultaneously.
cooldown:
  open-ms: 500       # Minimum milliseconds between two consecutive opens by the same player.

# ===== Broadcast ============================================================
# Server-wide announcement when a player wins a high-rarity prize. Uses the
# `crate.broadcast-win` key from lang/{es,en}.yml as the format.
broadcast:
  enabled: true            # Toggle the broadcast feature globally.
  min-rarity: RARE         # Only prizes at this rarity or above trigger a broadcast.
                           # Allowed: COMMON | UNCOMMON | RARE | EPIC | LEGENDARY

# ── Daily Bonus ──────────────────────────────────────────────────────────────
# Players can claim one free key every `cooldown-hours` hours via /cf daily.
daily-bonus:
  enabled: true
  key-id: "legendary_key"
  cooldown-hours: 24

# ===== Holograms ============================================================
# Floating text displayed above placed physical crates (crate name + key hint).
holograms:
  enabled: true            # Show holograms above placed crates.
  height: 1.6              # Blocks above the crate block the text floats at.
  adapter: vanilla         # Backend: vanilla = Paper TextDisplay entities.
                           #          decentholograms = use DecentHolograms (soft-dep).
                           #          cmiholograms = use CMI Holograms module (soft-dep).

# ===== Living crates ========================================================
# A placed crate is not a dead block: an item floats and spins above it, wrapped
# in a particle aura, so players spot a crate across the map. Every crate can
# override the item, the particle and the colour in its own crates/<id>.yml.
ambient:
  enabled: true            # Master switch for the whole living-crate ambience.
  period-ticks: 4          # Ticks between refreshes. Higher = cheaper, choppier aura.
  view-distance: 24        # Blocks. Players farther away get no particles and no display.
  max-rendered: 32         # Safety cap: crates animated per pass, nearest-first by iteration.

  item:
    enabled: true          # The floating, spinning item above the crate.
    material: key          # `key` = the crate's own key item · a material name · `none`.
    height: 1.15           # Blocks above the crate block.
    scale: 0.7             # 1.0 is a full-size item; 0.7 reads well above a chest.
    tilt-degrees: 22       # Keeps flat item sprites (most keys) from turning edge-on and vanishing.
    spin-seconds: 5.0      # Seconds per full turn.
    bob: 0.08              # Vertical float amplitude, in blocks. 0 = perfectly still.
    glow: true             # Full-bright display, so it reads at night and indoors.

  aura:
    enabled: true          # The particle ring orbiting the floating item.
    particle: DUST         # Any Bukkit particle name. DUST is the only one you can tint.
    color: "#FFD54F"       # Dust colour. Give each crate its own in crates/<id>.yml.
    radius: 0.55           # Ring radius, in blocks.
    height: 1.05           # Ring height above the crate block.
    points: 3              # Particles emitted per refresh.
    particleforge-effect: ""   # Optional ParticleForge effect id, replaces the ring above.
                               # Example: crate/legendary-win. Empty = built-in ring.

# ===== Visual hooks =========================================================
# Optional cosmetic integrations. Each is opt-in even when the plugin is
# present, so you can disable a hook without removing the dependency.
visual-hooks:
  items-adder: false       # Resolve `itemsadder:namespace:id` references in prize materials.
  oraxen: false            # Resolve `oraxen:itemId` references in prize materials.
  model-engine: false      # Use ModelEngine for animated crate displays (advanced).

# ===== Economy ==============================================================
# Vault hook for MONEY-type rewards. If disabled or Vault is missing, MONEY
# rewards in crate definitions are silently skipped.
economy:
  enabled: true            # Master switch for Vault-backed money rewards. Requires Vault.

# ===== Telemetry ============================================================
# Anonymous usage stats via bStats. Players themselves can opt out globally
# via plugins/bStats/config.yml — this id is only the project identifier.
bstats-id: 24002