Skip to main content
Evolve+ is configured through YAML files in plugins/EvolvePlus. For step-by-step examples, see Customization.

Files

FilePurpose
config.ymlLicense key, database, Redis, Folia behavior, hologram layout, contribution suffixes, and region unlocks.
economy.ymlEconomy balancing and wealth multiplier settings.
eras.ymlEra order, goals, requirements, blocked materials, and era effects.
nodes.ymlTech node content, display positions, requirements, costs, lockouts, and rewards.
lang.ymlMessages, colors, command output, GUI text, and hologram text.

Eras

Each era is defined under eras.
eras:
  AGRARIAN:
    display-name: "Agrarian Age"
    order: 1
    goal: 10000.0
    requirements:
      - crop_rotation
    blocked-materials:
      - REPEATER
      - COMPARATOR
    effects:
      - type: SATURATION
        amplifier: 0
        ambient: true
Important fields:
  • order: Determines progression order.
  • goal: Money required for global contribution progression.
  • requirements: Node ids associated with this era’s intended milestone path.
  • blocked-materials: Materials blocked until later eras.
  • effects: Potion effects applied while the era is active.

Nodes

Each node is defined under nodes.
nodes:
  primitive_tools:
    name: "Primitive Tools"
    description: "Access to basic stone-age equipment."
    era: "PRIMITIVE"
    requirements: []
    lockouts: []
    rewards:
      - "give <player> stone_pickaxe 1"
      - "experience add <player> 100 points"
    display: { x: 0.0, y: 2.5, z: 0.0 }
    costs:
      money: 250.0
      xp_levels: 3
Node fields:
  • name: Display name in the tree and editor.
  • description: Marketplace-facing and in-game description.
  • era: Era the node belongs to.
  • requirements: Parent nodes required before unlock.
  • lockouts: Mutually exclusive nodes to lock after unlock.
  • rewards: Console commands executed after unlock.
  • display: Floating tech tree position.
  • costs: Money, XP, and item requirements.

Contribution Suffixes

Configure player-friendly amount suffixes in config.yml.
contribution:
  compact-amounts:
    enabled: true
    suffixes:
      k: 1000
      m: 1000000
      b: 1000000000
      t: 1000000000000
This lets players type commands such as /evolve contribute 1m.

Discord Webhooks

Evolve+ can post rich Discord webhook embeds for era transitions, node unlocks, and contributions.
discord:
  enabled: true
  webhook-url: "https://discord.com/api/webhooks/..."
  username: "Evolve+"
  mention-role-id: ""
  mention-era-transitions: false
  events:
    era-transitions: true
    node-unlocks: true
    contributions: true
  contributions:
    minimum: 10000.0
After setting the webhook, run /evolve discord test. Keep mention-era-transitions disabled unless you intentionally want Discord role pings when a new era starts.

Hologram Layout

The floating tech tree is controlled under hologram.
hologram:
  enabled: true
  render-mode: "BUKKIT_TEXT_DISPLAY"
  layout:
    scale:
      x: 1.0
      y: 1.0
      z: 1.0
Use display positions in nodes.yml for individual node placement and the hologram.layout section for global scaling, offsets, and interaction tuning.

Database

For local testing, Evolve+ can run in memory. For production, MongoDB is recommended.
database:
  mongo-enabled: true
  mongo-uri: "mongodb://127.0.0.1:27017/?directConnection=true"
  mongo-fail-fast: false
  redis:
    enabled: false
Redis is optional and only needed for cross-server synchronization.