package net.minecraft.entity.player; 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 var2 = new NBTTagCompound(); var2.setBoolean("invulnerable", this.disableDamage); var2.setBoolean("flying", this.isFlying); var2.setBoolean("mayfly", this.allowFlying); var2.setBoolean("instabuild", this.isCreativeMode); var2.setBoolean("mayBuild", this.allowEdit); var2.setFloat("flySpeed", this.flySpeed); var2.setFloat("walkSpeed", this.walkSpeed); p_75091_1_.setTag("abilities", var2); } public void readCapabilitiesFromNBT(NBTTagCompound p_75095_1_) { if (p_75095_1_.hasKey("abilities", 10)) { NBTTagCompound var2 = p_75095_1_.getCompoundTag("abilities"); this.disableDamage = var2.getBoolean("invulnerable"); this.isFlying = var2.getBoolean("flying"); this.allowFlying = var2.getBoolean("mayfly"); this.isCreativeMode = var2.getBoolean("instabuild"); if (var2.hasKey("flySpeed", 99)) { this.flySpeed = var2.getFloat("flySpeed"); this.walkSpeed = var2.getFloat("walkSpeed"); } if (var2.hasKey("mayBuild", 1)) { this.allowEdit = var2.getBoolean("mayBuild"); } } } public float getFlySpeed() { return this.flySpeed; } public float getWalkSpeed() { return this.walkSpeed; } }