Community listing page, reviews may not be monitored by the author.
Cyanotype Research
No reviews yet
A research machine for modpack makers. Build your own research trees in game and keep recipes, items and blocks locked until the player earns them.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
🧪 What it is
Cyanotype Research adds one block, the Research Station, and a research system that runs through it. The machine ships empty. There are no built-in techs, quests or skills. Every tree, node, requirement, reward and restriction is data that you build in game with an editor, or write as text files and ship with the pack. The mod provides the screen, the rules and the plumbing, and you decide what the progression is.
A tree is a map of nodes. Each node has a position, an icon, parents that must be finished first, requirements to meet and rewards to hand out. The player puts a blueprint into the machine, the tree unfolds on a full-screen view, and from there it is a matter of hovering a node, reading what it asks for and holding the button until it completes.

🧭 One system for many designs
Cyanotype Research does not decide what your progression looks like, so the same machine can be a research tree, a quest book or a skill tree. A tech pack can use it to put the recipes of a whole mod behind steps that ask for real production lines. An adventure pack can turn it into a book of objectives, with nodes that complete when the player enters a biome, defeats a boss or reaches a structure. An RPG pack can build classes and specialisations that grant attributes and close the other branches for good. The wording follows along, because the interface can call the same thing Research, Quest or Skill, and a tree can be opened either by placing an item in the machine or by picking it in a Codex that behaves like a quest book.
Nothing stops a pack from mixing these. One world can hold a tech tree, a chapter-based questline and a class tree side by side, linked to each other, and a node of any of them can unlock a recipe, open a gate, hand out a reward or simply set a stage that a script reads. Where the mod stops being a progression tool and becomes a toolbox is up to the person building the pack, and the wiki includes complete example trees for the three styles above.

🔒 Progression that actually locks things
A tree that only ticks boxes is a checklist. In Cyanotype Research a node can hold back things anywhere in the pack, and finishing it opens them. Each node can lock recipes, the use of an item, interaction with blocks, the opening of a container screen, breaking, placing, picking up and dropping, and the running of furnaces. The target can be a single item, a #tag or a whole mod written as modid:*, so one node is enough to put an entire mod behind a requirement.
A locked recipe is removed from the recipe book, from JEI and from EMI, and the item shows a padlock wherever it appears. The recipe is also removed on the server side, which means hoppers feeding furnaces and automated machines respect the lock too, not only the player's crafting screen. When a player completes the node, the recipe returns live and no relog is needed. The wiki is open about where this approach stops working, for example with fake players and with menus that bring their own result slots.

🚪 Barrier Gates
A Barrier Gate is a wall that only players who researched a given node can cross. For them it is invisible. For everyone else it is solid. The gate id can be the name of the item you place, set in an anvil. It is a physical door that a research tree controls, and it works for gating a dimension portal, a dungeon entrance or a whole region.
⚙️ A machine that takes real deliveries
Requirements are not limited to what the player carries. A node can ask for items, fluids or energy to be delivered to the machine, and a hopper, a pipe or a cable does the delivery. The machine keeps a buffer for each of the three, with an optional operating cost, and extra resources called Sources can be defined for anything else. Botania mana and Mekanism chemicals are supported directly, and any other mod can feed a Source through a capability or through a conversion to FE.
This changes what a node means. When a Steam Age node asks for water and energy to reach the machine, the player has to build a working line before the next tier appears, and the progression follows the factory instead of a counter.
📋 Over forty kinds of requirement
There are more than forty kinds of requirement. Some are paid, such as items and XP levels. Others are things the player does in the world while the node is open: killing mobs, entering a biome or a structure, looking at a block, standing in a location, placing blocks, bringing items or entities near the machine, waiting for a timer or reaching a stage, a statistic or an advancement. A node can combine any number of them.
Rewards cover items, XP, messages, commands, advancements, toasts, titles, sounds, effects, loot tables, stages, recipes, attribute changes and summons. A reward can also be a choice, where the player picks one option out of several, or a wheel with weighted outcomes, and reward tables can be written once and reused by many nodes.
🌳 Trees that are not just a line
A node can require all of its parents, any one of them, or exactly a given number. Branches can exclude each other so that a choice is permanent, as when a player picks one of three specialisations and the other two close for good. A node can also depend on, exclude or be revealed by a node of a different tree, and in that case a small ring turns around it to show that the link leaves the tree. Nodes can be secret, shown only as silhouettes, or hidden until something else is done, and a tree can be flexible, with nothing tied to a central root.
Some nodes behave in less common ways. A socket node asks the player to carry an item to it, and once the socket is filled a hidden part of the tree comes out as a chain. Repeatable nodes can complete on their own and feed the machine's output buffer, so a node can work as a producer. Difficulty nodes exist only on some world difficulties, and the tree rearranges itself when the difficulty is changed.
✏️ The editor is the game
Dev mode is turned on with /cyanotype dev true, and the same screen gains an editor. Nodes can be added, moved and linked, selected in groups, copied, pasted and undone, and every field of a node is edited in a window with pickers for items, blocks, tags, mods, biomes and more. Descriptions accept Minecraft colour codes and show a live preview. Because the editor is part of the screen the player already uses, a tree is changed from inside the tree you are playing, with nothing external to learn and no files to reload.
Trees are saved as readable text under config/cyanotype/trees/, so a pack ships them like any other config, and datapacks and mods can ship trees as well. Every title, description and message can be translated per language.
🎨 Your pack, your look
The interface is built to be restyled. A single theme.json in a resource pack recolours the whole screen and is reloaded with F3+T. Node sprites, buttons and frames can be replaced through a resource pack, the machine comes with five skins, every sound is a plain .ogg that can be overridden, and each tree can have its own background picture, animated background effects and custom fragment shaders. The wording can also change from Research to Quest or Skill, depending on the kind of pack you are making.
👥 Teams and the Codex
Teams share progress, resets and, if you want, rewards. The Codex lists every tree with its progress, a rank, tabs and a log of recent activity. A tree can be opened with an item placed in the machine, which is the Legacy mode, or picked directly in the Codex in Quest Book mode. On top of that there are search, pinned nodes, a side panel with the full list of requirements and rewards, and a light layer of lab levels and celebrations. The cosmetic parts can be switched off by each player.
🧰 For modders and scripters
The mod has a server-side Java API for trees, completed nodes, stages, restrictions and teams, and events for completed research, completed trees, cancelable attempts, function rewards and registration. Every node also creates an automatic stage named cyanotype_<tree>_<node>, which lets KubeJS and other mods react without any extra code. Operators have commands, scoreboard objectives and .cyan function scripts at hand, plus a profiler at /cyanotype profile to measure what a tree costs the server.
💻 Made to run on modest hardware
Visual effects are enabled by default, and almost all of them have their own switch. Blur is off by default, frames are drawn in a single call, the frame rate can be capped while the screen is open, the panel can be scaled and reduced motion is available. A weaker PC can turn the heavy parts off and keep the tree.
✅ Compatibility and honest limits
The mod runs on NeoForge, Forge and Fabric for Minecraft 1.21.1 and has to be installed on both client and server. GeckoLib 4 is required, and Fabric also needs Fabric API. JEI and EMI are optional on every loader, and REI is supported on Fabric through its own plugin. With a recipe viewer installed, locked recipes are hidden live and its side panels are removed from the machine screen.
The integrations with other mods depend on the loader. Botania mana and Mekanism gases work on NeoForge, and Curios slots count for the equip restriction on NeoForge and Forge, while Fabric reads Trinkets and Accessories instead. Fabric also accepts energy through Team Reborn Energy. Create's stress units are not an energy or fluid capability, so they have to be fed into a Source by an add-on or by KubeJS. The wiki has a page for each loader that lists these differences.
I tested the mod in single player, on a LAN with several clients, on a dedicated server and in large modpacks, FTB ones included. Botania, Mekanism, Curios, JEI and REI were tried with the real mods. Forge and Fabric were played in modpacks as well, but the pieces that exist only on those loaders were not checked one by one, and I have not seen a server with many players at the same time. Recipe locks follow the recipe output and work in two layers, one of them world-wide, and the wiki explains where that matters. The full list of what was tested and what was not is on its limits page. If something breaks, open an issue and attach the log.
The interface is available in English and Brazilian Portuguese.
🙏 Credits
Thanks to @phzinhoone, @Nich and @YoungJankus for the ideas and for the testing.
📜 License and AI disclaimer
Released under the MIT License.
Artificial intelligence was used during testing, as an auxiliary tool to find and fix bugs.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers





