
Immersive and dynamic Titles when enter a new Biome
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.
lush_caves, deep_dark, dripstone_caves.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.
/biomentry toggle → Enable/disable notifications. /biomentry language <en|fr> → Change language. conditions.yml unlocks deep customization: and, or, not for complex rules in_cave: true/false. terralith:skylands) ensures conditions, sounds, and notifications apply to any biome, vanilla or modded.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.
#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.'