package com.demigodsrpg.util;
import org.bukkit.potion.PotionEffect;
import org.bukkit.util.io.BukkitObjectInputStream;
import org.bukkit.util.io.BukkitObjectOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
public class PotionEffectUtil {
private PotionEffectUtil() {
}
public static String serializePotionEffects(Collection<PotionEffect> effects) {
PotionEffect[] eff = new PotionEffect[effects.size()];
int count = 0;
for (PotionEffect effect : effects) {
eff[count] = effect;
count++;
}
try {
ByteArrayOutputStream os = new ByteArrayOutputStream();
BukkitObjectOutputStream bos = new BukkitObjectOutputStream(os);
bos.writeObject(eff);
String hex = BukkitObjectUtil.byteArrayToHexString(os.toByteArray());
bos.close();
os.close();
return hex;
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
public static List<PotionEffect> deserializePotionEffects(String s) {
try {
byte[] b = BukkitObjectUtil.hexStringToByteArray(s);
ByteArrayInputStream bais = new ByteArrayInputStream(b);
BukkitObjectInputStream bois = new BukkitObjectInputStream(bais);
PotionEffect[] eff = (PotionEffect[]) bois.readObject();
bois.close();
bais.close();
return Arrays.asList(eff);
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}