diff --git a/src/main/java/it/jakegblp/lusk/api/PDCApi.java b/src/main/java/it/jakegblp/lusk/api/PDCApi.java index c61db227..19083a55 100644 --- a/src/main/java/it/jakegblp/lusk/api/PDCApi.java +++ b/src/main/java/it/jakegblp/lusk/api/PDCApi.java @@ -167,7 +167,8 @@ public static Nested getNestedContainer(PersistentDataContainer container, Strin return new Nested(container, key); } - public static boolean hasTag(@NotNull String tag, @NotNull PersistentDataContainer container) { + @NullMarked + public static boolean hasTag(String tag, PersistentDataContainer container) { return getNestedContainer(container, tag) != null; } diff --git a/src/main/java/it/jakegblp/lusk/api/PDCWrapper.java b/src/main/java/it/jakegblp/lusk/api/PDCWrapper.java deleted file mode 100644 index 0e46e15f..00000000 --- a/src/main/java/it/jakegblp/lusk/api/PDCWrapper.java +++ /dev/null @@ -1,59 +0,0 @@ -package it.jakegblp.lusk.api; - -import org.apache.logging.log4j.util.TriConsumer; -import org.bukkit.NamespacedKey; -import org.bukkit.persistence.PersistentDataContainer; -import org.bukkit.persistence.PersistentDataType; -import org.jetbrains.annotations.Nullable; - -import java.util.Arrays; -import java.util.function.BiFunction; - -public class PDCWrapper { - - public enum PersistentTagType { - BYTE(PersistentDataType.BYTE, (container, key) -> container.get(key,PersistentDataType.BYTE), (container, key, o) -> container.set(key,PersistentDataType.BYTE, o)), - SHORT(PersistentDataType.SHORT, (container, key) -> container.get(key,PersistentDataType.SHORT), (container, key, o) -> container.set(key,PersistentDataType.SHORT, o)), - INTEGER(PersistentDataType.INTEGER, (container, key) -> container.get(key,PersistentDataType.INTEGER), (container, key, o) -> container.set(key,PersistentDataType.INTEGER, o)), - LONG(PersistentDataType.LONG, (container, key) -> container.get(key,PersistentDataType.LONG), (container, key, o) -> container.set(key,PersistentDataType.LONG, o)), - FLOAT(PersistentDataType.FLOAT, (container, key) -> container.get(key,PersistentDataType.FLOAT), (container, key, o) -> container.set(key,PersistentDataType.FLOAT, o)), - DOUBLE(PersistentDataType.DOUBLE, (container, key) -> container.get(key,PersistentDataType.DOUBLE), (container, key, o) -> container.set(key,PersistentDataType.DOUBLE, o)), - BOOLEAN(PersistentDataType.BOOLEAN, (container, key) -> container.get(key,PersistentDataType.BOOLEAN), (container, key, o) -> container.set(key,PersistentDataType.BOOLEAN, o)), - STRING(PersistentDataType.STRING, (container, key) -> container.get(key,PersistentDataType.STRING), (container, key, o) -> container.set(key,PersistentDataType.STRING, o)), - BYTE_ARRAY(PersistentDataType.BYTE_ARRAY, (container, key) -> container.get(key,PersistentDataType.BYTE_ARRAY), (container, key, o) -> container.set(key,PersistentDataType.BYTE_ARRAY, o)), - INTEGER_ARRAY(PersistentDataType.INTEGER_ARRAY, (container, key) -> container.get(key,PersistentDataType.INTEGER_ARRAY), (container, key, o) -> container.set(key,PersistentDataType.INTEGER_ARRAY, o)), - LONG_ARRAY(PersistentDataType.LONG_ARRAY, (container, key) -> container.get(key,PersistentDataType.LONG_ARRAY), (container, key, o) -> container.set(key,PersistentDataType.LONG_ARRAY, o)), - TAG_CONTAINER(PersistentDataType.TAG_CONTAINER, (container, key) -> container.get(key,PersistentDataType.TAG_CONTAINER), (container, key, o) -> container.set(key,PersistentDataType.TAG_CONTAINER, o)); - - private final PersistentDataType type; - private final BiFunction get; - private final TriConsumer set; - - @SuppressWarnings("unchecked") - PersistentTagType(PersistentDataType type, BiFunction get, TriConsumer set) { - this.type = type; - this.get = (BiFunction) get; - this.set = (TriConsumer) set; - } - - public PersistentDataType getType() { - return type; - } - - public Object get(PersistentDataContainer container, NamespacedKey key) { - return get.apply(container, key); - } - - public void set(PersistentDataContainer container, NamespacedKey key, Object o) { - set.accept(container, key, o); - } - - @Nullable - public static PersistentTagType fromDataType(PersistentDataType type) { - return Arrays.stream(values()).filter(persistentTagType -> persistentTagType.type == type).findFirst().orElse(null); - } - } - - PDCWrapper - -}