Mojira Archive
MC-268240

biased_to_bottom, very_biased_to_bottom, and trapezoid height providers log spam warnings when configured with an empty range

When, in a datapack, a placed feature is using a biased_to_bottom, very_biased_to_bottom, or trapezoid height provider with an empty range, a warning is logged every time a feature is generated. This is in contrast to the uniform height provider, which only prints it once for each combination of heights.

How to reproduce:

1. Create a new world with the attached "empty_uniform.zip" datapack
2. In the log, a single Empty height range: [30 absolute-29 absolute] warning is written.
3. Create a new world with the attached "empty_trapezoid.zip" datapack
4. The log is spammed with Empty height range: triangle (30 absolute-29 absolute) warnings.

Both datapacks modify the minecraft:ore_copper placed feature to use a height range (min: absolute 30 - max: absolute 29) in a uniform or trapezoid height provider respectively.

Code analysis

The UniformHeight class has a special check to only print each warning once:

if (this.warnedFor.add((long)i << 32 | (long)j)) {
	LOGGER.warn("Empty height range: {}", this);
}

I believe this to have been introduced as part of the fix of MC-236723. However the other height providers do not have this check, thus spamming warnings.

Unresolved

jacobsjo

2024-02-02, 05:35 PM

2024-02-27, 08:18 AM

6

2

Confirmed

Low

Platform

Data Packs, World generation

datapack, logging, worldgen

1.20.4, 24w05b

-