diff --git a/pom.xml b/pom.xml index 6b16df2..5d1c60d 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ com.songoda UltimateStacker 4.0.0 - 2.0.1 + 2.0.2 clean install UltimateStacker-${project.version} diff --git a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java index 942b14d..c243c64 100644 --- a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java +++ b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java @@ -133,12 +133,15 @@ public class DataManager extends DataManagerAbstract { public void createStackedEntities(ColdEntityStack hostStack, List stackedEntities) { this.queueAsync(() -> this.databaseConnector.connect(connection -> { if (hostStack.getHostUniqueId() == null) return; - String createSerializedEntity = "INSERT INTO " + this.getTablePrefix() + "stacked_entities (uuid, host, serialized_entity) VALUES (?, ?, ?)"; + String createSerializedEntity = "INSERT INTO " + this.getTablePrefix() + "stacked_entities (uuid, host, serialized_entity) VALUES (?, ?, ?)" + + "ON CONFLICT(uuid) DO UPDATE SET host = ?, serialized_entity = ?"; try (PreparedStatement statement = connection.prepareStatement(createSerializedEntity)) { for (StackedEntity entity : stackedEntities) { statement.setString(1, entity.getUniqueId().toString()); statement.setInt(2, hostStack.getId()); statement.setBytes(3, entity.getSerializedEntity()); + statement.setInt(4, hostStack.getId()); + statement.setBytes(5, entity.getSerializedEntity()); statement.addBatch(); } statement.executeBatch();