diff --git a/src/main/java/de/iani/treasurechest/TreasureChest.java b/src/main/java/de/iani/treasurechest/TreasureChest.java index bed9ec1..c99cc54 100644 --- a/src/main/java/de/iani/treasurechest/TreasureChest.java +++ b/src/main/java/de/iani/treasurechest/TreasureChest.java @@ -56,7 +56,7 @@ playerUUIDCache = (PlayerUUIDCache) getServer().getPluginManager().getPlugin("PlayerUUIDCache"); readConfig(); try { - database = new TreasureChestDatabase(sqlConfig); + database = new TreasureChestDatabase(this, sqlConfig); } catch (SQLException e) { getLogger().log(Level.SEVERE, "Could not connect to database: " + e.getMessage(), e); setEnabled(false); diff --git a/src/main/java/de/iani/treasurechest/database/TreasureChestDatabase.java b/src/main/java/de/iani/treasurechest/database/TreasureChestDatabase.java index 6616037..09f9bce 100644 --- a/src/main/java/de/iani/treasurechest/database/TreasureChestDatabase.java +++ b/src/main/java/de/iani/treasurechest/database/TreasureChestDatabase.java @@ -1,5 +1,10 @@ package de.iani.treasurechest.database; +import de.iani.treasurechest.TreasureChest; +import de.iani.treasurechest.TreasureChestItem; +import de.iani.treasurechest.util.sql.MySQLConnection; +import de.iani.treasurechest.util.sql.SQLConnection; +import de.iani.treasurechest.util.sql.SQLRunnable; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -7,19 +12,15 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.UUID; - +import java.util.logging.Level; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.inventory.ItemStack; -import de.iani.treasurechest.TreasureChestItem; -import de.iani.treasurechest.util.sql.MySQLConnection; -import de.iani.treasurechest.util.sql.SQLConnection; -import de.iani.treasurechest.util.sql.SQLRunnable; - public class TreasureChestDatabase { + private final TreasureChest plugin; private final SQLConnection connection; private final String tableName; @@ -29,7 +30,8 @@ private final String removeContent; private final String removeOldContent; - public TreasureChestDatabase(SQLConfig config) throws SQLException { + public TreasureChestDatabase(TreasureChest plugin, SQLConfig config) throws SQLException { + this.plugin = plugin; connection = new MySQLConnection(config.getHost(), config.getDatabase(), config.getUser(), config.getPassword()); this.tableName = config.getTablePrefix() + "_content"; @@ -115,11 +117,13 @@ try { conf.loadFromString(content); } catch (InvalidConfigurationException e) { - e.printStackTrace(); + plugin.getLogger().log(Level.WARNING, "Could not load treasure chest item " + id + " for player " + owner, e); + continue; } ItemStack displayItem = conf.getItemStack("display"); if (displayItem == null || displayItem.getAmount() == 0 || displayItem.getType() == Material.AIR) { - displayItem = new ItemStack(Material.BEDROCK); + plugin.getLogger().log(Level.WARNING, "No display item for item " + id + " for player " + owner); + continue; } ArrayList stacks = new ArrayList<>(); ConfigurationSection itemsSection = conf.getConfigurationSection("items");