diff --git a/docs/changelog_v3.3.x.md b/docs/changelog_v3.3.x.md index e3a21de63..6bf538ae9 100644 --- a/docs/changelog_v3.3.x.md +++ b/docs/changelog_v3.3.x.md @@ -16,6 +16,11 @@ These change logs represent the work that has been going on within prison. # 3.3.0-alpha.17 2024-04-28 +* **XSeries XMaterials: Update to XSeries v9.10.0 from v9.9.0.** +Had issues with case sensitivity when using `valueOf()`, which was changed to `matchXMaterial().orElse(null)` which resolves a few issues. +XMaterials v9.10.0 sets up support for spigot 1.20.5. There may be more changes as spigot stabilizes. +The issue with using `valueOf("green_wool")` would not find any matches since the enum case must match the string value exactly. So `valueOf("GREEN_WOOL")` would have worked. This was fixed to help eliminate possible issues with configuring the server. + * **Auto features: normal drop processing: Added a new feature to check inventory for being full, and if it is, then display the messages.** diff --git a/prison-sellall/build.gradle b/prison-sellall/build.gradle index f23eaf0ae..3b895b999 100644 --- a/prison-sellall/build.gradle +++ b/prison-sellall/build.gradle @@ -49,7 +49,7 @@ dependencies { // https://mvnrepository.com/artifact/com.github.cryptomorin/XSeries -// implementation 'com.github.cryptomorin:XSeries:8.5.0.1' +// implementation 'com.github.cryptomorin:XSeries:9.10.0' diff --git a/prison-spigot/build.gradle b/prison-spigot/build.gradle index b94f6db3a..baa978ed1 100644 --- a/prison-spigot/build.gradle +++ b/prison-spigot/build.gradle @@ -150,7 +150,7 @@ dependencies { // https://mvnrepository.com/artifact/com.github.cryptomorin/XSeries - implementation 'com.github.cryptomorin:XSeries:9.9.0' + implementation 'com.github.cryptomorin:XSeries:9.10.0' // implementation 'com.github.cryptomorin:XSeries:9.8.0' //implementation 'com.github.cryptomorin:XSeries:9.4.0' //implementation 'com.github.cryptomorin:XSeries:9.2.0' diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotSellAllCommands.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotSellAllCommands.java index 1ae5e8dbb..73e671b1b 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotSellAllCommands.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/commands/PrisonSpigotSellAllCommands.java @@ -749,7 +749,7 @@ private void sellAllAddCommand(CommandSender sender, try { XMaterial blockAdd; try { - blockAdd = XMaterial.valueOf(itemID); + blockAdd = XMaterial.matchXMaterial(itemID).orElse(null); } catch (IllegalArgumentException ex){ Output.get().sendInfo(sender, messages.getString(MessagesConfig.StringID.spigot_message_sellall_item_id_not_found) + " [" + itemID + "]"); return; @@ -854,7 +854,7 @@ private void sellAllEditCommand(CommandSender sender, try { XMaterial blockAdd; try{ - blockAdd = XMaterial.valueOf(itemID); + blockAdd = XMaterial.matchXMaterial(itemID).orElse(null); } catch (IllegalArgumentException ex){ Output.get().sendError(sender, messages.getString(MessagesConfig.StringID.spigot_message_sellall_item_id_not_found) + " [" + itemID + "]"); return; @@ -913,7 +913,7 @@ private void sellAllAllowLoreCommand(CommandSender sender, try { XMaterial blockAdd; try { - blockAdd = XMaterial.valueOf(itemID); + blockAdd = XMaterial.matchXMaterial(itemID).orElse(null); } catch (IllegalArgumentException ex){ Output.get().sendError(sender, messages.getString(MessagesConfig.StringID.spigot_message_sellall_item_id_not_found) + " [" + itemID + "]"); return; @@ -1555,7 +1555,7 @@ private void sellAllTriggerAdd(CommandSender sender, try { XMaterial blockAdd; try{ - blockAdd = XMaterial.valueOf(itemID); + blockAdd = XMaterial.matchXMaterial(itemID).orElse(null); } catch (IllegalArgumentException ex){ Output.get().sendError(sender, messages.getString(MessagesConfig.StringID.spigot_message_sellall_item_id_not_found) + " [" + itemID + "]"); return; diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java index 2556e5f09..a86dea2c8 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/mine/SpigotPlayerMinesGUI.java @@ -114,7 +114,7 @@ public void open() { else { // Validate that it is valid, otherwise use redstone_block: try { - XMaterial.valueOf( noMineAccessBlockType ); + XMaterial.matchXMaterial( noMineAccessBlockType ).orElse(null); } catch (Exception e) { noMineAccessBlockType = XMaterial.REDSTONE_BLOCK.name(); @@ -139,7 +139,7 @@ public void open() { mineLore.addAll( mineLore2 ); - XMaterial xMat = XMaterial.valueOf( noMineAccessBlockType ); + XMaterial xMat = XMaterial.matchXMaterial( noMineAccessBlockType ).orElse(null); // XMaterial xMat = XMaterial.REDSTONE_BLOCK; // Bug: Cannot safely use Material due to variants prior to bukkit v1.13: diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java index ddce1a2f1..7d311f3e9 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerPrestigesGUI.java @@ -171,12 +171,14 @@ public void open() { // Not sure how you want to represent this: try { - materialHas = XMaterial.valueOf(guiConfig.getString("Options.Ranks.Item_gotten_rank")); + materialHas = XMaterial.matchXMaterial( + guiConfig.getString("Options.Ranks.Item_gotten_rank")).orElse(null); } catch (IllegalArgumentException ignored){ materialHas = XMaterial.TRIPWIRE_HOOK; } try { - materialHasNot = XMaterial.valueOf(guiConfig.getString("Options.Ranks.Item_not_gotten_rank")); + materialHasNot = XMaterial.matchXMaterial( + guiConfig.getString("Options.Ranks.Item_not_gotten_rank")).orElse(null); } catch (IllegalArgumentException ignored){ materialHasNot = XMaterial.REDSTONE_BLOCK; } diff --git a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java index f90c340d0..a0624bb19 100644 --- a/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java +++ b/prison-spigot/src/main/java/tech/mcprison/prison/spigot/gui/rank/SpigotPlayerRanksGUI.java @@ -161,12 +161,13 @@ public void open() { String guiItemNameDefaultSetting = guiConfig.getString( "Options.Ranks.GuiItemNameDefault" ); - + + // Not sure how you want to represent this: String materialHasStr = guiConfig.getString("Options.Ranks.MaterialType.HasRankAccess", "TRIPWIRE_HOOK"); - XMaterial materialHas = XMaterial.valueOf( materialHasStr ); - XMaterial materialHasNot = XMaterial.valueOf( - guiConfig.getString("Options.Ranks.MaterialType.NoRankAccess")); + XMaterial materialHas = XMaterial.matchXMaterial( materialHasStr ).orElse(null); + XMaterial materialHasNot = XMaterial.matchXMaterial( + guiConfig.getString("Options.Ranks.MaterialType.NoRankAccess")).orElse(null); List configCustomLore = guiConfig.getStringList("EditableLore.Ranks"); @@ -220,7 +221,7 @@ public void open() { String materialTypeStr = guiConfig.getString("Options.Ranks.MaterialType." + rank.getName()); XMaterial materialType = materialTypeStr == null ? null : - XMaterial.valueOf( materialTypeStr.toUpperCase() ); + XMaterial.matchXMaterial( materialTypeStr ).orElse(null); materialType = !playerHasThisRank ? materialHasNot :