|
|
|
|
@ -4,42 +4,50 @@ import org.bukkit.NamespacedKey; |
|
|
|
|
import org.bukkit.inventory.ItemStack; |
|
|
|
|
import org.bukkit.inventory.meta.ItemMeta; |
|
|
|
|
import org.bukkit.persistence.PersistentDataContainer; |
|
|
|
|
import org.bukkit.persistence.PersistentDataHolder; |
|
|
|
|
import org.bukkit.persistence.PersistentDataType; |
|
|
|
|
|
|
|
|
|
@SuppressWarnings({"unchecked", "rawtypes"}) |
|
|
|
|
public class PDC { |
|
|
|
|
public static ItemStack setItemStackString(ItemStack itemStack, String key, String value){ |
|
|
|
|
return setItemStack(itemStack, key, value, PersistentDataType.STRING); |
|
|
|
|
public static void set(ItemStack itemStack, String key, String value){ |
|
|
|
|
set(itemStack, key, value, PersistentDataType.STRING); |
|
|
|
|
} |
|
|
|
|
public static ItemStack setItemStackBoolean(ItemStack itemStack, String key, Boolean value){ |
|
|
|
|
return setItemStack(itemStack, key, value, PersistentDataType.BOOLEAN); |
|
|
|
|
public static void set(ItemStack itemStack, String key, Boolean value){ |
|
|
|
|
set(itemStack, key, value, PersistentDataType.BOOLEAN); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static Boolean retrieveBooleanFromItemStack(ItemStack itemStack, String key){ |
|
|
|
|
return (Boolean) retrieveFromItemStack(itemStack, key, PersistentDataType.BOOLEAN); |
|
|
|
|
public static Boolean getBoolean(ItemStack itemStack, String key){ |
|
|
|
|
return (Boolean) get(itemStack, key, PersistentDataType.BOOLEAN); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static String retrieveStringFromItemStack(ItemStack itemStack, String key){ |
|
|
|
|
return (String) retrieveFromItemStack(itemStack, key, PersistentDataType.STRING); |
|
|
|
|
public static String getString(ItemStack itemStack, String key){ |
|
|
|
|
return (String) get(itemStack, key, PersistentDataType.STRING); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static Object retrieveFromItemStack(ItemStack itemStack, String key, PersistentDataType persistentDataType){ |
|
|
|
|
private static Object get(ItemStack itemStack, String key, PersistentDataType persistentDataType){ |
|
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
|
PersistentDataContainer persistentDataContainer = itemMeta.getPersistentDataContainer(); |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static ItemStack setItemStack(ItemStack itemStack, String key, Object value, PersistentDataType persistentDataType){ |
|
|
|
|
private static void set(ItemStack itemStack, String key, Object value, PersistentDataType persistentDataType){ |
|
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
|
PersistentDataContainer persistentDataContainer = itemMeta.getPersistentDataContainer(); |
|
|
|
|
set(itemMeta, key, value, persistentDataType); |
|
|
|
|
itemStack.setItemMeta(itemMeta); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void set(PersistentDataHolder persistentDataHolder, String key, Object value, PersistentDataType persistentDataType){ |
|
|
|
|
PersistentDataContainer persistentDataContainer = persistentDataHolder.getPersistentDataContainer(); |
|
|
|
|
NamespacedKey namespacedKey = new NamespacedKey("ecc", key); |
|
|
|
|
persistentDataContainer.set(namespacedKey, persistentDataType, value); |
|
|
|
|
itemStack.setItemMeta(itemMeta); |
|
|
|
|
|
|
|
|
|
return itemStack; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|