diff --git a/pom.xml b/pom.xml index 13c384a..d936797 100644 --- a/pom.xml +++ b/pom.xml @@ -138,9 +138,11 @@ net.wesjd:anvilgui xyz.xenondevs.invui:* com.github.jsixface:* - com.fasterxml.jackson.dataformat - com.fasterxml.jackson.core - org.mariadb.jdbc + com.fasterxml.jackson.dataformat:* + com.fasterxml.jackson.core:* + org.mariadb.jdbc:* + redis.clients:* + org.apache.commons:commons-pool2 @@ -168,6 +170,14 @@ org.mariadb.jdbc net.artelnatif.libs.mariadb + + redis.clients + net.artelnatif.libs.redis + + + org.apache.commons.pool2 + net.artelnatif.libs.pool2 + false diff --git a/src/main/java/xyz/atnrch/nicko/anvil/AnvilManager.java b/src/main/java/xyz/atnrch/nicko/anvil/AnvilManager.java index a318c20..2e9f13f 100644 --- a/src/main/java/xyz/atnrch/nicko/anvil/AnvilManager.java +++ b/src/main/java/xyz/atnrch/nicko/anvil/AnvilManager.java @@ -1,16 +1,17 @@ package xyz.atnrch.nicko.anvil; -import xyz.atnrch.nicko.NickoBukkit; -import xyz.atnrch.nicko.appearance.AppearanceManager; -import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.i18n.I18N; -import xyz.atnrch.nicko.i18n.I18NDict; -import xyz.atnrch.nicko.mojang.MojangUtils; import net.wesjd.anvilgui.AnvilGUI; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import xyz.atnrch.nicko.NickoBukkit; +import xyz.atnrch.nicko.appearance.ActionResult; +import xyz.atnrch.nicko.appearance.AppearanceManager; +import xyz.atnrch.nicko.i18n.I18N; +import xyz.atnrch.nicko.i18n.I18NDict; +import xyz.atnrch.nicko.mojang.MojangUtils; +import xyz.atnrch.nicko.storage.PlayerDataStore; import java.util.Collections; import java.util.List; @@ -18,10 +19,12 @@ import java.util.List; public class AnvilManager { private final Player player; private final AppearanceManager appearanceManager; + private final PlayerDataStore dataStore; public AnvilManager(Player player) { this.player = player; this.appearanceManager = AppearanceManager.get(player); + this.dataStore = NickoBukkit.getInstance().getDataStore(); } public void openNameThenSkinAnvil() { @@ -47,6 +50,7 @@ public class AnvilManager { return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { appearanceManager.setName(snapshot.getText()); + dataStore.updateCache(player.getUniqueId(), appearanceManager.getProfile()); openSkinAnvil(); return Collections.singletonList(AnvilGUI.ResponseAction.close()); } @@ -67,6 +71,7 @@ public class AnvilManager { return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { appearanceManager.setName(snapshot.getText()); + dataStore.updateCache(player.getUniqueId(), appearanceManager.getProfile()); final ActionResult actionResult = appearanceManager.updatePlayer(false, false); return sendResultAndClose(actionResult); } @@ -87,6 +92,7 @@ public class AnvilManager { return Collections.singletonList(AnvilGUI.ResponseAction.replaceInputText("Invalid username!")); } else { appearanceManager.setSkin(snapshot.getText()); + dataStore.updateCache(player.getUniqueId(), appearanceManager.getProfile()); final ActionResult actionResult = appearanceManager.updatePlayer(true, false); return sendResultAndClose(actionResult); } diff --git a/src/main/java/xyz/atnrch/nicko/appearance/AppearanceManager.java b/src/main/java/xyz/atnrch/nicko/appearance/AppearanceManager.java index 3229307..2b51e6d 100644 --- a/src/main/java/xyz/atnrch/nicko/appearance/AppearanceManager.java +++ b/src/main/java/xyz/atnrch/nicko/appearance/AppearanceManager.java @@ -1,4 +1,4 @@ -package xyz.atnrch.nicko.profile; +package xyz.atnrch.nicko.appearance; import com.comphenix.protocol.utility.MinecraftVersion; import com.comphenix.protocol.wrappers.*; @@ -14,6 +14,7 @@ import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.i18n.Locale; import xyz.atnrch.nicko.mojang.MojangAPI; import xyz.atnrch.nicko.mojang.MojangSkin; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.PlayerDataStore; import xyz.atnrch.nicko.storage.name.PlayerNameStore; import xyz.atnrch.nicko.wrapper.*; @@ -24,7 +25,7 @@ import java.util.Optional; import java.util.UUID; import java.util.concurrent.ExecutionException; -public class ProfileManager { +public class AppearanceManager { private final NickoProfile profile; private final Player player; private final UUID uuid; @@ -32,24 +33,24 @@ public class ProfileManager { private final PlayerDataStore dataStore = instance.getDataStore(); private final PlayerNameStore nameStore = instance.getNameStore(); - private ProfileManager(UUID uuid) { + private AppearanceManager(UUID uuid) { this.player = Bukkit.getPlayer(uuid); this.uuid = uuid; this.profile = dataStore.getData(uuid).orElse(NickoProfile.EMPTY_PROFILE.clone()); } - private ProfileManager(String name) { + private AppearanceManager(String name) { this.player = null; this.uuid = null; this.profile = dataStore.getOfflineData(name).orElse(NickoProfile.EMPTY_PROFILE.clone()); } - public static ProfileManager get(Player player) { - return new ProfileManager(player.getUniqueId()); + public static AppearanceManager get(Player player) { + return new AppearanceManager(player.getUniqueId()); } - public static ProfileManager get(String name) { - return new ProfileManager(name); + public static AppearanceManager get(String name) { + return new AppearanceManager(name); } public boolean hasData() { diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/settings/BungeeCordCyclingItem.java b/src/main/java/xyz/atnrch/nicko/gui/items/settings/BungeeCordCyclingItem.java index 7101cbd..ef2ca6b 100644 --- a/src/main/java/xyz/atnrch/nicko/gui/items/settings/BungeeCordCyclingItem.java +++ b/src/main/java/xyz/atnrch/nicko/gui/items/settings/BungeeCordCyclingItem.java @@ -1,7 +1,7 @@ package xyz.atnrch.nicko.gui.items.settings; import xyz.atnrch.nicko.NickoBukkit; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Player; diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/settings/LanguageCyclingItem.java b/src/main/java/xyz/atnrch/nicko/gui/items/settings/LanguageCyclingItem.java index 7ce31db..01a3c41 100644 --- a/src/main/java/xyz/atnrch/nicko/gui/items/settings/LanguageCyclingItem.java +++ b/src/main/java/xyz/atnrch/nicko/gui/items/settings/LanguageCyclingItem.java @@ -1,11 +1,14 @@ package xyz.atnrch.nicko.gui.items.settings; -import xyz.atnrch.nicko.NickoBukkit; -import xyz.atnrch.nicko.appearance.NickoProfile; -import xyz.atnrch.nicko.i18n.Locale; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Player; +import xyz.atnrch.nicko.NickoBukkit; +import xyz.atnrch.nicko.i18n.I18N; +import xyz.atnrch.nicko.i18n.I18NDict; +import xyz.atnrch.nicko.i18n.Locale; +import xyz.atnrch.nicko.profile.NickoProfile; +import xyz.atnrch.nicko.storage.PlayerDataStore; import xyz.xenondevs.invui.item.ItemProvider; import xyz.xenondevs.invui.item.builder.ItemBuilder; import xyz.xenondevs.invui.item.impl.AbstractItem; @@ -21,13 +24,19 @@ public class LanguageCyclingItem { private final ItemProvider[] providers = getItems(); public AbstractItem get(Player player) { - final Optional profile = NickoBukkit.getInstance().getDataStore().getData(player.getUniqueId()); + final PlayerDataStore dataStore = NickoBukkit.getInstance().getDataStore(); + final Optional profile = dataStore.getData(player.getUniqueId()); if (profile.isPresent()) { final NickoProfile nickoProfile = profile.get(); int localeOrdinal = nickoProfile.getLocale().ordinal(); return CycleItem.withStateChangeHandler((observer, integer) -> { nickoProfile.setLocale(Locale.values()[integer]); observer.playSound(player, Sound.UI_BUTTON_CLICK, 1f, 0.707107f); // 0.707107 ~= C + if (dataStore.updateCache(player.getUniqueId(), nickoProfile).isError()) { + final I18N i18n = new I18N(player); + player.sendMessage(i18n.translate(I18NDict.Event.Settings.ERROR)); + player.getOpenInventory().close(); + } }, localeOrdinal, providers); } diff --git a/src/main/java/xyz/atnrch/nicko/i18n/I18N.java b/src/main/java/xyz/atnrch/nicko/i18n/I18N.java index 068d99f..18f76bb 100644 --- a/src/main/java/xyz/atnrch/nicko/i18n/I18N.java +++ b/src/main/java/xyz/atnrch/nicko/i18n/I18N.java @@ -1,13 +1,12 @@ package xyz.atnrch.nicko.i18n; import com.github.jsixface.YamlConfig; -import xyz.atnrch.nicko.NickoBukkit; -import xyz.atnrch.nicko.appearance.NickoProfile; import org.bukkit.entity.Player; +import xyz.atnrch.nicko.NickoBukkit; +import xyz.atnrch.nicko.appearance.AppearanceManager; import java.io.InputStream; import java.text.MessageFormat; -import java.util.Optional; public class I18N { private final MessageFormat formatter = new MessageFormat(""); @@ -56,8 +55,8 @@ public class I18N { private Locale getPlayerLocale() { try { - final Optional profile = instance.getDataStore().getData(player.getUniqueId()); - return !profile.isPresent() ? Locale.FALLBACK_LOCALE : profile.get().getLocale(); + final AppearanceManager appearanceManager = AppearanceManager.get(player); + return !appearanceManager.hasData() ? Locale.FALLBACK_LOCALE : appearanceManager.getLocale(); } catch (IllegalArgumentException exception) { instance.getLogger().severe("Invalid locale provided by " + player.getName() + ", defaulting to " + Locale.FALLBACK_LOCALE.getCode() + "."); return Locale.FALLBACK_LOCALE; diff --git a/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java b/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java index f8dbab5..79489f0 100644 --- a/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java +++ b/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java @@ -2,13 +2,13 @@ package xyz.atnrch.nicko.i18n; public class I18NDict { public static class Event { - public static final String EVENT_KEY = "event."; + private static final String EVENT_KEY = "event."; public static class Admin { - public static final String ADMIN_KEY = EVENT_KEY + "admin."; + private static final String ADMIN_KEY = EVENT_KEY + "admin."; public static class Cache { - public static final String CACHE_KEY = ADMIN_KEY + "cache."; + private static final String CACHE_KEY = ADMIN_KEY + "cache."; public static final String INVALIDATE_CACHE = CACHE_KEY + "invalidate_cache"; public static final String INVALIDATE_ENTRY = CACHE_KEY + "invalidate_entry"; @@ -16,8 +16,14 @@ public class I18NDict { } } + public static class Settings { + private static final String SETTINGS_KEY = EVENT_KEY + "settings."; + + public static final String ERROR = SETTINGS_KEY + "error"; + } + public static class Appearance { - public static final String APPEARANCE_KEY = EVENT_KEY + "appearance."; + private static final String APPEARANCE_KEY = EVENT_KEY + "appearance."; public static class Set { public static final String SET_KEY = APPEARANCE_KEY + "set."; @@ -27,7 +33,7 @@ public class I18NDict { } public static class Remove { - public static final String REMOVE_KEY = APPEARANCE_KEY + "remove."; + private static final String REMOVE_KEY = APPEARANCE_KEY + "remove."; public static final String OK = REMOVE_KEY + "ok"; public static final String MISSING = REMOVE_KEY + "missing"; @@ -35,7 +41,7 @@ public class I18NDict { } public static class Restore { - public static final String RESTORE_KEY = APPEARANCE_KEY + "restore."; + private static final String RESTORE_KEY = APPEARANCE_KEY + "restore."; public static final String OK = RESTORE_KEY + "ok"; public static final String ERROR = RESTORE_KEY + "error"; @@ -46,7 +52,6 @@ public class I18NDict { public static class Error { public static final String GENERIC = "error.generic"; public static final String PERMISSION = "error.permission"; - public static final String PLAYER_OFFLINE = "error.offline"; public static final String CACHE = "error.cache"; public static final String MOJANG_NAME = "error.mojang_name"; public static final String MOJANG_SKIN = "error.mojang_skin"; diff --git a/src/main/java/xyz/atnrch/nicko/placeholder/NickoExpansion.java b/src/main/java/xyz/atnrch/nicko/placeholder/NickoExpansion.java index ea82f20..770de6e 100644 --- a/src/main/java/xyz/atnrch/nicko/placeholder/NickoExpansion.java +++ b/src/main/java/xyz/atnrch/nicko/placeholder/NickoExpansion.java @@ -1,11 +1,11 @@ package xyz.atnrch.nicko.placeholder; import me.clip.placeholderapi.expansion.PlaceholderExpansion; -import xyz.atnrch.nicko.NickoBukkit; -import xyz.atnrch.nicko.appearance.NickoProfile; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import xyz.atnrch.nicko.NickoBukkit; +import xyz.atnrch.nicko.profile.NickoProfile; import java.util.Optional; diff --git a/src/main/java/xyz/atnrch/nicko/profile/NickoProfile.java b/src/main/java/xyz/atnrch/nicko/profile/NickoProfile.java index 93222e0..eabad4f 100644 --- a/src/main/java/xyz/atnrch/nicko/profile/NickoProfile.java +++ b/src/main/java/xyz/atnrch/nicko/profile/NickoProfile.java @@ -1,4 +1,4 @@ -package xyz.atnrch.nicko.appearance; +package xyz.atnrch.nicko.profile; import xyz.atnrch.nicko.i18n.Locale; diff --git a/src/main/java/xyz/atnrch/nicko/storage/Cache.java b/src/main/java/xyz/atnrch/nicko/storage/Cache.java index c92a214..cf48f79 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/Cache.java +++ b/src/main/java/xyz/atnrch/nicko/storage/Cache.java @@ -1,7 +1,7 @@ package xyz.atnrch.nicko.storage; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import java.util.Optional; import java.util.UUID; diff --git a/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java b/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java index d94eb0b..1b6c0ce 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java +++ b/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java @@ -3,7 +3,7 @@ package xyz.atnrch.nicko.storage; import org.bukkit.entity.Player; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.mojang.MojangAPI; import xyz.atnrch.nicko.mojang.MojangUtils; @@ -28,8 +28,17 @@ public class PlayerDataStore { this.cache = configuration.getRedisConfiguration().isEnabled() ? new RedisCache(configuration) : new MapCache(); } + public ActionResult updateCache(UUID uuid, NickoProfile profile) { + final Optional retrieved = getData(uuid); + if (retrieved.isPresent()) { + getCache().cache(uuid, profile); + return ActionResult.ok(); + } + return ActionResult.error(I18NDict.Error.CACHE); + } + public Optional getData(UUID uuid) { - if (storage.isError()) { + if (storage.isError() || cache.isError()) { return Optional.empty(); } diff --git a/src/main/java/xyz/atnrch/nicko/storage/Storage.java b/src/main/java/xyz/atnrch/nicko/storage/Storage.java index 0f2dc41..ed1d0a9 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/Storage.java +++ b/src/main/java/xyz/atnrch/nicko/storage/Storage.java @@ -1,7 +1,7 @@ package xyz.atnrch.nicko.storage; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import java.util.Optional; import java.util.UUID; diff --git a/src/main/java/xyz/atnrch/nicko/storage/json/JSONStorage.java b/src/main/java/xyz/atnrch/nicko/storage/json/JSONStorage.java index 7608c22..22e27c3 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/json/JSONStorage.java +++ b/src/main/java/xyz/atnrch/nicko/storage/json/JSONStorage.java @@ -4,7 +4,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.storage.Storage; import xyz.atnrch.nicko.storage.StorageProvider; diff --git a/src/main/java/xyz/atnrch/nicko/storage/map/MapCache.java b/src/main/java/xyz/atnrch/nicko/storage/map/MapCache.java index 3c15fef..7b566e5 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/map/MapCache.java +++ b/src/main/java/xyz/atnrch/nicko/storage/map/MapCache.java @@ -1,7 +1,7 @@ package xyz.atnrch.nicko.storage.map; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.Cache; import xyz.atnrch.nicko.storage.CacheProvider; diff --git a/src/main/java/xyz/atnrch/nicko/storage/map/MapCacheProvider.java b/src/main/java/xyz/atnrch/nicko/storage/map/MapCacheProvider.java index fa8367f..ba57607 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/map/MapCacheProvider.java +++ b/src/main/java/xyz/atnrch/nicko/storage/map/MapCacheProvider.java @@ -1,6 +1,6 @@ package xyz.atnrch.nicko.storage.map; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.CacheProvider; import java.util.HashMap; diff --git a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java b/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java index baaea0b..36c67e3 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java +++ b/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java @@ -2,7 +2,7 @@ package xyz.atnrch.nicko.storage.sql; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.i18n.Locale; import xyz.atnrch.nicko.storage.Storage; diff --git a/src/main/resources/en.yml b/src/main/resources/en.yml index fe5d422..7087dd6 100644 --- a/src/main/resources/en.yml +++ b/src/main/resources/en.yml @@ -1,15 +1,16 @@ error: - generic: "Unknown error" + generic: "An unknown error occurred." permission: "§cYou do not have the required permission." invalid_username: "§cThis is not a valid Minecraft username." mojang_name: "There is no Minecraft account with this name." mojang_skin: "This Minecraft account has no skin." - offline: "§c{0} §fis offline!" cache: "Unable to get skin from the cache." sql: "SQL Error" json: "JSON Error" event: + settings: + error: "§cUnable to update your settings. §7§o({0})" appearance: set: error: "§cUnable to apply your disguise. §7§o({0})" diff --git a/src/main/resources/fr.yml b/src/main/resources/fr.yml index a9b4998..6904949 100644 --- a/src/main/resources/fr.yml +++ b/src/main/resources/fr.yml @@ -1,10 +1,9 @@ error: - generic: "Erreur inconnue" + generic: "Une erreur inconnue c'est produite." permission: "§cVous ne possédez pas la permission." invalid_username: "§cLe pseudo n''est pas un pseudo Minecraft valide." mojang_name: "Un compte Minecraft avec ce nom n'existe pas." mojang_skin: "Ce compte Minecraft n'a pas de skin." - offline: "§c{0} §fest hors-ligne!" cache: "Impossible de récupérer le skin depuis le cache." sql: "Erreur SQL" json: "Erreur JSON" diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java index 1712cd7..899ef00 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java @@ -7,7 +7,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import org.junit.jupiter.api.*; import java.util.Optional; diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java index 2cd6880..1ddc95d 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java @@ -8,7 +8,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.i18n.Locale; import java.util.Optional; diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java index 6fa5cdb..61a361f 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java @@ -6,7 +6,7 @@ import be.seeseemelk.mockbukkit.entity.PlayerMock; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java index e439d11..524e2c2 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java @@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; -import xyz.atnrch.nicko.appearance.NickoProfile; +import xyz.atnrch.nicko.profile.NickoProfile; import java.util.Optional;