diff --git a/build.gradle.kts b/build.gradle.kts index db27887..3d4fb43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,6 +9,7 @@ version = "1.3.0" val invuiVersion: String = "1.46" val jacksonVersion: String = "2.20.0" +val mockBukkitVersion: String = "4.72.8" java { sourceCompatibility = JavaVersion.VERSION_21 @@ -20,8 +21,8 @@ java { } repositories { - mavenCentral() mavenLocal() + mavenCentral() maven("https://repo.xenondevs.xyz/releases") maven("https://repo.papermc.io/repository/maven-public/") @@ -47,9 +48,20 @@ dependencies { implementation("org.mariadb.jdbc:mariadb-java-client:3.5.2") implementation("redis.clients:jedis:5.2.0") implementation("com.google.code.gson:gson:2.13.1") + + testImplementation("org.mockbukkit.mockbukkit:mockbukkit-v1.21:$mockBukkitVersion") + testImplementation(platform("org.junit:junit-bom:5.13.4")) + testImplementation("org.junit.jupiter:junit-jupiter") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") } tasks { + test { + useJUnitPlatform() + testLogging { + events("passed", "skipped", "failed") + } + } processResources { from("src/main/resources") diff --git a/src/main/java/xyz/ineanto/nicko/Nicko.java b/src/main/java/xyz/ineanto/nicko/Nicko.java index e881a52..783fb50 100644 --- a/src/main/java/xyz/ineanto/nicko/Nicko.java +++ b/src/main/java/xyz/ineanto/nicko/Nicko.java @@ -40,6 +40,10 @@ public class Nicko extends JavaPlugin { private PlayerNameStore nameStore; private RandomNameFetcher nameFetcher; + public Nicko() { + super(); + } + @Override public void onLoad() { PacketEvents.setAPI(SpigotPacketEventsBuilder.build(this)); diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManageCacheItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManageCacheItem.java index 9641476..4cad150 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManageCacheItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManageCacheItem.java @@ -22,7 +22,7 @@ public class ManageCacheItem extends AsyncItem { super(new SuppliedItem(() -> { final ItemBuilder builder = new ItemBuilder(Material.PAINTING); return playerLanguage.translateItem(builder, LanguageKey.GUI.LOADING); - }, (_ -> true)).getItemProvider(), + }, (click -> true)).getItemProvider(), () -> { AbstractItemBuilder builder; diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManagePlayerItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManagePlayerItem.java index 0a18c0c..7cec662 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManagePlayerItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/admin/ManagePlayerItem.java @@ -22,7 +22,7 @@ public class ManagePlayerItem { return new SuppliedItem(() -> { final ItemBuilder builder = new ItemBuilder(Material.WRITABLE_BOOK); return playerLanguage.translateItem(builder, LanguageKey.GUI.Admin.MANAGE_PLAYER); - }, _ -> { + }, click -> { new PlayerCheckGUI(player, Bukkit.getOnlinePlayers()).open(); return true; }); diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/admin/cache/CacheEntryItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/admin/cache/CacheEntryItem.java index 705c78d..9bdef17 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/admin/cache/CacheEntryItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/admin/cache/CacheEntryItem.java @@ -33,7 +33,7 @@ public class CacheEntryItem extends AsyncItem { super(new SuppliedItem(() -> { final ItemBuilder builder = new ItemBuilder(Material.PAINTING); return playerLanguage.translateItem(builder, LanguageKey.GUI.LOADING); - }, (_ -> true)).getItemProvider(), + }, (click -> true)).getItemProvider(), () -> { final String dashedUuid = uuid.replaceAll("(.{8})(.{4})(.{4})(.{4})(.+)", "$1-$2-$3-$4-$5"); final UUID uuidObject = UUID.fromString(dashedUuid); diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java index f3c61f2..7432354 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/admin/check/PlayerInformationItem.java @@ -36,7 +36,7 @@ public class PlayerInformationItem extends AsyncItem { super(new SuppliedItem(() -> { final ItemBuilder builder = new ItemBuilder(Material.PAINTING); return playerLanguage.translateItem(builder, LanguageKey.GUI.LOADING); - }, (_ -> true)).getItemProvider(), () -> { + }, (click -> true)).getItemProvider(), () -> { try { final SkullBuilder skull = new SkullBuilder(target.getUniqueId()); final Optional optionalProfile = Nicko.getInstance().getDataStore().getData(target.getUniqueId()); diff --git a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAppearanceEntryItem.java b/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAppearanceEntryItem.java index 1fb8282..95c0a4a 100644 --- a/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAppearanceEntryItem.java +++ b/src/main/java/xyz/ineanto/nicko/gui/items/favorites/FavoriteAppearanceEntryItem.java @@ -29,7 +29,7 @@ public class FavoriteAppearanceEntryItem extends AsyncItem { super(new SuppliedItem(() -> { final ItemBuilder builder = new ItemBuilder(Material.PAINTING); return playerLanguage.translateItem(builder, LanguageKey.GUI.LOADING); - }, (_ -> true)).getItemProvider(), + }, (click -> true)).getItemProvider(), () -> { try { // TODO (Ineanto, 08/06/2025): set a default skin if the entry contains only a name diff --git a/src/test/java/xyz/ineanto/nicko/test/TestPluginMock.java b/src/test/java/xyz/ineanto/nicko/test/TestPluginMock.java new file mode 100644 index 0000000..c6a3043 --- /dev/null +++ b/src/test/java/xyz/ineanto/nicko/test/TestPluginMock.java @@ -0,0 +1,4 @@ +package xyz.ineanto.nicko.test; + +public class TestPluginMock { +}