package com.dynious.biota.biosystem;
import com.dynious.biota.lib.Settings;
import net.minecraft.util.MathHelper;
public class ClientBioSystem
{
private float phosphorus;
private float potassium;
private float nitrogen;
public ClientBioSystem(float phosphorus, float potassium, float nitrogen)
{
this.phosphorus = phosphorus;
this.potassium = potassium;
this.nitrogen = nitrogen;
}
public int recolorPlants(int original)
{
int r = (original & 0xFF0000) >> 16;
int g = (original & 0xFF00) >> 8;
int b = original & 0xFF;
float phosphorusDifferenceFromNormal = (phosphorus / (Settings.NORMAL_PHOSPHORUS)) - 1;
if (phosphorusDifferenceFromNormal > 0.1F)
phosphorusDifferenceFromNormal = 0.1F;
float phosphorusColorChange = (float) Math.pow(phosphorusDifferenceFromNormal, 3);
r += (int) (phosphorusColorChange*255/2);
g += (int) (phosphorusColorChange*255/2);
b -= phosphorusColorChange*255;
float potassiumDifferenceFromNormal = (potassium / (Settings.NORMAL_POTASSIUM)) - 1;
if (potassiumDifferenceFromNormal > 0.1F)
potassiumDifferenceFromNormal = 0.1F;
float potassiumColorChange = (float) Math.pow(potassiumDifferenceFromNormal, 3);
r -= (int) (potassiumColorChange*255/2);
b += (int) (potassiumColorChange*255/2);
float nitrogenDifferenceFromNormal = (nitrogen / (Settings.NORMAL_NITROGEN)) - 1;
if (nitrogenDifferenceFromNormal > 0.1F)
nitrogenDifferenceFromNormal = 0.1F;
float nitrogenColorChange = (float) Math.pow(nitrogenDifferenceFromNormal, 3);
r -= (int) (nitrogenColorChange*255/2);
g -= (int) (nitrogenColorChange*255/2);
b += nitrogenColorChange*b;
r = MathHelper.clamp_int(r, 0, 255);
g = MathHelper.clamp_int(g, 0, 255);
b = MathHelper.clamp_int(b, 0, 255);
return (r & 0xFF) << 16 | (g & 0xFF) << 8 | b & 0xFF;
}
}