diff --git a/.gitignore b/.gitignore
index 67f8558..7055fba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,18 +27,6 @@ replay_pid*
# Idea files
*.iml
-# Nicko first pass build files
-core/target
-v1_14_R1/target
-v1_15_R1/target
-v1_16_R1/target
-v1_16_R2/target
-v1_16_R3/target
-v1_17_R1/target
-v1_18_R1/target
-v1_18_R2/target
-v1_19_R1/target
-
# Idea Folder
.idea
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..d2fa012
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,23 @@
+# Nicko's docker-compose.yml
+# Used for debug and test purposes.
+version: '3.1'
+
+services:
+
+ db:
+ image: mariadb
+ restart: always
+ environment:
+ MARIADB_ROOT_PASSWORD: 12345
+
+ adminer:
+ image: adminer
+ restart: always
+ ports:
+ - "8080:8080"
+
+ redis:
+ image: redis
+ restart: always
+ ports:
+ - "6379:6379"
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 31d2bc6..04e30ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,47 +39,52 @@
-
+
+
+ org.spigotmc
+ spigot-api
+ 1.19.4-R0.1-SNAPSHOT
+ provided
+
com.comphenix.protocol
ProtocolLib
5.0.0-SNAPSHOT
provided
-
me.clip
placeholderapi
2.11.2
provided
-
xyz.xenondevs.invui
invui
1.0-SNAPSHOT
-
net.wesjd
anvilgui
1.6.3-SNAPSHOT
-
-
- com.google.guava
- guava
- 31.1-jre
- provided
-
-
com.github.seeseemelk
MockBukkit-v1.19
2.29.0
test
-
+
+
+
+ com.google.code.gson
+ gson
+ 2.10.1
+
org.mariadb.jdbc
mariadb-java-client
@@ -95,24 +100,17 @@
com.fasterxml.jackson.core
jackson-core
- 2.14.2
-
-
- org.spigotmc
- spigot-api
- 1.19.4-R0.1-SNAPSHOT
- provided
+ 2.15.2
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
- 2.14.2
+ 2.15.2
-
redis.clients
jedis
- 4.3.0
+ 4.4.3
diff --git a/src/main/java/xyz/atnrch/nicko/gui/admin/CacheManagementGUI.java b/src/main/java/xyz/atnrch/nicko/gui/admin/CacheManagementGUI.java
index 58a2510..77ca7d2 100644
--- a/src/main/java/xyz/atnrch/nicko/gui/admin/CacheManagementGUI.java
+++ b/src/main/java/xyz/atnrch/nicko/gui/admin/CacheManagementGUI.java
@@ -1,8 +1,8 @@
package xyz.atnrch.nicko.gui.admin;
import xyz.atnrch.nicko.gui.AdminGUI;
-import xyz.atnrch.nicko.gui.items.admin.cache.CacheDetailed;
-import xyz.atnrch.nicko.gui.items.admin.cache.CacheInvalidate;
+import xyz.atnrch.nicko.gui.items.admin.cache.InvalidateSpecificEntry;
+import xyz.atnrch.nicko.gui.items.admin.cache.InvalidateCompleteCache;
import xyz.atnrch.nicko.gui.items.admin.cache.CacheOverview;
import xyz.atnrch.nicko.gui.items.common.GoBack;
import org.bukkit.entity.Player;
@@ -20,8 +20,8 @@ public class CacheManagementGUI {
.setStructure("B # S A D")
.addIngredient('B', new GoBack(new AdminGUI(player).getGUI()))
.addIngredient('S', new CacheOverview())
- .addIngredient('A', new CacheInvalidate())
- .addIngredient('D', new CacheDetailed())
+ .addIngredient('A', new InvalidateCompleteCache())
+ .addIngredient('D', new InvalidateSpecificEntry())
.build();
this.player = player;
}
diff --git a/src/main/java/xyz/atnrch/nicko/gui/admin/cache/CacheDetailedGUI.java b/src/main/java/xyz/atnrch/nicko/gui/admin/cache/CacheDetailedGUI.java
index d8b4c65..1b49726 100644
--- a/src/main/java/xyz/atnrch/nicko/gui/admin/cache/CacheDetailedGUI.java
+++ b/src/main/java/xyz/atnrch/nicko/gui/admin/cache/CacheDetailedGUI.java
@@ -8,7 +8,7 @@ import xyz.xenondevs.invui.gui.ScrollGui;
import xyz.xenondevs.invui.gui.structure.Markers;
import xyz.xenondevs.invui.item.Item;
import xyz.atnrch.nicko.NickoBukkit;
-import xyz.atnrch.nicko.gui.items.admin.cache.SkinPlaceholder;
+import xyz.atnrch.nicko.gui.items.admin.cache.EntryPlaceholder;
import xyz.atnrch.nicko.gui.admin.CacheManagementGUI;
import xyz.atnrch.nicko.gui.items.common.ScrollDown;
import org.bukkit.entity.Player;
@@ -34,7 +34,7 @@ public class CacheDetailedGUI {
.collect(Collectors.toList());
final List- items = loadedSkins.stream()
- .map(SkinPlaceholder::new)
+ .map(EntryPlaceholder::new)
.collect(Collectors.toList());
gui = ScrollGui.items(guiItemBuilder -> {
diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/SkinPlaceholder.java b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/EntryPlaceholder.java
similarity index 88%
rename from src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/SkinPlaceholder.java
rename to src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/EntryPlaceholder.java
index 6f94d63..10b8c32 100644
--- a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/SkinPlaceholder.java
+++ b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/EntryPlaceholder.java
@@ -7,8 +7,8 @@ import xyz.xenondevs.invui.item.impl.AsyncItem;
import java.util.UUID;
-public class SkinPlaceholder extends AsyncItem {
- public SkinPlaceholder(String name) {
+public class EntryPlaceholder extends AsyncItem {
+ public EntryPlaceholder(String name) {
super(new ItemBuilder(Material.PAINTING).setDisplayName("§7§oLoading..."), () -> {
final String stringUUID = name.replaceAll("(.{8})(.{4})(.{4})(.{4})(.+)", "$1-$2-$3-$4-$5");
final UUID uuid = UUID.fromString(stringUUID);
diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheInvalidate.java b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateCompleteCache.java
similarity index 93%
rename from src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheInvalidate.java
rename to src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateCompleteCache.java
index 7d3fa9a..5ec26d3 100644
--- a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheInvalidate.java
+++ b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateCompleteCache.java
@@ -9,8 +9,8 @@ import org.bukkit.event.inventory.ClickType;
import xyz.xenondevs.invui.item.builder.ItemBuilder;
import xyz.xenondevs.invui.item.impl.SuppliedItem;
-public class CacheInvalidate extends SuppliedItem {
- public CacheInvalidate() {
+public class InvalidateCompleteCache extends SuppliedItem {
+ public InvalidateCompleteCache() {
super(() -> {
final ItemBuilder builder = new ItemBuilder(Material.TNT);
builder.setDisplayName("§fInvalidate §6skin cache");
diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheDetailed.java b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateSpecificEntry.java
similarity index 90%
rename from src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheDetailed.java
rename to src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateSpecificEntry.java
index 9a55797..62bd5a0 100644
--- a/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/CacheDetailed.java
+++ b/src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/InvalidateSpecificEntry.java
@@ -6,8 +6,8 @@ import org.bukkit.event.inventory.ClickType;
import xyz.xenondevs.invui.item.builder.ItemBuilder;
import xyz.xenondevs.invui.item.impl.SuppliedItem;
-public class CacheDetailed extends SuppliedItem {
- public CacheDetailed() {
+public class InvalidateSpecificEntry extends SuppliedItem {
+ public InvalidateSpecificEntry() {
super(() -> {
final ItemBuilder builder = new ItemBuilder(Material.PAPER);
builder.setDisplayName("§6Invalidate specific skin...");
diff --git a/src/main/java/xyz/atnrch/nicko/wrapper/WrapperPlayerServerPlayerInfo.java b/src/main/java/xyz/atnrch/nicko/wrapper/WrapperPlayerServerPlayerInfo.java
index df989b4..86ee3f5 100644
--- a/src/main/java/xyz/atnrch/nicko/wrapper/WrapperPlayerServerPlayerInfo.java
+++ b/src/main/java/xyz/atnrch/nicko/wrapper/WrapperPlayerServerPlayerInfo.java
@@ -41,10 +41,10 @@ public class WrapperPlayerServerPlayerInfo extends AbstractPacket {
}
public List getData() {
- return handle.getPlayerInfoDataLists().read(0);
+ return handle.getPlayerInfoDataLists().read(1);
}
public void setData(List value) {
- handle.getPlayerInfoDataLists().write(0, value);
+ handle.getPlayerInfoDataLists().write(1, value);
}
}
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 39c4ad1..c6c9380 100644
--- a/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java
+++ b/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java
@@ -3,13 +3,13 @@ package xyz.atnrch.nicko.test.storage;
import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import be.seeseemelk.mockbukkit.entity.PlayerMock;
+import org.junit.jupiter.api.*;
import xyz.atnrch.nicko.NickoBukkit;
-import xyz.atnrch.nicko.config.DataSourceConfiguration;
-import xyz.atnrch.nicko.i18n.Locale;
import xyz.atnrch.nicko.config.Configuration;
+import xyz.atnrch.nicko.config.DataSourceConfiguration;
import xyz.atnrch.nicko.disguise.ActionResult;
import xyz.atnrch.nicko.disguise.NickoProfile;
-import org.junit.jupiter.api.*;
+import xyz.atnrch.nicko.i18n.Locale;
import java.util.Optional;