package at.er.ytbattle.util;
import at.er.ytbattle.plugin.Game;
import at.er.ytbattle.plugin.player.BattlePlayer;
import at.er.ytbattle.plugin.team.Team;
import at.er.ytbattle.plugin.team.TeamColor;
import at.er.ytbattle.plugin.timer.timeables.InvincibilityTimer;
import at.er.ytbattle.plugin.timer.timeables.RemindTimer;
import at.er.ytbattle.plugin.timer.timeables.WoolPlaceTimer;
import at.er.ytbattle.util.timer.Timeable;
import com.thoughtworks.xstream.XStream;
public class XStreamUtil {
public static XStream createXStream() {
XStream xstream = new XStream();
xstream.setMode(XStream.ID_REFERENCES);
xstream.alias("game", Game.class);
xstream.alias("battlePlayer", BattlePlayer.class);
xstream.alias("teamColor", TeamColor.class);
xstream.alias("team", Team.class);
xstream.alias("woolPlaceTimer", WoolPlaceTimer.class);
xstream.alias("invincibilityTimer", InvincibilityTimer.class);
xstream.alias("remindTimer", RemindTimer.class);
xstream.useAttributeFor(BattlePlayer.class, "uuid");
xstream.useAttributeFor(BattlePlayer.class, "lastValidName");
xstream.useAttributeFor(Team.class, "teamColor");
xstream.useAttributeFor(Timeable.class, "timeScale");
xstream.useAttributeFor(Timeable.class, "every");
xstream.useAttributeFor(SerializableLocation.class, "world");
xstream.useAttributeFor(SerializableLocation.class, "uuid");
xstream.useAttributeFor(SerializableLocation.class, "x");
xstream.useAttributeFor(SerializableLocation.class, "y");
xstream.useAttributeFor(SerializableLocation.class, "z");
xstream.useAttributeFor(SerializableLocation.class, "yaw");
xstream.useAttributeFor(SerializableLocation.class, "pitch");
return xstream;
}
}