浏览代码

Remove Static Abuse - Database Tasks

nossr50 6 年之前
父节点
当前提交
982e67af70
共有 26 个文件被更改,包括 71 次插入45 次删除
  1. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java
  2. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java
  3. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java
  4. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java
  5. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java
  6. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java
  7. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java
  8. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java
  9. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java
  10. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java
  11. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java
  12. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java
  13. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java
  14. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java
  15. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java
  16. 0 1
      src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java
  17. 20 0
      src/main/java/com/gmail/nossr50/database/DatabaseManager.java
  18. 5 0
      src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java
  19. 8 1
      src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java
  20. 0 1
      src/main/java/com/gmail/nossr50/listeners/PlayerListener.java
  21. 5 2
      src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java
  22. 13 4
      src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java
  23. 12 13
      src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java
  24. 8 1
      src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java
  25. 0 6
      src/main/java/com/gmail/nossr50/util/Misc.java
  26. 0 1
      src/main/java/com/gmail/nossr50/util/player/NotificationManager.java

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
 import com.gmail.nossr50.listeners.InteractionManager;
 import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.random.RandomChanceSkill;
 import com.gmail.nossr50.util.random.RandomChanceUtil;
 import net.md_5.bungee.api.chat.TextComponent;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.archery.Archery;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.CombatUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.axes.Axes;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.CombatUtils;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.excavation.ExcavationManager;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java

@@ -9,7 +9,6 @@ import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.fishing.Fishing;
 import com.gmail.nossr50.skills.fishing.FishingManager;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.random.RandomChanceUtil;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Material;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.mining.MiningManager;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java

@@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
 import com.gmail.nossr50.listeners.InteractionManager;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.google.common.collect.ImmutableList;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandSender;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java

@@ -6,7 +6,6 @@ import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.repair.RepairManager;
 import com.gmail.nossr50.skills.repair.repairables.Repairable;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Material;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.salvage.Salvage;
 import com.gmail.nossr50.skills.salvage.SalvageManager;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java

@@ -7,7 +7,6 @@ import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.child.FamilyTree;
 import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.StringUtils;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.random.RandomChanceUtil;
 import com.gmail.nossr50.util.skills.RankUtils;
 import com.gmail.nossr50.util.skills.SkillActivationType;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.CombatUtils;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java

@@ -5,7 +5,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.taming.Taming;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.EntityType;
 import org.bukkit.entity.Player;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.CombatUtils;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.skills.RankUtils;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.entity.Player;

+ 20 - 0
src/main/java/com/gmail/nossr50/database/DatabaseManager.java

@@ -8,6 +8,7 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.util.logging.Logger;
 
 public interface DatabaseManager {
     /**
@@ -29,6 +30,19 @@ public interface DatabaseManager {
      */
     public boolean removeUser(String playerName, UUID uuid);
 
+    /**
+     * Prints progress on long database operations
+     * @param convertedUsers amount of users converted so far
+     * @param startMillis the start time stamp in millis
+     * @param logger logger
+     */
+    //TODO: Hacky fix, cleanup later
+    default void printProgress(int convertedUsers, long startMillis, Logger logger) {
+        if ((convertedUsers % getDatabaseProgressPrintInterval()) == 0) {
+            logger.info(String.format("Conversion progress: %d users at %.2f users/second", convertedUsers, convertedUsers / (double) ((System.currentTimeMillis() - startMillis) / 1000)));
+        }
+    }
+
     /**
      * Removes any cache used for faster lookups
      * Currently only used for SQL
@@ -125,6 +139,12 @@ public interface DatabaseManager {
 
     boolean saveUserUUIDs(Map<String, UUID> fetchedUUIDs);
 
+    /**
+     * Gets the interval in which any task that does an operation over the whole database should print progress updates to console
+     * @return the interval in which progress should be reported for database wide operations
+     */
+    int getDatabaseProgressPrintInterval();
+
     /**
      * Retrieve the type of database in use. Custom databases should return CUSTOM.
      *

+ 5 - 0
src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java

@@ -85,6 +85,11 @@ public final class FlatFileDatabaseManager implements DatabaseManager {
         }*/
     }
 
+    @Override
+    public int getDatabaseProgressPrintInterval() {
+        return progressInterval;
+    }
+
     public void purgePowerlessUsers() {
         int purgedUsers = 0;
 

+ 8 - 1
src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java

@@ -23,7 +23,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
     private final String COM_MYSQL_JDBC_DRIVER = "com.mysql.jdbc.Driver";
     private final String ALL_QUERY_VERSION = "total";
     private final Map<UUID, Integer> cachedUserIDs = new HashMap<>();
-    private String tablePrefix = pluginRef.getMySQLConfigSettings().getConfigSectionDatabase().getTablePrefix();
+    private String tablePrefix;
     private DataSource miscPool;
     private DataSource loadPool;
     private DataSource savePool;
@@ -37,6 +37,8 @@ public final class SQLDatabaseManager implements DatabaseManager {
 
     protected SQLDatabaseManager(mcMMO pluginRef) {
         this.pluginRef = pluginRef;
+
+        tablePrefix = pluginRef.getMySQLConfigSettings().getConfigSectionDatabase().getTablePrefix();
         purgeTime = 2630000000L * pluginRef.getDatabaseCleaningSettings().getOldUserCutoffMonths();
         progressInterval = 200;
 
@@ -113,6 +115,11 @@ public final class SQLDatabaseManager implements DatabaseManager {
         return poolProperties;
     }
 
+    @Override
+    public int getDatabaseProgressPrintInterval() {
+        return progressInterval;
+    }
+
     public void purgePowerlessUsers() {
         massUpdateLock.lock();
         pluginRef.getLogger().info("Purging powerless users...");

+ 0 - 1
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -11,7 +11,6 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent;
 import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.party.ShareHandler;
 import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask;
 import com.gmail.nossr50.skills.fishing.FishingManager;
 import com.gmail.nossr50.skills.herbalism.HerbalismManager;

+ 5 - 2
src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java

@@ -1,18 +1,21 @@
 package com.gmail.nossr50.runnables.database;
 
 import com.gmail.nossr50.database.DatabaseManager;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.CommandSender;
 import org.bukkit.scheduler.BukkitRunnable;
 
 public class DatabaseConversionTask extends BukkitRunnable {
+    private final mcMMO pluginRef;
     private final DatabaseManager sourceDatabase;
     private final CommandSender sender;
     private final String message;
 
-    public DatabaseConversionTask(DatabaseManager sourceDatabase, CommandSender sender, String oldType, String newType) {
+    public DatabaseConversionTask(mcMMO pluginRef, DatabaseManager sourceDatabase, CommandSender sender, String oldType, String newType) {
+        this.pluginRef = pluginRef;
         this.sourceDatabase = sourceDatabase;
         this.sender = sender;
-        message = pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.Finish", oldType, newType);
+        this.message = pluginRef.getLocaleManager().getString("Commands.mcconvert.Database.Finish", oldType, newType);
     }
 
     @Override

+ 13 - 4
src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java

@@ -1,19 +1,28 @@
 package com.gmail.nossr50.runnables.database;
 
-import com.gmail.nossr50.database.DatabaseManager;
 import com.gmail.nossr50.datatypes.experience.FormulaType;
 import com.gmail.nossr50.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.datatypes.player.PlayerProfile;
 import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
-import com.gmail.nossr50.util.Misc;
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.command.CommandSender;
 import org.bukkit.scheduler.BukkitRunnable;
 
+//TODO: PUUUUUUUUUUURGE
+/**
+ * This whole design of this thing is Jank
+ * The name is Jank
+ * Everything about this is Jank
+ *
+ * Fix this at some point in the future
+ */
 public class FormulaConversionTask extends BukkitRunnable {
     private CommandSender sender;
     private FormulaType previousFormula;
+    private mcMMO pluginRef;
 
-    public FormulaConversionTask(CommandSender sender, FormulaType previousFormula) {
+    public FormulaConversionTask(mcMMO pluginRef, CommandSender sender, FormulaType previousFormula) {
+        this.pluginRef = pluginRef;
         this.sender = sender;
         this.previousFormula = previousFormula;
     }
@@ -43,7 +52,7 @@ public class FormulaConversionTask extends BukkitRunnable {
                 editValues(profile);
             }
             convertedUsers++;
-            Misc.printProgress(convertedUsers, DatabaseManager.progressInterval, startMillis);
+            pluginRef.getDatabaseManager().printProgress(convertedUsers, startMillis, pluginRef.getLogger());
         }
 
         sender.sendMessage(pluginRef.getLocaleManager().getString("Commands.mcconvert.Experience.Finish", pluginRef.getConfigManager().getConfigLeveling().getConfigExperienceFormula().toString()));

+ 12 - 13
src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java

@@ -1,8 +1,6 @@
 package com.gmail.nossr50.runnables.database;
 
-import com.gmail.nossr50.database.DatabaseManager;
 import com.gmail.nossr50.mcMMO;
-import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.uuid.UUIDFetcher;
 import org.bukkit.scheduler.BukkitRunnable;
 
@@ -13,19 +11,19 @@ import java.util.UUID;
 import java.util.logging.Level;
 
 public class UUIDUpdateAsyncTask extends BukkitRunnable {
-    private mcMMO plugin;
-    private static final int MAX_LOOKUP = 100;
-    private static final int RATE_LIMIT = 300;
-    private static final long LIMIT_PERIOD = 6000;
-    private static final int BATCH_SIZE = MAX_LOOKUP * 3;
+    private mcMMO pluginRef;
+    private final int MAX_LOOKUP = 100;
+    private final int RATE_LIMIT = 300;
+    private final long LIMIT_PERIOD = 6000;
+    private final int BATCH_SIZE = MAX_LOOKUP * 3;
 
     private List<String> userNames;
     private int size;
     private int checkedUsers;
     private long startMillis;
 
-    public UUIDUpdateAsyncTask(mcMMO plugin, List<String> userNames) {
-        this.plugin = plugin;
+    public UUIDUpdateAsyncTask(mcMMO pluginRef, List<String> userNames) {
+        this.pluginRef = pluginRef;
         this.userNames = userNames;
 
         this.checkedUsers = 0;
@@ -36,7 +34,7 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
     public void run() {
         size = userNames.size();
 
-        plugin.getLogger().info("Starting to check and update UUIDs, total amount of users: " + size);
+        pluginRef.getLogger().info("Starting to check and update UUIDs, total amount of users: " + size);
 
         List<String> userNamesSection;
         Map<String, UUID> fetchedUUIDs = new HashMap<String, UUID>();
@@ -77,7 +75,7 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
                     }
                 }
 
-                plugin.getLogger().log(Level.SEVERE, "Unable to fetch UUIDs!", e);
+                pluginRef.getLogger().log(Level.SEVERE, "Unable to fetch UUIDs!", e);
                 return;
             }
 
@@ -85,7 +83,8 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
             userNamesSection.clear();
             size = userNames.size();
 
-            Misc.printProgress(checkedUsers, DatabaseManager.progressInterval, startMillis);
+            pluginRef.getDatabaseManager().printProgress(checkedUsers, startMillis, pluginRef.getLogger());
+
             if (fetchedUUIDs.size() >= BATCH_SIZE) {
                 pluginRef.getDatabaseManager().saveUserUUIDs(fetchedUUIDs);
                 fetchedUUIDs = new HashMap<String, UUID>();
@@ -94,7 +93,7 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
 
         if (fetchedUUIDs.size() == 0 || pluginRef.getDatabaseManager().saveUserUUIDs(fetchedUUIDs)) {
             //mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS);
-            plugin.getLogger().info("UUID upgrade completed!");
+            pluginRef.getLogger().info("UUID upgrade completed!");
         }
     }
 }

+ 8 - 1
src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java

@@ -1,11 +1,18 @@
 package com.gmail.nossr50.runnables.database;
 
+import com.gmail.nossr50.mcMMO;
 import org.bukkit.scheduler.BukkitRunnable;
 
 import java.util.concurrent.locks.ReentrantLock;
 
 public class UserPurgeTask extends BukkitRunnable {
-    private ReentrantLock lock = new ReentrantLock();
+    private final mcMMO pluginRef;
+    private ReentrantLock lock;
+
+    public UserPurgeTask(mcMMO pluginRef) {
+        this.pluginRef = pluginRef;
+        lock = new ReentrantLock();
+    }
 
     @Override
     public void run() {

+ 0 - 6
src/main/java/com/gmail/nossr50/util/Misc.java

@@ -180,12 +180,6 @@ public final class Misc {
         }
     }
 
-    public static void printProgress(int convertedUsers, int progressInterval, long startMillis) {
-        if ((convertedUsers % progressInterval) == 0) {
-            pluginRef.getLogger().info(String.format("Conversion progress: %d users at %.2f users/second", convertedUsers, convertedUsers / (double) ((System.currentTimeMillis() - startMillis) / TIME_CONVERSION_FACTOR)));
-        }
-    }
-
     public static String getModName(String materialName) {
         for (String mod : modNames) {
             if (materialName.contains(mod)) {

+ 0 - 1
src/main/java/com/gmail/nossr50/util/player/NotificationManager.java

@@ -9,7 +9,6 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.Permissions;
-import com.gmail.nossr50.util.TextComponentFactory;
 import com.gmail.nossr50.util.sounds.SoundManager;
 import com.gmail.nossr50.util.sounds.SoundType;
 import net.md_5.bungee.api.ChatMessageType;