package net.minecraft.entity.player;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
public class PlayerCapabilities
{
/** Disables player damage. */
public boolean disableDamage;
/** Sets/indicates whether the player is flying. */
public boolean isFlying;
/** whether or not to allow the player to fly when they double jump. */
public boolean allowFlying;
/** Used to determine if creative mode is enabled, and therefore if items should be depleted on usage */
public boolean isCreativeMode;
/** Indicates whether the player is allowed to modify the surroundings */
public boolean allowEdit = true;
private float flySpeed = 0.05F;
private float walkSpeed = 0.1F;
private static final String __OBFID = "CL_00001708";
public void writeCapabilitiesToNBT(NBTTagCompound p_75091_1_)
{
NBTTagCompound nbttagcompound1 = new NBTTagCompound();
nbttagcompound1.setBoolean("invulnerable", this.disableDamage);
nbttagcompound1.setBoolean("flying", this.isFlying);
nbttagcompound1.setBoolean("mayfly", this.allowFlying);
nbttagcompound1.setBoolean("instabuild", this.isCreativeMode);
nbttagcompound1.setBoolean("mayBuild", this.allowEdit);
nbttagcompound1.setFloat("flySpeed", this.flySpeed);
nbttagcompound1.setFloat("walkSpeed", this.walkSpeed);
p_75091_1_.setTag("abilities", nbttagcompound1);
}
public void readCapabilitiesFromNBT(NBTTagCompound p_75095_1_)
{
if (p_75095_1_.hasKey("abilities", 10))
{
NBTTagCompound nbttagcompound1 = p_75095_1_.getCompoundTag("abilities");
this.disableDamage = nbttagcompound1.getBoolean("invulnerable");
this.isFlying = nbttagcompound1.getBoolean("flying");
this.allowFlying = nbttagcompound1.getBoolean("mayfly");
this.isCreativeMode = nbttagcompound1.getBoolean("instabuild");
if (nbttagcompound1.hasKey("flySpeed", 99))
{
this.flySpeed = nbttagcompound1.getFloat("flySpeed");
this.walkSpeed = nbttagcompound1.getFloat("walkSpeed");
}
if (nbttagcompound1.hasKey("mayBuild", 1))
{
this.allowEdit = nbttagcompound1.getBoolean("mayBuild");
}
}
}
public float getFlySpeed()
{
return this.flySpeed;
}
@SideOnly(Side.CLIENT)
public void setFlySpeed(float p_75092_1_)
{
this.flySpeed = p_75092_1_;
}
public float getWalkSpeed()
{
return this.walkSpeed;
}
@SideOnly(Side.CLIENT)
public void setPlayerWalkSpeed(float p_82877_1_)
{
this.walkSpeed = p_82877_1_;
}
}