PDC Upgrade

pull/6/head
= 10 months ago
parent ca724131e8
commit 93c306d18d
  1. 46
      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);

Loading…
Cancel
Save