From dee3f9b91c4c48aa9f6f9fa92705975ef4df3173 Mon Sep 17 00:00:00 2001 From: ineanto <pantoine.rochas@gmail.com> Date: Mon, 19 Jun 2023 15:08:23 +0200 Subject: [PATCH] maintenance and player info packet cast fix --- .gitignore | 12 ----- docker-compose.yml | 23 ++++++++++ pom.xml | 44 +++++++++---------- .../nicko/gui/admin/CacheManagementGUI.java | 8 ++-- .../gui/admin/cache/CacheDetailedGUI.java | 4 +- ...Placeholder.java => EntryPlaceholder.java} | 4 +- ...date.java => InvalidateCompleteCache.java} | 4 +- ...iled.java => InvalidateSpecificEntry.java} | 4 +- .../WrapperPlayerServerPlayerInfo.java | 4 +- .../nicko/test/storage/SQLStorageTest.java | 6 +-- 10 files changed, 61 insertions(+), 52 deletions(-) create mode 100644 docker-compose.yml rename src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/{SkinPlaceholder.java => EntryPlaceholder.java} (88%) rename src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/{CacheInvalidate.java => InvalidateCompleteCache.java} (93%) rename src/main/java/xyz/atnrch/nicko/gui/items/admin/cache/{CacheDetailed.java => InvalidateSpecificEntry.java} (90%) 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 @@ </repositories> <dependencies> - <!-- ProtocolLib --> + <!-- + MINECRAFT + --> + <dependency> + <groupId>org.spigotmc</groupId> + <artifactId>spigot-api</artifactId> + <version>1.19.4-R0.1-SNAPSHOT</version> + <scope>provided</scope> + </dependency> <dependency> <groupId>com.comphenix.protocol</groupId> <artifactId>ProtocolLib</artifactId> <version>5.0.0-SNAPSHOT</version> <scope>provided</scope> </dependency> - <!-- PlaceHolder API --> <dependency> <groupId>me.clip</groupId> <artifactId>placeholderapi</artifactId> <version>2.11.2</version> <scope>provided</scope> </dependency> - <!-- Inventory Lib --> <dependency> <groupId>xyz.xenondevs.invui</groupId> <artifactId>invui</artifactId> <version>1.0-SNAPSHOT</version> </dependency> - <!-- AnvilGUI --> <dependency> <groupId>net.wesjd</groupId> <artifactId>anvilgui</artifactId> <version>1.6.3-SNAPSHOT</version> </dependency> - <!-- Google Guava (GSON) --> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>31.1-jre</version> - <scope>provided</scope> - </dependency> - <!-- MockBukkit 1.19 (Bukkit Unit Tests) --> <dependency> <groupId>com.github.seeseemelk</groupId> <artifactId>MockBukkit-v1.19</artifactId> <version>2.29.0</version> <scope>test</scope> </dependency> - <!-- MariaDB JDBC Driver --> + + <!-- + DATA + --> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>2.10.1</version> + </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> @@ -95,24 +100,17 @@ <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> - <version>2.14.2</version> - </dependency> - <dependency> - <groupId>org.spigotmc</groupId> - <artifactId>spigot-api</artifactId> - <version>1.19.4-R0.1-SNAPSHOT</version> - <scope>provided</scope> + <version>2.15.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> - <version>2.14.2</version> + <version>2.15.2</version> </dependency> - <!-- Redis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> - <version>4.3.0</version> + <version>4.4.3</version> </dependency> </dependencies> 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<Item> 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<PlayerInfoData> getData() { - return handle.getPlayerInfoDataLists().read(0); + return handle.getPlayerInfoDataLists().read(1); } public void setData(List<PlayerInfoData> 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;