Issue With Controller Dimlets
natedogith1 opened this issue ยท 1 comments
Maybe I'm not understanding what the code's supposed to do, but it seems to me that the controllers (warm, dry, high, etc) dimlets ignore the aspect they're trying to control.
For instance in CONTROLLER_COLD we have
public double calculateBiomeDistance(BiomeGenBase a, BiomeGenBase b) {
return calculateBiomeDistance(a, b, false, true, false);
}
which, if I'm reading it right, means that it will find biomes with the closest height and humidity, rather than biomes with the closest temperature.
By the way, this is in ControllerType.java
When a biome controller is filtering the list of allowed biomes, it tries to use the most similar biome to the one it wants to use. To do this, there's two functions in each biome controller. The first is match
, which answers the question "is this biome allowed to be used in this dimension". The second is calculateBiomeDistance
, which answers the question "how good of a match should we consider one biome to be for another". If you've specified that you want all of your biomes to be cold, it doesn't make sense to say that a biome is a poor match just because it's cold, so temperature isn't considered in that check.