From 9042fbf6d1a4575bca6421853c7a4c96f9cccde7 Mon Sep 17 00:00:00 2001 From: TechnicallyCoded Date: Sat, 7 Oct 2023 06:03:04 +0200 Subject: [PATCH] Fix SQL cooldown table generation (#177) --- .../database/DatabaseCooldowns.java | 21 +++++++++++++++---- .../BetterRTP/references/database/SQLite.java | 5 ++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java index 5217ded..7b3e79b 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseCooldowns.java @@ -25,12 +25,25 @@ public class DatabaseCooldowns extends SQLite { @Override public List getTables() { List list = new ArrayList<>(); - if (BetterRTP.getInstance().getCooldowns().isEnabled()) + + // Ignore loaded world names if cooldowns are disabled + if (!BetterRTP.getInstance().getCooldowns().isEnabled()) return list; - for (World world : Bukkit.getWorlds()) { - if (!BetterRTP.getInstance().getRTP().getDisabledWorlds().contains(world.getName())) - list.add(world.getName()); + + // Get list of disabled worlds and ensure list isn't null + List disabledWorlds = BetterRTP.getInstance().getRTP().getDisabledWorlds(); + if (disabledWorlds == null) disabledWorlds = new ArrayList<>(); + + // If there are disabled worlds, iterate through the loaded worlds on the server and + // add the world name to the list of table names if they aren't marked as disabled + List worlds = Bukkit.getWorlds(); + if (!disabledWorlds.isEmpty()) { + for (World world : worlds) { + if (!disabledWorlds.contains(world.getName())) + list.add(world.getName()); + } } + return list; } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java index aab23b4..124c14a 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java @@ -57,10 +57,13 @@ public abstract class SQLite { public void load() { loaded = false; tables = getTables(); - if (tables.isEmpty()) { //Dont do anything is no colums to generate + + // Don't do anything is no columns to generate + if (tables.isEmpty()) { loaded = true; return; } + AsyncHandler.async(() -> { Connection connection = getSQLConnection(); try {