HomeJavaModsBiomentry
Biomentry
Biomentry — screenshot 1Biomentry — screenshot 2

📌 About Biomentry

Biomentry is not just a biome notifier – it’s a full immersion system for Minecraft.
It makes each biome feel alive, unique, and reactive.

From animated titles and ambient sounds to advanced conditional rules, Biomentry connects the environment to the player’s journey — whether they’re crossing deserts, exploring lush caves, or wandering in modded dimensions.

Perfect for RPG, adventure, survival, and storytelling servers, Biomentry turns exploration into an experience.


✨ Core Features

📍 Intelligent Biome Detection


🕳️ Advanced Cave Detection

A multi-criteria scoring system determines whether a player is truly in a cave, factoring in:

This allows accurate detection even in artificial caves or open ravines.


🖥️ Immersive Visual Notifications


🔊 Ambient Sounds


⚙️ Player Customization


🛡️ Region & Server Integration


🔥 New in v0.3 – Sappling Update

1️⃣ Advanced Condition System


2️⃣ Custom Biome & Cave Support


3️⃣ Enhanced Immersion & Stability


🚀 Why Biomentry?

Biomes in Minecraft are stories, atmospheres, and identities.
Biomentry gives them a voice.

Ideal for servers that want:

With Biomentry, every step into a new biome — surface or cave, vanilla or modded — feels like a new chapter.

Config files

config.yml
#configuration for Biomentry
# General settings
general:
  language: 'en'  # Plugin language: 'fr' (French) or 'en' (English)
  enableParticles: false # Enable or disable particle effects globally 
  enableCommands: false # Enable or disable command execution globally
  enableAmbientSounds: true # Enable or disable ambient sounds globally

# Title display settings
titleInfo:
  fadeIn: 10      # Fade-in time (in ticks)
  stay: 70        # Display duration (in ticks)
  fadeOut: 20     # Fade-out time (in ticks)
  animationType: 'fade'  # Animation type: 'fade', 'typewriter', or 'slide'
  typewriterSpeed: 2           # Typewriter speed (characters per tick)

# Priority system for display management
priority:
  enabled: true                    # Enable priority system
  level: 'medium'                  # Priority level: 'low', 'medium', 'high'
  pauseOnOtherPlugins: true        # Pause biome displays when other plugins show titles
  resumeDelay: 40                  # Delay (in ticks) before resuming after other plugin finishes
  checkInterval: 5                 # Interval (in ticks) to check for other plugin activities

# Biome groups – Biomes in the same group won’t trigger a notification 
# when transitioning between each other
biomeGroups:
  # Birch forests
  - ['birch_forest', 'old_growth_birch_forest']
  # Taigas
  - ['taiga', 'old_growth_spruce_taiga', 'old_growth_pine_taiga', 'snowy_taiga']
  # Dark forests
  - ['dark_forest']
  # Oceans
  - ['ocean', 'deep_ocean', 'warm_ocean', 'lukewarm_ocean', 'cold_ocean', 'frozen_ocean', 'deep_cold_ocean', 'deep_frozen_ocean', 'deep_lukewarm_ocean']
  # Deserts
  - ['desert']
  # Mountains and peaks
  - ['windswept_hills', 'windswept_forest', 'windswept_gravelly_hills', 'windswept_savanna', 'jagged_peaks', 'frozen_peaks', 'stony_peaks']
  # Caves
  - ['deep_dark', 'dripstone_caves', 'lush_caves']
  # Badlands
  - ['badlands', 'eroded_badlands', 'wooded_badlands']
  # Savannas
  - ['savanna', 'savanna_plateau', 'windswept_savanna']

# WorldGuard regions where notifications are disabled
disabledRegions:
  - spawn
  - safe_zone
  - pvp_arena

# List of worlds where the plugin is completely disabled (just exemple here)
disabled-worlds:
  - "a_minigame_world"
  - "world_the_end"
biomes.yml
# And extract of the biome configurations
# Here you define the BEHAVIOR of each biome.
# The actual text for titles and subtitles is in the language files.
biomes:
  plains:
    title: 'biomes.plains.title'
    subtitle: 'biomes.plains.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_GRASS_BREAK'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
  forest:
    title: 'biomes.forest.title'
    subtitle: 'biomes.forest.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_CHERRY_WOOD_BREAK'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
  dark_forest:
    title: 'biomes.dark_forest.title'
    subtitle: 'biomes.dark_forest.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'AMBIENT_CAVE'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
  birch_forest:
    title: 'biomes.birch_forest.title'
    subtitle: 'biomes.birch_forest.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_CHERRY_WOOD_BREAK'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
  old_growth_birch_forest:
    title: 'biomes.old_growth_birch_forest.title'
    subtitle: 'biomes.old_growth_birch_forest.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_CHERRY_WOOD_BREAK'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
  flower_forest:
    title: 'biomes.flower_forest.title'
    subtitle: 'biomes.flower_forest.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_GRASS_BREAK'
    commands: []
    particle:
      type: "VILLAGER_HAPPY"
      count: 10
      offset: 0.5
      speed: 0.1
    bossBar:
      color: 'WHITE'
      style: 'SOLID'

    ambient_sound:
      sound: 'ambient.weather.rain'
      volume: 0.1
      pitch: 1.0
      delay: 200
      
  'clifftree:desert_cliff':
    title: 'biomes.clifftree.desert_cliff.title'
    subtitle: 'biomes.clifftree.desert_cliff.subtitle'
    display: 'actionbar'
    animationType: 'typewriter'
    separator: ' | '
    sound: 'BLOCK_SAND_BREAK'
    bossBar:
      color: 'YELLOW'
      style: 'SOLID'
      duration: 120
    particle:
      type: "DUST"
      count: 15
      offset: 0.6
      speed: 0.1
conditions.yml
# Configuration file for the Biomentry condition system.
# Each "rule" defines a trigger, conditions, and actions.

rules:
  # --- EXAMPLE 1: Simple "IF ... AND ..." condition (AND) ---
  # The player receives speed in the desert, but only if it's daytime AND they have the permission.
  desert_speed_day:
    trigger:
      type: 'ENTER_BIOME'
      biome: 'minecraft:desert'
    conditions:
      and: # "and" is a list of conditions that must ALL be true
        - type: 'WORLD_TIME'
          operator: 'LESS_THAN'
          value: 12500 # Before sunset
        - type: 'HAS_PERMISSION'
          permission: 'biomentry.condition.desert_speed'
    actions:
      - type: 'APPLY_EFFECT'
        effect: 'SPEED'
        duration: 600 # in ticks (30 seconds)
        amplifier: 0

  # --- EXAMPLE 2: "IF IN CAVE" condition ---
  # The player receives a torch if they enter any cave and have the permission.
  generic_cave_torch:
    trigger:
      type: 'ENTER_BIOME'
      in_cave: true # This rule only applies when the player is in a cave.

    conditions:
      or: # AT LEAST ONE condition must be true
        - type: 'HAS_PERMISSION'
          permission: 'biomentry.condition.torch_giver'
        - type: 'HAS_EFFECT'
          effect: 'NIGHT_VISION'
    actions:
      - type: 'RUN_COMMAND'
        command: 'give %player_name% minecraft:torch 4'
      - type: 'SEND_MESSAGE'
        message: '<gray>You feel like an explorer in these caves.</gray>'

  # --- EXAMPLE 3: "IF NOT ..." condition (NOT) ---
  # The player receives a warning if they enter the Nether WITHOUT full diamond armor.
  nether_warning:
    trigger:
      type: 'ENTER_BIOME'
      biome: 'minecraft:nether_wastes'
      in_cave: false # Only applies on the "surface" of the Nether
    conditions:
      not: # "not" inverts the condition it contains
        type: 'HAS_ARMOR' 
        material: 'DIAMOND'
        pieces: 4 # 4 pieces for full armor
    actions:
      - type: 'SEND_MESSAGE'
        message: '<#FF6347><b>Warning!</b> The Nether is dangerous without proper equipment.'

  # --- EXAMPLE 4: "IF NEITHER ... NOR ..." condition (NOT + OR) ---
  # The player takes damage in the Deep Dark if they have NEITHER the Regeneration effect, NOR the Resistance effect.
  deep_dark_danger:
    trigger:
      type: 'ENTER_BIOME'
      biome: 'minecraft:deep_dark'
    conditions:
      # The logic is: NOT (A OR B)
      not:
        or:
          - type: 'HAS_EFFECT'
            effect: 'REGENERATION'
          - type: 'HAS_EFFECT'
            effect: 'RESISTANCE'
    actions:
      - type: 'APPLY_EFFECT'
        effect: 'WITHER' # Applies the Wither effect
        duration: 100
        amplifier: 0
      - type: 'SEND_MESSAGE'
        message: '<#8B0000>You feel a malevolent presence draining your life...'

  # --- EXAMPLE 5: Requested Actions ---
  # Gives a temporary permission and health/saturation upon entering a specific biome.
  ancient_forest_bonus:
    trigger:
      type: 'ENTER_BIOME'
      biome: 'minecraft:old_growth_pine_taiga'
    conditions:
      # No conditions, triggers for everyone
      and: []
    actions:
      - type: 'ADD_PERMISSION'
        permission: 'essentials.fly'
        duration: 300 # in seconds (5 minutes)
      - type: 'HEAL'
        amount: 4.0 # in half-hearts (here, 2 hearts)
      - type: 'GIVE_SATURATION'
        amount: 5.0
      - type: 'SEND_MESSAGE'
        message: '<#2E8B57>The strength of the ancient forest flows through you.'
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more