|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package xyz.soukup.ecoCraftCore.utilities; |
|
|
|
package xyz.soukup.ecoCraftCore.utilities; |
|
|
|
|
|
|
|
|
|
|
|
import org.bukkit.NamespacedKey; |
|
|
|
import org.bukkit.NamespacedKey; |
|
|
|
|
|
|
|
import org.bukkit.block.TileState; |
|
|
|
import org.bukkit.inventory.ItemStack; |
|
|
|
import org.bukkit.inventory.ItemStack; |
|
|
|
import org.bukkit.inventory.meta.ItemMeta; |
|
|
|
import org.bukkit.inventory.meta.ItemMeta; |
|
|
|
import org.bukkit.persistence.PersistentDataContainer; |
|
|
|
import org.bukkit.persistence.PersistentDataContainer; |
|
|
|
@ -9,6 +10,30 @@ import org.bukkit.persistence.PersistentDataType; |
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings({"unchecked", "rawtypes"}) |
|
|
|
@SuppressWarnings({"unchecked", "rawtypes"}) |
|
|
|
public class PDC { |
|
|
|
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){ |
|
|
|
public static void set(ItemStack itemStack, String key, String value){ |
|
|
|
set(itemStack, key, value, PersistentDataType.STRING); |
|
|
|
set(itemStack, key, value, PersistentDataType.STRING); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -26,23 +51,26 @@ public class PDC { |
|
|
|
|
|
|
|
|
|
|
|
private static Object get(ItemStack itemStack, String key, PersistentDataType persistentDataType){ |
|
|
|
private static Object get(ItemStack itemStack, String key, PersistentDataType persistentDataType){ |
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
return get(itemMeta, key, persistentDataType); |
|
|
|
return getUniversal(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 void set(ItemStack itemStack, String key, Object value, PersistentDataType persistentDataType){ |
|
|
|
private static void set(ItemStack itemStack, String key, Object value, PersistentDataType persistentDataType){ |
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
ItemMeta itemMeta = itemStack.getItemMeta(); |
|
|
|
set(itemMeta, key, value, persistentDataType); |
|
|
|
setUniversal(itemMeta, key, value, persistentDataType); |
|
|
|
itemStack.setItemMeta(itemMeta); |
|
|
|
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(); |
|
|
|
PersistentDataContainer persistentDataContainer = persistentDataHolder.getPersistentDataContainer(); |
|
|
|
NamespacedKey namespacedKey = new NamespacedKey("ecc", key); |
|
|
|
NamespacedKey namespacedKey = new NamespacedKey("ecc", key); |
|
|
|
persistentDataContainer.set(namespacedKey, persistentDataType, value); |
|
|
|
persistentDataContainer.set(namespacedKey, persistentDataType, value); |
|
|
|
|