equivalent-exchange-3/ee3_common/ee3/common/emc/EMCEntry.java

89 lines
1.9 KiB
Java
Raw Normal View History

2012-10-16 03:42:57 +02:00
package ee3.common.emc;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class EMCEntry {
private float cost, recoveryPercentage;
private boolean learnable, recoverable;
private Map<EMCType, Float> breakdown;
2012-10-16 03:42:57 +02:00
public EMCEntry(float cost) {
this.cost = cost;
recoveryPercentage = 1F;
learnable = true;
recoverable = true;
breakdown = Collections.synchronizedMap(new HashMap<EMCType, Float>());
}
public EMCEntry(float cost, float recoveryPercentage, boolean learnable,
boolean recoverable) {
2012-10-16 03:42:57 +02:00
this.cost = cost;
this.recoveryPercentage = recoveryPercentage;
this.learnable = learnable;
this.recoverable = recoverable;
breakdown = Collections.synchronizedMap(new HashMap<EMCType, Float>());
}
2012-10-16 03:42:57 +02:00
public float getCost() {
return cost;
}
2012-10-16 03:42:57 +02:00
public float getRecoveryPercentage() {
return recoveryPercentage;
}
2012-10-16 03:42:57 +02:00
public boolean isLearnable() {
return learnable;
}
2012-10-16 03:42:57 +02:00
public boolean isRecoverable() {
return recoverable;
}
2012-10-16 03:42:57 +02:00
public Map<EMCType, Float> getEMCBreakDown() {
return breakdown;
}
2012-10-16 03:42:57 +02:00
public float getEMCBreakdownByType(EMCType emcType) {
if (breakdown.containsKey(emcType)) {
if (breakdown.get(emcType) != null) {
return breakdown.get(emcType).floatValue();
}
}
2012-10-16 03:42:57 +02:00
return -1F;
}
2012-10-16 03:42:57 +02:00
public void setCost(float cost) {
this.cost = cost;
}
2012-10-16 03:42:57 +02:00
public void setRecoveryPercentage(float recoveryPercentage) {
this.recoveryPercentage = recoveryPercentage;
}
2012-10-16 03:42:57 +02:00
public void setLearnable(boolean learnable) {
this.learnable = learnable;
}
2012-10-16 03:42:57 +02:00
public void setRecoverable(boolean recoverable) {
this.recoverable = recoverable;
}
2012-10-16 03:42:57 +02:00
public void addEMCBreakDown(EMCType emcType, Float breakdownPercentage) {
if (!(breakdown.containsKey(emcType))) {
2012-10-16 03:42:57 +02:00
breakdown.put(emcType, breakdownPercentage);
}
}
2012-10-16 03:42:57 +02:00
public void setEMCBreakDown(EMCType emcType, Float breakdownPercentage) {
if (breakdown.containsKey(emcType)) {
breakdown.put(emcType, breakdownPercentage);
}
}
}