55import mekanism .api .annotations .NothingNullByDefault ;
66import mekanism .common .recipe .ISubRecipeProvider ;
77import mekanism .common .recipe .RecipeProviderUtil ;
8+ import net .minecraft .core .Holder ;
89import net .minecraft .core .HolderLookup ;
10+ import net .minecraft .core .registries .Registries ;
911import net .minecraft .data .recipes .RecipeOutput ;
12+ import net .minecraft .resources .ResourceKey ;
1013import net .minecraft .resources .ResourceLocation ;
1114import net .minecraft .tags .ItemTags ;
1215import net .minecraft .tags .TagKey ;
1316import net .minecraft .world .item .Item ;
17+ import net .minecraft .world .item .ItemStack ;
1418import net .neoforged .neoforge .common .conditions .AndCondition ;
1519import net .neoforged .neoforge .common .conditions .ICondition ;
1620import net .neoforged .neoforge .common .conditions .ModLoadedCondition ;
@@ -59,4 +63,16 @@ protected ResourceLocation rl(String path) {
5963 protected TagKey <Item > tag (String path ) {
6064 return ItemTags .create (rl (path ));
6165 }
66+
67+ protected Holder <Item > foreignItem (HolderLookup .Provider registries , ResourceLocation id ) {
68+ return registries .lookupOrThrow (Registries .ITEM ).getOrThrow (ResourceKey .create (Registries .ITEM , id ));
69+ }
70+
71+ protected ItemStack foreignItemStack (HolderLookup .Provider registries , ResourceLocation id , int count ) {
72+ return new ItemStack (foreignItem (registries , id ), count );
73+ }
74+
75+ protected ItemStack foreignItemStack (HolderLookup .Provider registries , ResourceLocation id ) {
76+ return foreignItemStack (registries , id , 1 );
77+ }
6278}
0 commit comments