Skip to content

Commit ab17fb9

Browse files
committed
Added new serializers, cleared null entries
- added XBiome, XEnchantment, XPotion, and XEntityType serializers to the database - once the tables are registered, we loop through the entries to remove bad (null) entries
1 parent 1799f00 commit ab17fb9

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/main/java/com/iridium/iridiumskyblock/managers/DatabaseManager.java

+14
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.io.File;
2121
import java.sql.SQLException;
2222
import java.util.Comparator;
23+
import java.util.List;
2324
import java.util.concurrent.CompletableFuture;
2425

2526
@Getter
@@ -51,6 +52,11 @@ public void init() throws SQLException {
5152
String databaseURL = getDatabaseURL(sqlConfig);
5253

5354
DataPersisterManager.registerDataPersisters(XMaterialType.getSingleton());
55+
DataPersisterManager.registerDataPersisters(XEntityTypeType.getSingleton());
56+
DataPersisterManager.registerDataPersisters(XPotionType.getSingleton());
57+
DataPersisterManager.registerDataPersisters(XEnchantType.getSingleton());
58+
DataPersisterManager.registerDataPersisters(XBiomeType.getSingleton());
59+
5460
DataPersisterManager.registerDataPersisters(LocationType.getSingleton());
5561
DataPersisterManager.registerDataPersisters(InventoryType.getSingleton());
5662
DataPersisterManager.registerDataPersisters(LocalDateTimeType.getSingleton());
@@ -78,6 +84,14 @@ public void init() throws SQLException {
7884
this.teamMissionTableManager = new ForeignIslandTableManager<>(teamMission -> getDatabaseKey(teamMission.getTeamID(), teamMission.getMissionName()), connectionSource, TeamMission.class);
7985
this.teamRewardsTableManager = new ForeignIslandTableManager<>(teamRewards -> getDatabaseKey(teamRewards.getId()), connectionSource, TeamReward.class);
8086
this.teamSettingsTableManager = new ForeignIslandTableManager<>(teamSetting -> getDatabaseKey(teamSetting.getTeamID(), teamSetting.getSetting()), connectionSource, TeamSetting.class);
87+
88+
// We need to clear out null values
89+
for(TeamBlock teamBlock : teamBlockTableManager.getEntries()) {
90+
if(teamBlock.getXMaterial() == null) teamBlockTableManager.delete(teamBlock);
91+
}
92+
for(TeamSpawners teamSpawners : teamSpawnerTableManager.getEntries()) {
93+
if(teamSpawners.getEntityType() == null) teamSpawnerTableManager.delete(teamSpawners);
94+
}
8195
}
8296

8397
private String getDatabaseKey(Object... params) {

0 commit comments

Comments
 (0)