From 6bbd6f38fa7532b415b82c04ee5ca520e1c6a915 Mon Sep 17 00:00:00 2001 From: WakelessSloth56 Date: Sun, 9 Oct 2022 22:45:50 +0800 Subject: [PATCH] feat(game.enchantment): EnchantmentPredicates --- .../enchantment/EnchantmentPredicates.java | 22 +++++++++++++++++++ .../arnicalib/game/item/ItemPredicates.java | 5 ++++- .../game/registry/VanillaPredicates.java | 8 +++---- 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/auioc/mcmod/arnicalib/game/enchantment/EnchantmentPredicates.java diff --git a/src/main/java/org/auioc/mcmod/arnicalib/game/enchantment/EnchantmentPredicates.java b/src/main/java/org/auioc/mcmod/arnicalib/game/enchantment/EnchantmentPredicates.java new file mode 100644 index 00000000..f397fec6 --- /dev/null +++ b/src/main/java/org/auioc/mcmod/arnicalib/game/enchantment/EnchantmentPredicates.java @@ -0,0 +1,22 @@ +package org.auioc.mcmod.arnicalib.game.enchantment; + +import java.util.function.Predicate; +import org.auioc.mcmod.arnicalib.game.registry.VanillaPredicates; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.Enchantment.Rarity; + +public class EnchantmentPredicates { + + public static final Predicate IS_VANILLA = (e) -> VanillaPredicates.REGISTRY_ENTRY.test(e); + + public static final Predicate IS_TREASURE_ONLY = (e) -> e.isTreasureOnly(); + public static final Predicate IS_CURSE = (e) -> e.isCurse(); + public static final Predicate IS_TRADEABLE = (e) -> e.isTradeable(); + public static final Predicate IS_DISCOVERABLE = (e) -> e.isDiscoverable(); + + public static final Predicate IS_COMMON = (e) -> e.getRarity() == Rarity.COMMON; + public static final Predicate IS_UNCOMMON = (e) -> e.getRarity() == Rarity.UNCOMMON; + public static final Predicate IS_RARE = (e) -> e.getRarity() == Rarity.RARE; + public static final Predicate IS_VERY_RARE = (e) -> e.getRarity() == Rarity.VERY_RARE; + +} diff --git a/src/main/java/org/auioc/mcmod/arnicalib/game/item/ItemPredicates.java b/src/main/java/org/auioc/mcmod/arnicalib/game/item/ItemPredicates.java index dac458d5..9a779baa 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/game/item/ItemPredicates.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/game/item/ItemPredicates.java @@ -8,8 +8,11 @@ public class ItemPredicates { - public static final Predicate IS_VANILLA_ITEM = (itemStack) -> VanillaPredicates.REGISTRY_ENTRY.test(itemStack.getItem()); + public static final Predicate IS_VANILLA = (itemStack) -> VanillaPredicates.REGISTRY_ENTRY.test(itemStack.getItem()); public static final Predicate IS_AIR = (item) -> item == Items.AIR; public static final Predicate IS_CATEGORIZED = (item) -> item.getItemCategory() != null; + @Deprecated(since = "5.6.2", forRemoval = true) + public static final Predicate IS_VANILLA_ITEM = IS_VANILLA; + } diff --git a/src/main/java/org/auioc/mcmod/arnicalib/game/registry/VanillaPredicates.java b/src/main/java/org/auioc/mcmod/arnicalib/game/registry/VanillaPredicates.java index ea9d619a..14fdcbd8 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/game/registry/VanillaPredicates.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/game/registry/VanillaPredicates.java @@ -4,10 +4,10 @@ import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.ForgeRegistryEntry; -public interface VanillaPredicates { +public class VanillaPredicates { - Predicate ID = (id) -> id.getNamespace().equals("minecraft"); - Predicate STRING_ID = (id) -> ID.test(new ResourceLocation(id)); - Predicate> REGISTRY_ENTRY = (entry) -> ID.test(entry.getRegistryName()); + public static final Predicate ID = (id) -> id.getNamespace().equals("minecraft"); + public static final Predicate STRING_ID = (id) -> ID.test(new ResourceLocation(id)); + public static final Predicate> REGISTRY_ENTRY = (entry) -> ID.test(entry.getRegistryName()); }