package com.nisovin.magicspells.variables;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
public class PlayerVariable extends Variable {
Map<String, Double> map = new HashMap<String, Double>();
@Override
public boolean modify(String player, double amount) {
double value = getValue(player);
double newvalue = value + amount;
if (newvalue > maxValue) {
newvalue = maxValue;
} else if (newvalue < minValue) {
newvalue = minValue;
}
if (value != newvalue) {
map.put(player, newvalue);
if (objective != null) {
objective.getScore(Bukkit.getOfflinePlayer(player)).setScore((int)newvalue);
}
return true;
} else {
return false;
}
}
@Override
public void set(String player, double amount) {
map.put(player, amount);
if (objective != null) {
objective.getScore(Bukkit.getOfflinePlayer(player)).setScore((int)amount);
}
}
@Override
public double getValue(String player) {
if (map.containsKey(player)) {
return map.get(player).doubleValue();
} else {
return defaultValue;
}
}
@Override
public void reset(String player) {
map.remove(player);
if (objective != null) {
objective.getScore(Bukkit.getOfflinePlayer(player)).setScore((int)defaultValue);
}
}
}