Пример #1
0
        public Player(string username)
        {
            //TODO: Store username?

            using (NBTFile file = NBTFile.Open(MinecraftServer.Instance.Path + "Players/" + username + ".dat"))
            {
                Tag[] pos = (Tag[])file.FindPayload("Pos");
                Position = new PointDouble() { X = (double)pos[0].Payload, Y = (double)pos[1].Payload, Z = (double)pos[2].Payload };

                Tag[] rotation = (Tag[])file.FindPayload("Rotation");
                Rotation = new Rotation() { Yaw = (float)rotation[0].Payload, Pitch = (float)rotation[1].Payload };

                OnGround = BitConverter.ToBoolean(new byte[] { (byte)file.FindPayload("OnGround") }, 0);
            }
        }
Пример #2
0
 public static byte[] GetPositionLook(PointDouble position, Rotation rotation, bool onGround)
 {
     using (MinecraftPacketStream stream = new MinecraftPacketStream())
     {
         stream.WriteByte((byte)MinecraftOpcode.PlayerPositionLook);
         stream.WriteDouble(position.X);
         stream.WriteDouble(position.Y);
         stream.WriteDouble(position.Y + 1.62); // dunno what 1.62 means...
         stream.WriteDouble(position.Z);
         stream.WriteFloat(rotation.Yaw);
         stream.WriteFloat(rotation.Pitch);
         stream.WriteBool(onGround);
         return stream.ToArray();
     }
 }