diff --git a/build.gradle.kts b/build.gradle.kts index 643c40c2..27c11b5f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ plugins { java - id("com.gradleup.shadow") version("8.3.5") - id("com.github.ben-manes.versions") version("0.51.0") + id("com.gradleup.shadow") version("8.3.8") + id("com.github.ben-manes.versions") version("0.52.0") } // Change to true when releasing @@ -14,17 +14,17 @@ version = "$majorVersion-$minorVersion" repositories { mavenCentral() - maven("https://s01.oss.sonatype.org/content/repositories/snapshots/") + maven("https://repo.papermc.io/repository/maven-public/") maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") - maven("https://repo.glaremasters.me/repository/public/") maven("https://nexus.phoenixdevt.fr/repository/maven-public/") maven("https://repo.nexomc.com/releases/") maven("https://repo.oraxen.com/releases") + maven("https://maven.devs.beer/") maven("https://jitpack.io") } dependencies { - compileOnly(libs.spigot) + compileOnly(libs.paper) compileOnly(libs.vault) compileOnly(libs.authlib) @@ -56,14 +56,15 @@ tasks { relocate("org.bstats", "com.extendedclip.deluxemenus.libs.bstats") archiveFileName.set("DeluxeMenus-${rootProject.version}.jar") } + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 disableAutoTargetJvm() } processResources { - filesMatching("plugin.yml") { + filesMatching(listOf("plugin.yml", "paper-plugin.yml")) { expand("version" to rootProject.version) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4f479961..9fadf790 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,14 +1,16 @@ [versions] # Compile only spigot = "1.21.5-R0.1-SNAPSHOT" +#paper = "1.17.1-R0.1-SNAPSHOT" +paper = "1.21.7-R0.1-SNAPSHOT" vault = "1.7.1" authlib = "1.5.25" headdb = "1.3.2" -itemsadder = "3.6.3-beta-14" -nexo = "1.1.0" +itemsadder = "4.0.10" +nexo = "1.8.0" oraxen = "1.190.0" mythiclib = "1.7.1-SNAPSHOT" -mmoitems = "6.10-SNAPSHOT" +mmoitems = "6.10.1-SNAPSHOT" papi = "2.11.6" score = "4.24.3.5" sig = "1.5.0" @@ -21,11 +23,11 @@ adventure-minimessage = "4.21.0" [libraries] # Compile only -spigot = { module = "org.spigotmc:spigot-api", version.ref = "spigot" } +paper = { module = "io.papermc.paper:paper-api", version.ref = "paper" } vault = { module = "com.github.milkbowl:VaultAPI", version.ref = "vault" } authlib = { module = "com.mojang:authlib", version.ref = "authlib" } headdb = { module = "com.arcaniax:HeadDatabase-API", version.ref = "headdb" } -itemsadder = { module = "com.github.LoneDev6:api-itemsadder", version.ref = "itemsadder" } +itemsadder = { module = "dev.lone:api-itemsadder", version.ref = "itemsadder" } nexo = { module = "com.nexomc:nexo", version.ref = "nexo" } oraxen = { module = "io.th0rgal:oraxen", version.ref = "oraxen" } mythiclib = { module = "io.lumine:MythicLib-dist", version.ref = "mythiclib"} diff --git a/src/main/java/com/extendedclip/deluxemenus/menu/command/RegistrableMenuCommand.java b/src/main/java/com/extendedclip/deluxemenus/menu/command/RegistrableMenuCommand.java index 3edf522b..6e315be0 100644 --- a/src/main/java/com/extendedclip/deluxemenus/menu/command/RegistrableMenuCommand.java +++ b/src/main/java/com/extendedclip/deluxemenus/menu/command/RegistrableMenuCommand.java @@ -32,7 +32,7 @@ public class RegistrableMenuCommand extends Command { public RegistrableMenuCommand(final @NotNull DeluxeMenus plugin, final @NotNull Menu menu) { - super(menu.options().commands().isEmpty() ? menu.options().name() : menu.options().commands().get(0)); + super(menu.options().commands().isEmpty() ? menu.options().name() : menu.options().commands().getFirst()); this.plugin = plugin; this.menu = menu; @@ -42,12 +42,12 @@ public RegistrableMenuCommand(final @NotNull DeluxeMenus plugin, } @Override - public boolean execute(final @NotNull CommandSender sender, final @NotNull String commandLabel, final @NotNull String[] typedArgs) { + public boolean execute(final @NotNull CommandSender sender, final @NotNull String commandLabel, final @NotNull String @NotNull [] typedArgs) { if (this.unregistered) { throw new IllegalStateException("This command was unregistered!"); } - if (!(sender instanceof Player)) { + if (!(sender instanceof Player player)) { Msg.msg(sender, "Menus can only be opened by players!"); return true; } @@ -77,7 +77,6 @@ public boolean execute(final @NotNull CommandSender sender, final @NotNull Strin } } - Player player = (Player) sender; plugin.debug(DebugLevel.LOWEST, Level.INFO, "opening menu: " + menu.options().name()); menu.openMenu(player, argMap, null); return true; @@ -138,6 +137,7 @@ public void unregister() { knownCommands = SimpleCommandMap.class.getDeclaredField("knownCommands"); knownCommands.setAccessible(true); + //noinspection unchecked final Map knownCommandsMap = (Map) knownCommands.get(cMap.get(Bukkit.getServer())); // We need to remove every single alias because CommandMap#register() adds them all to the map. diff --git a/src/main/java/com/extendedclip/deluxemenus/persistentmeta/PersistentMetaHandler.java b/src/main/java/com/extendedclip/deluxemenus/persistentmeta/PersistentMetaHandler.java index bab7d857..11182d55 100644 --- a/src/main/java/com/extendedclip/deluxemenus/persistentmeta/PersistentMetaHandler.java +++ b/src/main/java/com/extendedclip/deluxemenus/persistentmeta/PersistentMetaHandler.java @@ -145,6 +145,7 @@ public Map getMetaValues( return OperationResult.NEW_VALUE_IS_DIFFERENT_TYPE; } + // TODO: Blitz: It seems that PersistentDataContainer#has(NamespacedKey) does not exist in 1.17.1. if (player.getPersistentDataContainer().has(key) && (!player.getPersistentDataContainer().has(key, type.getPDType()) || !type.isSupported(player.getPersistentDataContainer().get(key, type.getPDType())))) { return OperationResult.EXISTENT_VALUE_IS_DIFFERENT_TYPE; diff --git a/src/main/java/com/extendedclip/deluxemenus/utils/ItemUtils.java b/src/main/java/com/extendedclip/deluxemenus/utils/ItemUtils.java index 870e8312..7345d2c5 100644 --- a/src/main/java/com/extendedclip/deluxemenus/utils/ItemUtils.java +++ b/src/main/java/com/extendedclip/deluxemenus/utils/ItemUtils.java @@ -105,7 +105,7 @@ public static boolean hasPotionMeta(@NotNull final ItemStack itemStack) { final PotionMeta itemMeta = (PotionMeta) itemStack.getItemMeta(); if (itemMeta != null) { - itemMeta.setBasePotionType(PotionType.WATER); + itemMeta.setBasePotionType(PotionType.WATER); // TODO: Blitz: Check if this works in 1.17.1 (seems that the setBasePotionType method was only added later) itemStack.setItemMeta(itemMeta); } diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml new file mode 100644 index 00000000..0dd00eba --- /dev/null +++ b/src/main/resources/paper-plugin.yml @@ -0,0 +1,5 @@ +name: DeluxeMenus +version: '${version}' +main: com.extendedclip.deluxemenus.DeluxeMenus +description: All in one inventory menu system +api-version: '1.13' \ No newline at end of file