package com.bioxx.tfc2.api.types; public enum Moisture { LOW(0.2), MEDIUM(0.4), HIGH(0.6), VERYHIGH(0.8), MAX(1.0); double val; Moisture(double d) { val = d; } public double getMoisture() { return val; } /** * Used by the weather manager to determine the required precipitation value before rain actually * begins to fall. This is inverse from the raw moisture value for each enum value. e.x. An island * with a LOW moisture value has a raw value of 0.2. This means that the precipitation value will * need to be at least 0.8 before rain will actually begin to fall. */ public double getInverse() { return 1.0-val; } public static Moisture fromVal(double d) { if(d <= 0.2) return LOW; else if(d <= 0.4) return MEDIUM; else if(d <= 0.6) return HIGH; else if(d <= 0.8) return VERYHIGH; else return MAX; } public boolean isLessThan(Moisture m) { return val < m.getMoisture(); } public boolean isLessThanOrEqual(Moisture m) { return val <= m.getMoisture(); } public boolean isGreaterThan(Moisture m) { return val > m.getMoisture(); } public boolean isGreaterThanOrEqual(Moisture m) { return val >= m.getMoisture(); } }