diff --git a/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorage.java b/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorage.java index 800de11..5cd36d0 100644 --- a/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorage.java +++ b/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorage.java @@ -9,10 +9,7 @@ import net.artelnatif.nicko.storage.Storage; import java.io.ByteArrayInputStream; import java.nio.ByteBuffer; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; +import java.sql.*; import java.util.Optional; import java.util.UUID; @@ -43,8 +40,8 @@ public class SQLStorage extends Storage { final PreparedStatement statement = connection.prepareStatement(sql); statement.setBinaryStream(1, uuidToBin(uuid)); - statement.setString(2, profile.getName()); - statement.setString(3, profile.getSkin()); + statement.setString(2, profile.getName() == null ? null : profile.getName()); + statement.setString(3, profile.getSkin() == null ? null : profile.getSkin()); statement.setString(4, profile.getLocale().getCode()); statement.setBoolean(5, profile.isBungeecordTransfer()); statement.executeUpdate(); @@ -90,13 +87,13 @@ public class SQLStorage extends Storage { String skin = ""; String locale = ""; boolean bungeecord = false; - while(resultSet.next()) { + while (resultSet.next()) { name = resultSet.getString("name"); skin = resultSet.getString("skin"); locale = resultSet.getString("locale"); bungeecord = resultSet.getBoolean("bungeecord"); } - + final NickoProfile profile = new NickoProfile(name, skin, Locale.fromCode(locale), bungeecord); return Optional.of(profile); } catch (SQLException e) { diff --git a/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorageProvider.java b/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorageProvider.java index 67aa77f..6ae8a99 100644 --- a/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorageProvider.java +++ b/core/src/main/java/net/artelnatif/nicko/storage/sql/SQLStorageProvider.java @@ -57,8 +57,8 @@ public class SQLStorageProvider implements StorageProvider { String query = "CREATE TABLE IF NOT EXISTS %s.DATA " + "(uuid binary(16) NOT NULL," + - "name varchar(16) NOT NULL," + - "skin varchar(16) NOT NULL," + + "name varchar(16)," + + "skin varchar(16)," + "locale char(2) NOT NULL," + "bungeecord boolean NOT NULL," + "PRIMARY KEY (UUID))";