From c75d7196df747c1e031d0e4aedcfa1ca12e54ef7 Mon Sep 17 00:00:00 2001 From: Ajneb97 Date: Fri, 8 Nov 2024 10:07:55 -0300 Subject: [PATCH] 1.13.1 --- src/main/java/pk/ajneb97/PlayerKits2.java | 4 +++ .../edit/InventoryEditPositionManager.java | 2 +- .../model/inventory/InventoryPlayer.java | 2 +- src/main/java/pk/ajneb97/utils/ItemUtils.java | 29 +++++++++++++++++-- .../java/pk/ajneb97/utils/ServerVersion.java | 3 +- src/main/resources/plugin.yml | 2 +- 6 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/main/java/pk/ajneb97/PlayerKits2.java b/src/main/java/pk/ajneb97/PlayerKits2.java index b39de7a..4b1cfaa 100644 --- a/src/main/java/pk/ajneb97/PlayerKits2.java +++ b/src/main/java/pk/ajneb97/PlayerKits2.java @@ -128,6 +128,10 @@ public class PlayerKits2 extends JavaPlugin { case "1.21.1": serverVersion = ServerVersion.v1_21_R1; break; + case "1.21.2": + case "1.21.3": + serverVersion = ServerVersion.v1_21_R2; + break; default: serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", "")); } diff --git a/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java b/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java index 6e26748..6f41c52 100644 --- a/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java +++ b/src/main/java/pk/ajneb97/managers/edit/InventoryEditPositionManager.java @@ -99,7 +99,7 @@ public class InventoryEditPositionManager { lore.add(""); lore.add("&7You can go back by closing this inventory."); new InventoryItem(inventoryPlayer.getPlayer().getInventory(), 22, Material.COMPASS).name("&6&lInfo").lore(lore).ready(); - inventoryPlayer.getPlayer().updateInventory(); + //inventoryPlayer.getPlayer().updateInventory(); inventoryEditManager.getPlayers().add(inventoryPlayer); diff --git a/src/main/java/pk/ajneb97/model/inventory/InventoryPlayer.java b/src/main/java/pk/ajneb97/model/inventory/InventoryPlayer.java index d12b740..3536000 100644 --- a/src/main/java/pk/ajneb97/model/inventory/InventoryPlayer.java +++ b/src/main/java/pk/ajneb97/model/inventory/InventoryPlayer.java @@ -51,7 +51,7 @@ public class InventoryPlayer { public void restoreSavedInventoryContents() { if(savedInventoryContents != null){ player.getInventory().setContents(savedInventoryContents); - player.updateInventory(); + //player.updateInventory(); savedInventoryContents = null; } } diff --git a/src/main/java/pk/ajneb97/utils/ItemUtils.java b/src/main/java/pk/ajneb97/utils/ItemUtils.java index e884803..f02f56c 100644 --- a/src/main/java/pk/ajneb97/utils/ItemUtils.java +++ b/src/main/java/pk/ajneb97/utils/ItemUtils.java @@ -3,6 +3,7 @@ package pk.ajneb97.utils; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.URL; import java.util.*; @@ -18,6 +19,7 @@ import org.bukkit.block.banner.PatternType; import org.bukkit.entity.Player; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.EquipmentSlotGroup; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.*; import org.bukkit.inventory.meta.BookMeta.Generation; @@ -349,7 +351,7 @@ public class ItemUtils { } for(Pattern p : patterns) { - bannerPatterns.add(p.getColor().name()+";"+p.getPattern().name()); + bannerPatterns.add(p.getColor().name()+";"+getBannerPatternName(p)); } if(bannerPatterns.isEmpty() && baseColor == null) { @@ -377,7 +379,7 @@ public class ItemUtils { String[] patternSplit = pattern.split(";"); String patternColor = patternSplit[0]; String patternName = patternSplit[1]; - meta.addPattern(new Pattern(DyeColor.valueOf(patternColor),PatternType.valueOf(patternName))); + meta.addPattern(new Pattern(DyeColor.valueOf(patternColor),getBannerPatternByName(patternName))); } item.setItemMeta(meta); } @@ -395,7 +397,7 @@ public class ItemUtils { String[] patternSplit = pattern.split(";"); String patternColor = patternSplit[0]; String patternName = patternSplit[1]; - banner.addPattern(new Pattern(DyeColor.valueOf(patternColor),PatternType.valueOf(patternName))); + banner.addPattern(new Pattern(DyeColor.valueOf(patternColor),getBannerPatternByName(patternName))); } } banner.update(); @@ -729,4 +731,25 @@ public class ItemUtils { } } } + + private static String getBannerPatternName(Pattern p) { + try { + Object patternType = p.getPattern(); + Method getPatternName = patternType.getClass().getMethod("name"); + getPatternName.setAccessible(true); + return (String) getPatternName.invoke(patternType); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + private static PatternType getBannerPatternByName(String name){ + try { + Class patternTypeClass = Class.forName("org.bukkit.block.banner.PatternType"); + Method valueOf = patternTypeClass.getMethod("valueOf", String.class); + return (PatternType) valueOf.invoke(null,name); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } } diff --git a/src/main/java/pk/ajneb97/utils/ServerVersion.java b/src/main/java/pk/ajneb97/utils/ServerVersion.java index 94a115a..a848b49 100644 --- a/src/main/java/pk/ajneb97/utils/ServerVersion.java +++ b/src/main/java/pk/ajneb97/utils/ServerVersion.java @@ -26,7 +26,8 @@ public enum ServerVersion { v1_20_R2, v1_20_R3, v1_20_R4, - v1_21_R1; + v1_21_R1, + v1_21_R2; public boolean serverVersionGreaterEqualThan(ServerVersion version1,ServerVersion version2){ return version1.ordinal() >= version2.ordinal(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 2435d3c..039c540 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.12.6 +version: 1.13.1 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]