# Object Data Structure

{% hint style="warning" %}
The ODS documentation have moved to the new [docs.ryandw11.com ](https://docs.ryandw11.com/ods/intro)website!
{% endhint %}

Object Data Structure is a file format inspired by NBT. Everything in this file format is made of tags. ODS is not human readable, data is stored in bytes.

## Usage

As stated above ODS uses tags. There are many primitive tags: StringTag, IntTag, ShortTag, LongTag, ByteTag, DoubleTag, FloatTag. There are also the ListTag and MapTag. They both store primitive tags in a list and map format respectivly. Finally there are ObjectTags. ObjectTags store other tags.

## Reading the Documentation

This documentation is for all versions of ODS. Code sections will contain tabs for all of the languages officially supported by ODS. Example:

{% tabs %}
{% tab title="ODS (Java)" %}

```java
public class Example {
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}
```

{% endtab %}

{% tab title="ODSSharp (C#)" %}

```csharp
using System;

public class Test{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World");
    }
}
```

{% endtab %}

{% tab title="ODSPlus (C++)" %}

```cpp
#include <iostream>

int main(int argc, char** argv){
    std::cout << "Hello World" << std::endl;
    return 0;
}
```

{% endtab %}

{% tab title="ODS.rs (Rust)" %}

```rust
fn main(){
    println!("Hello World");
}
```

{% endtab %}
{% endtabs %}

You can click on any language you would like to see the same example code. (Some sections might contain additional text / instructions due to programming language limitations.)
