package dayz.info;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import dayz.DayZ;
import dayz.network.SPacketHeal;
import dayz.network.SPacketSync;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
import net.minecraftforge.common.IExtendedEntityProperties;
public class PlayerInfo implements IExtendedEntityProperties {
public final static String PROPERTIES_NAME = "DayZPlayer";
private int money,
zkills,
pkills,
hours,
deaths,
water,
waterTickTimer;
private float waterSaturationLevel,
waterExhaustionLevel;
private int prevWaterLevel, waterTimer;
private EntityPlayer player;
public PlayerInfo(EntityPlayer p) {
this.player = p;
this.pkills = 0;
this.zkills = 0;
this.hours = 0;
this.money = 0;
this.deaths = 0;
this.water = 20;
this.waterTickTimer = 0;
this.waterSaturationLevel = 5.0F;
this.waterExhaustionLevel = 0.0F;
}
public static PlayerInfo get(EntityPlayer player) {
return (PlayerInfo) player.getExtendedProperties(PROPERTIES_NAME);
}
@Override
public void saveNBTData(NBTTagCompound tag) {
NBTTagCompound props = new NBTTagCompound();
props.setInteger("pkills", pkills);
props.setInteger("zkills", zkills);
props.setInteger("hours", hours);
props.setInteger("money", money);
props.setInteger("deaths", deaths);
props.setInteger("waterTickTimer", waterTickTimer);
props.setFloat("waterSaturationLevel", waterSaturationLevel);
props.setFloat("waterExhaustionLevel", waterExhaustionLevel);
props.setInteger("water", water);
tag.setTag(PROPERTIES_NAME, props);
}
@Override
public void loadNBTData(NBTTagCompound tag) {
NBTTagCompound props = (NBTTagCompound)tag.getTag(PROPERTIES_NAME);
zkills = props.getInteger("zkills");
pkills = props.getInteger("pkills");
hours = props.getInteger("hours");
money = props.getInteger("money");
deaths = props.getInteger("deaths");
water = props.getInteger("water");
waterTickTimer = props.getInteger("waterTickTimer");
waterSaturationLevel = props.getFloat("waterSaturationLevel");
waterExhaustionLevel = props.getFloat("waterExhaustionLevel");
}
@Override
public void init(Entity e, World w) {}
public void sync() {
NBTTagCompound shit = new NBTTagCompound();
NBTTagCompound props = new NBTTagCompound();
props.setInteger("pkills", pkills);
props.setInteger("zkills", zkills);
props.setInteger("hours", hours);
props.setInteger("money", money);
props.setInteger("deaths", deaths);
props.setInteger("water", water);
props.setInteger("waterTickTimer", waterTickTimer);
props.setFloat("waterSaturationLevel", waterSaturationLevel);
props.setFloat("waterExhaustionLevel", waterExhaustionLevel);
shit.setTag(PROPERTIES_NAME, props);
DayZ.network.NETWORK.sendToServer(new SPacketSync(shit));
}
public void copyNBT(PlayerInfo props) {
zkills = props.zkills;
pkills = props.pkills;
hours = props.hours;
deaths = props.deaths;
money = props.money;
water = props.water;
waterTickTimer = props.waterTickTimer;
waterSaturationLevel = props.waterSaturationLevel;
waterExhaustionLevel = props.waterExhaustionLevel;
}
// различные геттеры и сеттеры
}