package Oskar13;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import net.minecraft.client.proxyClient.proxyClient;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.NetLoginHandler;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet1Login;
import net.minecraft.server.MinecraftServer;
import Oskar13.TheCharacters.Characters;
import Oskar13.TheCharacters.NBTRead;
import Oskar13.TheCharacters.NBTSave;
import Oskar13.TheCharacters.Stats;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.network.IConnectionHandler;
import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.common.network.Player;
import cpw.mods.fml.relauncher.Side;
public class PacketSaveData extends PacketHandler implements IConnectionHandler{
public void readClient(int id, ByteArrayDataInput dat, Object[] extradata) {
OskarStart.debug("PacketSaveData - ReadClient");
int hp = dat.readInt();
int mp = dat.readInt();
int def = dat.readInt();
int str = dat.readInt();
int dex = dat.readInt();
String playerModel = dat.readUTF();
String nick = dat.readUTF();
Characters.addPlayer(nick, new Characters((EntityPlayer) extradata[0], new Stats()));
if(proxyClient.getPlayer().username.equals(nick)) {
Characters.getPlayer(nick).getStats().hp = hp;
Characters.getPlayer(nick).getStats().mp = mp;
Characters.getPlayer(nick).getStats().def = def;
Characters.getPlayer(nick).getStats().str = str;
Characters.getPlayer(nick).getStats().dex = dex;
Characters.getPlayer(nick).getStats().modelName = playerModel;
}
}
public void readServer(int id, ByteArrayDataInput dat, Object[] extradata) {
OskarStart.debug("PacketSaveData - ReadServre");
EntityPlayer player = (EntityPlayer)extradata[0];
Stats stats = Characters.getPlayer(player.username).getStats();
stats.hp = dat.readInt();
stats.mp = dat.readInt();
stats.def = dat.readInt();
stats.str = dat.readInt();
stats.dex = dat.readInt();
stats.modelName = dat.readUTF();
writeData(player.username);
}
public void writeData( String nick) {
new NBTSave(nick);
}
public void readData(String s) {
new NBTRead(s);
}
@Override
public void playerLoggedIn(Player other, NetHandler netHandler,
INetworkManager manager) {
FMLCommonHandler.instance().getFMLLogger().warning("Dzia�a PlayerLogin");
EntityPlayer player = (EntityPlayer)other;
Characters.addPlayer(player.username, new Characters(player, new Stats()));
if (FMLCommonHandler.instance().getEffectiveSide() == Side.SERVER) {
new NBTRead(player.username);
}
}
@Override
public String connectionReceived(NetLoginHandler netHandler,
INetworkManager manager) {
return null;
}
@Override
public void connectionOpened(NetHandler netClientHandler, String server,
int port, INetworkManager manager) {
}
@Override
public void connectionOpened(NetHandler netClientHandler,
MinecraftServer server, INetworkManager manager) {
}
@Override
public void connectionClosed(INetworkManager manager) {
}
@Override
public void clientLoggedIn(NetHandler clientHandler,
INetworkManager manager, Packet1Login login) {
}
}