Skip to content

Commit

Permalink
feat(utils): VanillaPredicates
Browse files Browse the repository at this point in the history
  • Loading branch information
WakelessSloth56 committed Jul 18, 2022
1 parent 892b677 commit a0c58ed
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 9 deletions.
@@ -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;
Expand All @@ -25,7 +25,7 @@ public void fillItemList(NonNullList<ItemStack> 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);
}
Expand Down
Expand Up @@ -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;
Expand Down Expand Up @@ -54,7 +54,7 @@ static String getRegistryName(ItemStack itemStack) {
return getRegistryName(itemStack.getItem());
}

Predicate<ItemStack> IS_VANILLA_ITEM = (itemStack) -> RegistryUtils.IS_VANILLA.test(itemStack.getItem());
Predicate<ItemStack> IS_VANILLA_ITEM = (itemStack) -> VanillaPredicates.REGISTRY_ENTRY.test(itemStack.getItem());
Predicate<Item> IS_AIR = (item) -> item == Items.AIR;
Predicate<Item> IS_CATEGORIZED = (item) -> item.getItemCategory() != null;

Expand Down
Expand Up @@ -6,19 +6,15 @@
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;

public class RegistryUtils {

private RegistryUtils() {}

public static final Predicate<ForgeRegistryEntry<?>> IS_VANILLA = (entry) -> entry.getRegistryName().getNamespace().equals("minecraft");

public static <T extends IForgeRegistryEntry<T>> List<T> getAllRegistryObjects(DeferredRegister<T> deferredRegister) {
return deferredRegister.getEntries().stream().map(RegistryObject::get).toList();
}
Expand Down
@@ -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<ResourceLocation> ID = (id) -> id.getNamespace().equals("minecraft");
Predicate<String> STRING_ID = (id) -> ID.test(new ResourceLocation(id));
Predicate<ForgeRegistryEntry<?>> REGISTRY_ENTRY = (entry) -> ID.test(entry.getRegistryName());

}

0 comments on commit a0c58ed

Please sign in to comment.