The Package Mod is a utility for modpack makers to create bulk crafting recipes that must be researched on a per-player basis before becoming usable. It draws inspiration from Factorio's Labs and Assemblers.
It comes with three blocks: a Packager, an Unpackager, and a Researcher, which work in conjunction so that a player can research "packages": large recipes that can use any quantity of items to create a similarly large quantity of one result. The Researcher takes items and tracks the packages made and researched by the player in order to research new packages; the Packager tracks what packages have been researched so that a player can insert the required items and extract a completed package; and the Unpackager takes completed packages and allows the player to extract the contained items as fast as he or she wishes.
There are no inventories in this mod; all items must be transferred using item insertion and extraction systems. However, several GUIs are provided so the player can select packages and find out the remaining requirements, which are dynamically updated. (More direct information in the Players section below.
There are no recipes built-in to this mod. Modpack makers must encode them in a JSON file or use CraftTweaker (this mod has built-in CT support) (further information in the Developers section below).
This mod comes with (as of now) three commands to help players figure out what they've researched or to help modpack developers. "/packagecheckifresearched" takes arguments for a player name and then the ID of a package, with helpful tab-completion. "/packagecheckresearched" takes the player name and returns a list of all the packages that player has researched. "/packagesetresearched" is an OP command that takes the player name, and then the ID of a package, and finally "true" or "false" to set that package researched.
Developers: In a JSON file, you may encode custom recipes with as many types of items and as many of that item are necessary. Each recipe must be encoded with a set of research requirements, including items to be consumed, a number of packages that must be made by the player, and prerequisites that prevent a package from being researched until the required researches are completed. This file is located in config/packagemod/packageadder.json. For examples, check the GitHub, where a file is located in the home directory.
You can also encode packages using CraftTweaker. Information can be found on the GitHub repo's wiki and in the example file, test.zs, which is in the home directory of the GitHub.
What can I use this mod for? As a wise modpack developer, you may not want to use this mod to increase difficulty by making massive, expensive recipes. Instead, I refer you to Angel's and Bob's mods from Factorio, which implemented production lines of vastly varying sizes in order to produce lots of items. I believe that this mod can best be used to create easier recipes: easier in that they require fewer resources per item on average, but require more items and create more items. If you expect your players to need many of a certain item and want to encourage them to produce that item with greater efficiency, you might want to use Modular Machinery, ContentTweaker, other machines, and this mod to create more complex but ultimately more efficient production lines.
Players: If you have installed this mod on your own, please note that it does not come pre-packaged with any recipes! It's completely useless to you on its own. But if you found this mod in a modpack, keep reading to find out how to use it.
You can find out the recipes by simply placing down a Packager, pressing "Select", and browsing through the available packages. If a package is greyed out, that means it's not researched—place down a Researcher and start researching! You must use an automatic item insertion system like hoppers to insert and extract from the Packager; when a recipe is complete, you can pull out a Package item and insert it into the Unpackager, which will allow you to pull out items from the package as fast as you can extract them.
Feel free to suggest additions in the GitHub! I'm a new modder and I can't guarantee I'll be able to implement them successfully; and I'm a busy person and I can't guarantee I'll be able to implement them quickly. But I will certainly try.
Credit to Exo594 for the amazing models he made for me.