This repository has been archived on 2024-10-31. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
LibZontreck/src/main/java/dev/zontreck/libzontreck/config/sections/DatabaseSection.java

76 lines
1.9 KiB
Java

package dev.zontreck.libzontreck.config.sections;
import dev.zontreck.libzontreck.config.ServerConfig;
import net.minecraft.nbt.CompoundTag;
public class DatabaseSection
{
public static final String TAG_NAME = "database";
public static final String TAG_USER = "username";
public static final String TAG_PASSWORD = "password";
public static final String TAG_HOST = "host";
public static final String TAG_DATABASE = "database";
public static final String TAG_VERSION = "rev";
public String user = "root";
public String password = "";
public String host = "localhost:3306"; // IP:port
public String database = "";
public int version;
public static final int VERSION = 1;
public static DatabaseSection deserialize(CompoundTag tag)
{
DatabaseSection ret = new DatabaseSection();
ret.version = tag.getInt(TAG_VERSION);
if(ret.version == 0)
{
ret.version = VERSION;
return ret;
}
if(ret.version >= 1)
{
ret.user = tag.getString(TAG_USER);
ret.password = tag.getString(TAG_PASSWORD);
ret.host = tag.getString(TAG_HOST);
ret.database = tag.getString(TAG_DATABASE);
}
ret.version = VERSION;
return ret;
}
public DatabaseSection(){
}
public DatabaseSection(String user, String password, String host, String database)
{
this.user = user;
this.password = password;
this.host = host;
this.database = database;
}
public String getAsSQLFileName()
{
return database + ".sql";
}
public CompoundTag serialize()
{
CompoundTag tag = new CompoundTag();
tag.putString(TAG_USER, user);
tag.putString(TAG_PASSWORD, password);
tag.putString(TAG_HOST, host);
tag.putString(TAG_DATABASE, database);
tag.putInt(TAG_VERSION, version);
return tag;
}
}