From 93c306d18d7f502cc428093bc5f2d7b7dd1a7ed6 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 4 Jun 2025 08:50:35 +0200 Subject: [PATCH] PDC Upgrade --- .../soukup/ecoCraftCore/utilities/PDC.java | 46 +++++++++++++++---- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/src/main/java/xyz/soukup/ecoCraftCore/utilities/PDC.java b/src/main/java/xyz/soukup/ecoCraftCore/utilities/PDC.java index 90ab34c..cee927b 100644 --- a/src/main/java/xyz/soukup/ecoCraftCore/utilities/PDC.java +++ b/src/main/java/xyz/soukup/ecoCraftCore/utilities/PDC.java @@ -1,6 +1,7 @@ package xyz.soukup.ecoCraftCore.utilities; import org.bukkit.NamespacedKey; +import org.bukkit.block.TileState; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; @@ -9,6 +10,30 @@ import org.bukkit.persistence.PersistentDataType; @SuppressWarnings({"unchecked", "rawtypes"}) public class PDC { + + + //TileState + + public static void set(TileState tileState, String key, Integer value){ + set(tileState, key, value, PersistentDataType.INTEGER); + }; + + public static void set(TileState tileState, String key, Object value, PersistentDataType persistentDataType){ + setUniversal(tileState, key, value, persistentDataType); + tileState.update(); + } + + public static Integer getInteger(TileState tileState, String key){ + return (Integer) get(tileState, key, PersistentDataType.INTEGER); + } + + public static Object get(TileState tileState, String key, PersistentDataType persistentDataType){ + return getUniversal(tileState, key, persistentDataType); + } + + + //ItemStack + public static void set(ItemStack itemStack, String key, String value){ set(itemStack, key, value, PersistentDataType.STRING); } @@ -26,23 +51,26 @@ public class PDC { private static Object get(ItemStack itemStack, String key, PersistentDataType persistentDataType){ ItemMeta itemMeta = itemStack.getItemMeta(); - return get(itemMeta, key, persistentDataType); - } - - private static Object get(PersistentDataHolder persistentDataHolder, String key, PersistentDataType persistentDataType){ - PersistentDataContainer persistentDataContainer = persistentDataHolder.getPersistentDataContainer(); - NamespacedKey namespacedKey = new NamespacedKey("ecc", key); - return persistentDataContainer.get(namespacedKey, persistentDataType); + return getUniversal(itemMeta, key, persistentDataType); } + private static void set(ItemStack itemStack, String key, Object value, PersistentDataType persistentDataType){ ItemMeta itemMeta = itemStack.getItemMeta(); - set(itemMeta, key, value, persistentDataType); + setUniversal(itemMeta, key, value, persistentDataType); itemStack.setItemMeta(itemMeta); } - private static void set(PersistentDataHolder persistentDataHolder, String key, Object value, PersistentDataType persistentDataType){ + //Univerzální set & get + + private static Object getUniversal(PersistentDataHolder persistentDataHolder, String key, PersistentDataType persistentDataType){ + PersistentDataContainer persistentDataContainer = persistentDataHolder.getPersistentDataContainer(); + NamespacedKey namespacedKey = new NamespacedKey("ecc", key); + return persistentDataContainer.get(namespacedKey, persistentDataType); + } + + private static void setUniversal(PersistentDataHolder persistentDataHolder, String key, Object value, PersistentDataType persistentDataType){ PersistentDataContainer persistentDataContainer = persistentDataHolder.getPersistentDataContainer(); NamespacedKey namespacedKey = new NamespacedKey("ecc", key); persistentDataContainer.set(namespacedKey, persistentDataType, value);