Ensemplix Named Binary Format - это наша реализация сериализации данных, которую придумали в Mojang. Спецификацию формата можно прочитать здесь.
Для подключения библиотеки в своем проекте необходимо использовать Maven или Gradle.
<repositories>
<repository>
<id>Ensemplix</id>
<url>http://maven.ensemplix.ru/artifactory/Ensemplix</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>ru.ensemplix.nbt</groupId>
<artifactId>ENBT</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
repositories {
maven {
url 'http://maven.ensemplix.ru/artifactory/Ensemplix/'
}
}
dependencies {
compile 'ru.ensemplix.nbt:ENBT:1.0-SNAPSHOT'
}
Далее приведен пример работы с servers.dat в клиенте игры. Мы, например, используем библиотеку для редактирования списка серверов на лету.
public class Server {
@NBT
public String name;
@NBT
public String ip;
@NBT
public boolean hideAddress;
}
public class ServerList {
@NBT
public List<Server> servers;
}
// Превращаем в объект.
NBTInputStream in = new NBTInputStream(new FileInputStream("servers.dat"), false);
ServerList serverList = in.readObject(ServerList.class);
// Далее делаем, что хотим с объектом и сохраняем опять.
NBTOutputStream out = new NBTOutputStream(new FileOutputStream("servers.dat"), false);
out.writeObject(serverList);