From a0c58edd6cb1671aeff0e278edfb0fac41f5d341 Mon Sep 17 00:00:00 2001 From: WakelessSloth56 Date: Tue, 19 Jul 2022 01:44:20 +0800 Subject: [PATCH] feat(utils): VanillaPredicates --- .../itemgroup/impl/TabVanillaHiddenItems.java | 4 ++-- .../auioc/mcmod/arnicalib/utils/game/ItemUtils.java | 6 +++--- .../mcmod/arnicalib/utils/game/RegistryUtils.java | 4 ---- .../arnicalib/utils/game/VanillaPredicates.java | 13 +++++++++++++ 4 files changed, 18 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/auioc/mcmod/arnicalib/utils/game/VanillaPredicates.java diff --git a/src/main/java/org/auioc/mcmod/arnicalib/common/itemgroup/impl/TabVanillaHiddenItems.java b/src/main/java/org/auioc/mcmod/arnicalib/common/itemgroup/impl/TabVanillaHiddenItems.java index a1d4e3e0..9fe9224f 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/common/itemgroup/impl/TabVanillaHiddenItems.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/common/itemgroup/impl/TabVanillaHiddenItems.java @@ -1,7 +1,7 @@ package org.auioc.mcmod.arnicalib.common.itemgroup.impl; import org.auioc.mcmod.arnicalib.utils.game.ItemUtils; -import org.auioc.mcmod.arnicalib.utils.game.RegistryUtils; +import org.auioc.mcmod.arnicalib.utils.game.VanillaPredicates; import net.minecraft.core.NonNullList; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; @@ -25,7 +25,7 @@ public void fillItemList(NonNullList list) { .stream() .filter(ItemUtils.IS_AIR.negate()) .filter(ItemUtils.IS_CATEGORIZED.negate()) - .filter(RegistryUtils.IS_VANILLA) + .filter(VanillaPredicates.REGISTRY_ENTRY) .map(ItemStack::new) .forEach(list::add); } diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/ItemUtils.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/ItemUtils.java index fb6bfa72..31f87608 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/ItemUtils.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/ItemUtils.java @@ -5,11 +5,11 @@ import java.util.function.Predicate; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import org.auioc.mcmod.arnicalib.api.game.registry.RegistryEntryException; +import org.auioc.mcmod.arnicalib.utils.java.Validate; import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import org.auioc.mcmod.arnicalib.api.game.registry.RegistryEntryException; -import org.auioc.mcmod.arnicalib.utils.java.Validate; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.TagParser; import net.minecraft.resources.ResourceLocation; @@ -54,7 +54,7 @@ static String getRegistryName(ItemStack itemStack) { return getRegistryName(itemStack.getItem()); } - Predicate IS_VANILLA_ITEM = (itemStack) -> RegistryUtils.IS_VANILLA.test(itemStack.getItem()); + Predicate IS_VANILLA_ITEM = (itemStack) -> VanillaPredicates.REGISTRY_ENTRY.test(itemStack.getItem()); Predicate IS_AIR = (item) -> item == Items.AIR; Predicate IS_CATEGORIZED = (item) -> item.getItemCategory() != null; diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/RegistryUtils.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/RegistryUtils.java index ab6a3b94..7756f805 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/RegistryUtils.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/RegistryUtils.java @@ -6,10 +6,8 @@ import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; -import java.util.function.Predicate; import org.auioc.mcmod.arnicalib.api.game.registry.IHRegistry; import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistryEntry; import net.minecraftforge.registries.IForgeRegistryEntry; import net.minecraftforge.registries.RegistryObject; @@ -17,8 +15,6 @@ public class RegistryUtils { private RegistryUtils() {} - public static final Predicate> IS_VANILLA = (entry) -> entry.getRegistryName().getNamespace().equals("minecraft"); - public static > List getAllRegistryObjects(DeferredRegister deferredRegister) { return deferredRegister.getEntries().stream().map(RegistryObject::get).toList(); } diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/VanillaPredicates.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/VanillaPredicates.java new file mode 100644 index 00000000..42c34a45 --- /dev/null +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/VanillaPredicates.java @@ -0,0 +1,13 @@ +package org.auioc.mcmod.arnicalib.utils.game; + +import java.util.function.Predicate; +import net.minecraft.resources.ResourceLocation; +import net.minecraftforge.registries.ForgeRegistryEntry; + +public interface 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()); + +}