#include "minecraft/world/level/newbiome/layer/TemperatureMixerLayer.h" #include #include #include "minecraft/world/level/biome/Biome.h" #include "minecraft/world/level/newbiome/layer/Layer.h" TemperatureMixerLayer::TemperatureMixerLayer(std::shared_ptr temp, std::shared_ptr parent, int layer) : Layer(0) { this->parent = parent; this->temp = temp; this->layer = layer; } std::vector TemperatureMixerLayer::getArea(int xo, int yo, int w, int h) { std::vector b = parent->getArea(xo, yo, w, h); std::vector t = temp->getArea(xo, yo, w, h); std::vector result(w * h); for (int i = 0; i < w * h; i++) { result[i] = t[i] + (Biome::biomes[b[i]]->getTemperatureInt() - t[i]) / (layer * 2 + 1); } return result; }