Refactor quest saving, update Galaxy-API version

Quest saving logic was abstracted into a saveQuest method in the Quest class to avoid redundancy. This change was reflected in OtherQuest, MineQuest, BreedMobsQuest, KillMobsQuest and CollectDropsQuest classes. Additionally, the Galaxy-API version was updated in the build.gradle.kts file.
This commit is contained in:
2024-04-13 20:50:56 +02:00
parent 3bb822b41c
commit 34c5252db4
7 changed files with 28 additions and 96 deletions
@@ -60,25 +60,7 @@ public class BreedMobsQuest extends Quest {
"ON DUPLICATE KEY UPDATE " +
"quest = ?, quest_variant = ?, step_1_progress = ?, step_2_progress = ?, year_day = ?, amount = ?, reward_received = ?";
try (PreparedStatement statement = Database.getDatabase().getConnection().prepareStatement(sql)) {
int yearDay = Utilities.getYearDay();
if (Config.DEBUG)
Logger.info("Saving user for year day %.", String.valueOf(yearDay));
statement.setInt(1, yearDay);
statement.setString(2, getUuid().toString());
statement.setString(3, this.getClass().getSimpleName());
statement.setString(4, breedMobsQuestObject.getInternalName());
statement.setInt(5, getStep1());
statement.setInt(6, getStep2());
statement.setInt(7, getAmount());
statement.setInt(8, isRewardReceived() ? 1 : 0);
statement.setString(9, this.getClass().getSimpleName());
statement.setString(10, breedMobsQuestObject.getInternalName());
statement.setInt(11, getStep1());
statement.setInt(12, getStep2());
statement.setInt(13, yearDay);
statement.setInt(14, getAmount());
statement.setInt(15, isRewardReceived() ? 1 : 0);
statement.execute();
saveQuest(statement, getVariant());
} catch (SQLException exception) {
Logger.throwing(BreedMobsQuest.class.getName(), "save", exception);
}