From 841c538c9d406188f0dd6c474a24e212087d5de4 Mon Sep 17 00:00:00 2001 From: Brianna Date: Thu, 23 Sep 2021 15:14:43 -0500 Subject: [PATCH 1/2] Updated to use the new Lootables engine. --- pom.xml | 6 ---- .../commands/CommandLootables.java | 2 +- .../listeners/DeathListeners.java | 4 +-- .../lootables/LootablesManager.java | 29 ++++++++++++++----- .../stackable/entity/EntityStack.java | 4 +-- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index d46f568..1f80fc6 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,6 @@ com.songoda:SongodaCore - com.songoda:Lootables com.zaxxer:HikariCP org.slf4j:slf4j-api org.slf4j:slf4j-nop @@ -127,11 +126,6 @@ LATEST compile - - com.songoda - Lootables - 1.0.9 - com.bgsoftware wildstacker diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java index d8f2f05..04d93a5 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java @@ -1,7 +1,7 @@ package com.songoda.ultimatestacker.commands; import com.songoda.core.commands.AbstractCommand; -import com.songoda.lootables.gui.GuiEditor; +import com.songoda.core.lootables.gui.GuiEditor; import com.songoda.ultimatestacker.UltimateStacker; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/songoda/ultimatestacker/listeners/DeathListeners.java b/src/main/java/com/songoda/ultimatestacker/listeners/DeathListeners.java index 7fb6612..0232f20 100644 --- a/src/main/java/com/songoda/ultimatestacker/listeners/DeathListeners.java +++ b/src/main/java/com/songoda/ultimatestacker/listeners/DeathListeners.java @@ -2,8 +2,8 @@ package com.songoda.ultimatestacker.listeners; import com.songoda.core.compatibility.ServerProject; import com.songoda.core.compatibility.ServerVersion; -import com.songoda.lootables.loot.Drop; -import com.songoda.lootables.loot.DropUtils; +import com.songoda.core.lootables.loot.Drop; +import com.songoda.core.lootables.loot.DropUtils; import com.songoda.ultimatestacker.UltimateStacker; import com.songoda.ultimatestacker.settings.Settings; import com.songoda.ultimatestacker.stackable.entity.EntityStack; diff --git a/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java b/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java index d830086..0a6fab6 100644 --- a/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java +++ b/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java @@ -2,13 +2,13 @@ package com.songoda.ultimatestacker.lootables; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.ServerVersion; -import com.songoda.lootables.Lootables; -import com.songoda.lootables.Modify; -import com.songoda.lootables.loot.Drop; -import com.songoda.lootables.loot.Loot; -import com.songoda.lootables.loot.LootBuilder; -import com.songoda.lootables.loot.LootManager; -import com.songoda.lootables.loot.Lootable; +import com.songoda.core.lootables.Lootables; +import com.songoda.core.lootables.Modify; +import com.songoda.core.lootables.loot.Drop; +import com.songoda.core.lootables.loot.Loot; +import com.songoda.core.lootables.loot.LootBuilder; +import com.songoda.core.lootables.loot.LootManager; +import com.songoda.core.lootables.loot.Lootable; import com.songoda.ultimatestacker.UltimateStacker; import com.songoda.ultimatestacker.settings.Settings; import org.bukkit.enchantments.Enchantment; @@ -96,6 +96,21 @@ public class LootablesManager { } public void createDefaultLootables() { + if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_17)) { + // Add Glow Squid. + lootManager.addLootable(new Lootable("GLOW_SQUID", + new LootBuilder() + .setMaterial(CompatibleMaterial.GLOW_INK_SAC) + .setMin(1) + .setMax(3).build())); + + // Add Glow Squid. + lootManager.addLootable(new Lootable("SQUID", + new LootBuilder() + .setMaterial(CompatibleMaterial.GLOW_INK_SAC) + .setMin(1) + .setMax(3).build())); + } if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_14)) { // Add Trader Llama. lootManager.addLootable(new Lootable("TRADER_LLAMA", diff --git a/src/main/java/com/songoda/ultimatestacker/stackable/entity/EntityStack.java b/src/main/java/com/songoda/ultimatestacker/stackable/entity/EntityStack.java index 112fcab..99eec05 100644 --- a/src/main/java/com/songoda/ultimatestacker/stackable/entity/EntityStack.java +++ b/src/main/java/com/songoda/ultimatestacker/stackable/entity/EntityStack.java @@ -1,8 +1,8 @@ package com.songoda.ultimatestacker.stackable.entity; import com.songoda.core.compatibility.ServerVersion; -import com.songoda.lootables.loot.Drop; -import com.songoda.lootables.loot.DropUtils; +import com.songoda.core.lootables.loot.Drop; +import com.songoda.core.lootables.loot.DropUtils; import com.songoda.ultimatestacker.UltimateStacker; import com.songoda.ultimatestacker.settings.Settings; import com.songoda.ultimatestacker.utils.Methods; From bcb298d9377e9e8abca9242df7025be0693ae364 Mon Sep 17 00:00:00 2001 From: Brianna Date: Thu, 23 Sep 2021 15:47:21 -0500 Subject: [PATCH 2/2] Lets not use sqlite syntax in mysql. --- .../ultimatestacker/database/DataManager.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java index 1894f18..10ccb5b 100644 --- a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java +++ b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java @@ -3,6 +3,7 @@ package com.songoda.ultimatestacker.database; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.database.DataManagerAbstract; import com.songoda.core.database.DatabaseConnector; +import com.songoda.core.database.SQLiteConnector; import com.songoda.ultimatestacker.settings.Settings; import com.songoda.ultimatestacker.stackable.block.BlockStack; import com.songoda.ultimatestacker.stackable.entity.ColdEntityStack; @@ -230,19 +231,21 @@ public class DataManager extends DataManagerAbstract { Map entities = new HashMap<>(); - String selectOldEntities = "SELECT * FROM " + this.getTablePrefix() + "host_entities where updated_at <= date('now','-" + Settings.DATABASE_PURGE.getInt() + " day')"; - try (Statement statement = connection.createStatement()) { - List toDelete = new ArrayList<>(); + if (this.databaseConnector instanceof SQLiteConnector) { + String selectOldEntities = "SELECT * FROM " + this.getTablePrefix() + "host_entities where updated_at <= date('now','-" + Settings.DATABASE_PURGE.getInt() + " day')"; + try (Statement statement = connection.createStatement()) { + List toDelete = new ArrayList<>(); - ResultSet result = statement.executeQuery(selectOldEntities); - while (result.next()) { - int hostId = result.getInt("id"); - toDelete.add(String.valueOf(hostId)); + ResultSet result = statement.executeQuery(selectOldEntities); + while (result.next()) { + int hostId = result.getInt("id"); + toDelete.add(String.valueOf(hostId)); + } + statement.execute("DELETE FROM " + this.getTablePrefix() + "host_entities where updated_at <= date('now','-" + Settings.DATABASE_PURGE.getInt() + " day')"); + statement.execute("DELETE FROM " + this.getTablePrefix() + "stacked_entities where host IN (" + String.join(", ", toDelete) + ")"); + } catch (Exception e) { + e.printStackTrace(); } - statement.execute("DELETE FROM " + this.getTablePrefix() + "host_entities where updated_at <= date('now','-" + Settings.DATABASE_PURGE.getInt() + " day')"); - statement.execute("DELETE FROM " + this.getTablePrefix() + "stacked_entities where host IN (" + String.join(", ", toDelete) + ")"); - } catch (Exception e) { - e.printStackTrace(); }