package io.github.lucaseasedup.logit.persistence;
import java.util.Map;
import org.bukkit.entity.Player;
@Keys({
@Key(name = "exp", constraint = KeyConstraint.NOT_EMPTY),
@Key(name = "level", constraint = KeyConstraint.NOT_EMPTY),
})
public final class ExperienceSerializer implements PersistenceSerializer
{
@Override
public void serialize(Map<String, String> data, Player player)
{
String exp = String.valueOf(player.getExp());
String level = String.valueOf(player.getLevel());
data.put("exp", exp);
data.put("level", level);
if (player.isOnline())
{
player.setExp(0);
player.setLevel(0);
}
}
@Override
public void unserialize(Map<String, String> data, Player player)
{
if (!player.isOnline())
return;
String exp = data.get("exp");
String level = data.get("level");
if (exp != null)
{
player.setExp(Float.parseFloat(exp));
}
if (level != null)
{
player.setLevel(Integer.parseInt(level));
}
}
}