Skip to content

Coastal Waves

jack edited this page Sep 13, 2026 · 3 revisions

Coastal Waves

The Coastal Waves backport adds animated waves that approach shores and can play breaking sounds. It is a client effect on vanilla water surfaces. Wave visuals do not push entities or alter water blocks.

Configuration guide · All categories

Spawning and size

Config category: waves.

Waves need an eligible biome, a water surface and a nearby shoreline. waveSearchDistance limits how far a candidate searches for land, so increasing the maximum shore distance alone does not extend that search. Spawn amount is an average number of attempts per interval, not guaranteed waves. At the defaults, attempts accumulate at 0.7 per 20 ticks. Lower the amount or increase the interval for fewer waves.

Shoreline candidates must belong to a solid 3×3 land footprint at water level or one block above it. Isolated pillars, 2×2 rocks, and narrow strips do not attract coastal waves. A passing wave continues past small posts toward its actual shore.

With waveShaderWater enabled and an Angelica shader pack active, waves use breaking foam over the pack's existing water surface. Fresh foam accumulates where the crest compresses, flows backward, and breaks into thinner bubble walls and gaps as it dissipates. The detail moves and stretches with the foam. At shore, foam production stops and the remaining foam spreads and fades. Disabling the option or using an unsupported Angelica rendering integration preserves the original animated sprites.

The foam simulation, density breakup, and texture are adapted from Crest Ocean System, under its MIT license. AET supplies the local coastal wave motion; no shader-pack patches are required.

Setting Default Range or format Effect
wavesEnabled true true / false Enable ambient coastal waves on vanilla water surfaces.
waveShaderWater true true / false Use procedural coastal breaking foam over Angelica shader water. Falls back to the original animated sprites when disabled or the Angelica rendering integration is unavailable.
waveSearchDistance 14 1 to 64 Maximum block distance to search for a shoreline from a candidate water block.
waveSpawnDistance 64.0 8.0 to 256.0 Maximum horizontal distance from the player where waves can spawn.
waveSpawnAmount 0.7 0.0 to 16.0 Average number of waves to try spawning per spawn tick. Fractional values are accumulated over time.
waveSpawnFrequency 20 0 to 2147483647 Ticks between wave spawn attempts. Set to 0 to disable spawning without disabling rendering.
waveSpawnDistanceFromShoreMin 4.0 0.0 to 256.0 Minimum water-block distance from shore for new waves.
waveSpawnDistanceFromShoreMax 48.0 0.0 to 512.0 Maximum water-block distance from shore for new waves.
waveSpawningFOVLimit 140.0 0.0 to 360.0 Maximum angle around the player's view direction where waves can spawn. 360 allows waves all around the player.
waveScale 1.0 0.1 to 8.0 Visual size multiplier for wave crests.

Breaking sounds

Config category: waves.

A larger breaking-sound chance value makes sounds rarer. 0 makes every eligible wave audible; use volume 0 to silence them. Sound range 0 restores vanilla attenuation instead of muting the effect.

Setting Default Range or format Effect
waveVolume 1.0 0.0 to 10.0 Volume multiplier for breaking wave sounds.
waveSoundRange 128.0 0.0 to 512.0 Maximum attenuation distance in blocks for breaking wave sounds. Vanilla range at the default worst-case wave volume is about 105 blocks; the default custom range is 128. Set to 0 to use vanilla sound range.
waveBreakingSoundChance 40 0 to 2147483647 How often waves play a breaking sound near shore. Higher values are rarer; 0 makes every eligible wave audible. Set waveVolume to 0 to silence waves.

Biomes

Config category: waves.

Entries accept biome IDs, biome names, or Forge dictionary types such as type:OCEAN. Matching ignores case, spaces, underscores, hyphens and namespace prefixes. A blacklist match takes priority over the whitelist. For example, adding type:RIVER permits river-biome candidates that also meet the shoreline rules.

Setting Default Range or format Effect
waveBiomeWhitelist Default list List of text entries Biome IDs, biome names, or Forge BiomeDictionary entries where ambient coastal waves may spawn. Use entries like "type:OCEAN", "type:BEACH", "Ocean", or "Coral Reef". Matching is case-insensitive and ignores spaces, underscores, hyphens, and namespace prefixes. Defaults mirror the original Waves biome tag with 1.7.10 and Biomes O' Plenty ocean/beach biomes.
waveBiomeBlacklist Shield List of text entries Biomes to exclude from wave spawning even if they match the whitelist. Accepts the same format as waveBiomeWhitelist: biome IDs, names, or "type:" dictionary entries. Blacklisted biomes always take priority over whitelisted entries.

Default waveBiomeWhitelist

S:waveBiomeWhitelist <
    type:OCEAN
    type:BEACH
    Coral Reef
    Kelp Forest
    Tropics
 >

Clone this wiki locally