Skip to main content

Custom Biome

Define unique environments, paint them into the world, or show them to a single player.

The Custom Biome Extension lets you define biomes of your own — colours, fog, sky, climate and visual attributes — and use them like vanilla ones. A biome is registered as soon as you save it, and a datapack is generated so it survives a restart and exists for world generation.

Entries

Getting Started

  1. Define a biome with custom_biome_definition.
  2. Paint it with apply_biome_action or paint_biome_region_action.
  3. React to players entering it with enter_biome_event.

[!NOTE] Registration happens live. If your server does not allow it, the extension says so in the console and falls back to the generated datapack, which takes effect on the next restart. Run /tw biome list to see which biomes are live and which are waiting.

World changes versus per-player views

Two different tools, and picking the right one matters:

Changes the worldWho sees it
apply_biome_action, paint_biome_region_actionYes, saved to diskEveryone
player_biome_overlay_action, biome_transition_cinematicNoOne player

Per-player overlays are the right choice for story moments — a corrupted forest during a quest — because nothing is written and removing the overlay restores the real world instantly.

Commands

All commands live under /typewriter biome (/tw biome).

CommandDescription
/tw biome listList custom biomes and whether each one is live
/tw biome info [player]Show the biome a player is standing in
/tw biome apply <biome> [radius]Paint a biome around a player
/tw biome refresh [radius]Resend biome data to a player

Permissions

PermissionDescription
typewriter.biomeAccess to biome commands
typewriter.biome.listList custom biomes
typewriter.biome.infoView current biome info
typewriter.biome.applyPaint biomes via command
typewriter.biome.refreshResend biome data

Placeholders

PlaceholderDescription
%typewriter_custombiome_current%Current biome key
%typewriter_custombiome_name%Current biome display name
%typewriter_custombiome_is_custom%true when the biome is a custom one
%typewriter_custombiome_temperature%Temperature, custom biomes only
%typewriter_custombiome_downfall%Downfall, custom biomes only
%typewriter_custombiome_base%Base biome of the definition
%typewriter_custombiome_count%Number of registered custom biomes
%typewriter_custombiome_list%Their display names
%typewriter_custombiome_discovered_count%Biomes this player has visited
%typewriter_custombiome_discovered_list%Their keys

Player placeholders follow what the player is actually shown, so a player under an overlay reports the overlay biome rather than the one stored in the world.

Requirements

PacketEvents is required for biome updates and per-player overlays. WorldEdit / FAWE is optional and only used when a region action reads a selection.