Jump to content

Loading crafting recipes from external data folder


XPModder

Recommended Posts

I am working on a mod, that will have a lot of essentially the same blocks with different materials and textures. (Stairs, slabs and quarter blocks)

In order to save me a lot of work and allow the mod to automatically create these blocks from just a list of base-blocks I have created a system that auto-generates the resource files for the blocks (block model, blockstate, item model) and places them in a folder named with the modid inside the minecraft folder. This works fine and I am loading the resource files from the folder by adding the folder as a resource pack using ResourcePackInfo.createResourcePack and supplying it using Minecraft.getInstance().getResourcePackList().addPackFinder.

Now I want to add the crafting recipes and I implemented the auto-generation of the json files for all the crafting recipes. These files are placed in a data subfolder of the resource folder.

The folder tree looks like this:

.minecraft

|->modid

|     |->resources

|     |      |->assets

|     |      |     |->.....                <-Here are the other files in the correct folders (blockstates, models, lang)

|     |      |->data

|     |      |     |->recipes

|     |      |     |     |->.....            <-This is where the crafting recipe json files are located

|     |      |->pack.mcmeta

 

The problem is, that the crafting recipes are not loaded into the game, while all the files under assets are.

I guess the reason for this is, that the game reads all the files in the resources directory as a resource pack, but it does not look for crafting recipes in a resource pack, as those would come in a datapack.

So the question is, how do I load the contents of that data folder as a internal datapack (like the data folder inside the mod jar would be)?

 

I looked around on the internet a little, but couldn't really find anything that would help me. I also tried finding out how forge loads that stuff, but I couldn't really find it quickly....

 

I am working on 1.16.5 currently, but I will take a solution for 1.18. I think I would be able to adapt a 1.18 solution for 1.16.5....

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.