package net.minecraft.nbt;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import net.minecraft.util.MathHelper;
public class NBTTagDouble extends NBTBase.NBTPrimitive
{
/** The double value for the tag. */
private double data;
private static final String __OBFID = "CL_00001218";
NBTTagDouble() {}
public NBTTagDouble(double p_i45130_1_)
{
this.data = p_i45130_1_;
}
/**
* Write the actual data contents of the tag, implemented in NBT extension classes
*/
void write(DataOutput output) throws IOException
{
output.writeDouble(this.data);
}
void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException
{
sizeTracker.addSpaceRead(64L);
this.data = input.readDouble();
}
/**
* Gets the type byte for the tag.
*/
public byte getId()
{
return (byte)6;
}
public String toString()
{
return "" + this.data + "d";
}
/**
* Creates a clone of the tag.
*/
public NBTBase copy()
{
return new NBTTagDouble(this.data);
}
public boolean equals(Object p_equals_1_)
{
if (super.equals(p_equals_1_))
{
NBTTagDouble nbttagdouble = (NBTTagDouble)p_equals_1_;
return this.data == nbttagdouble.data;
}
else
{
return false;
}
}
public int hashCode()
{
long i = Double.doubleToLongBits(this.data);
return super.hashCode() ^ (int)(i ^ i >>> 32);
}
public long getLong()
{
return (long)Math.floor(this.data);
}
public int getInt()
{
return MathHelper.floor_double(this.data);
}
public short getShort()
{
return (short)(MathHelper.floor_double(this.data) & 65535);
}
public byte getByte()
{
return (byte)(MathHelper.floor_double(this.data) & 255);
}
public double getDouble()
{
return this.data;
}
public float getFloat()
{
return (float)this.data;
}
}