How to make life in Infinite Craft: recipes, mechanics, and combinations

How to make life in Infinite Craft: recipes, mechanics, and combinations

How to make life in infinite craft

Within a few minutes of starting a fresh run in Infinite Craft, most players reach the same dead end. Water, Fire, Wind, and Earth drop into the canvas without effort, and the first obvious pairings produce Steam, Smoke, Dust, and a handful of other small blocks. Then the curve flattens, the next element refuses to appear, and the search box becomes tempting. Life is the first real gate in the tree, because it is the only node that opens onto plants, animals, and humans, and the standard recipe uses a short chain of intermediate blocks rather than a single two-element combination.

This guide answers the question how to make life in infinite craft as a design problem rather than a cheat sheet. It walks through the base ingredients, the two most reliable three-step recipes, the logic that explains why those recipes work, the order in which new elements unlock each other, and the practical recovery steps when a branch refuses to open. It also looks at how Infinite Craft’s combination model resembles the crafting grammars used in real game development pipelines, which is useful context for designers, technical artists, and producers who want to understand the pattern beneath the toy. If you only need the fastest recipe, the first table below gives you both paths. The rest of the piece is for readers who want to understand the system well enough to keep discovering elements on their own.

The two shortest recipes for life

Both recipes below have been reported by players across community wikis, Reddit threads, and YouTube walkthroughs, and both are consistent with Infinite Craft’s combination grammar. They assume that the four base elements are already unlocked: Water, Fire, Wind, and Earth. If any base is missing, the recipes will not resolve, and the engine will return Nothing or a duplicate. Confirm the prerequisites before you start, because a single missing base silently breaks the entire chain.

Path Step 1 Step 2 Step 3 Result
Standard path (energy + swamp) Fire + Fire = Energy Earth + Water = Swamp Energy + Swamp = Life Life
Alternative path (energy + dust) Fire + Fire = Energy Earth + Earth = Dust Energy + Dust = Life (variant reports) Life

The first path is the one most players discover naturally, because it leans on the intuition that energy plus biology produces living things. The Energy block is the “spark,” the Swamp block is the “ooze,” and the engine’s authored layer recognises that pairing immediately. The second path is useful when a player’s swamp recipe is delayed, when they are experimenting on a clean slate, or when they want to skip the more thematic intermediate and go straight to Life through a more abstract route. Both paths end at the same Life element, which then opens the rest of the biological tree. Some players also report a third path through Plant and Dust, but the variant is less reliable and depends on whether the engine has already produced the Plant block earlier in the run. Treat the two paths above as the canonical pair, and treat the variant as a backup that is worth knowing about rather than relying on.

Once Life is unlocked, the early biological ladder becomes accessible through obvious pairings. Plant, Tree, Human, and Animal are all one or two steps from Life, and they use only the same base elements you already have. Treat Life as a hub rather than a destination. Its real value is what it lets you reach next, and the rest of this guide assumes that you are using Life as a launch point for the next section of the tree rather than a trophy block sitting alone in your library.

Prerequisites you need before life is reachable

Before you run the combination, confirm the small set of ingredients below is already in your library. If any of them is missing, the recipe will not appear, and the crafting engine will give you Nothing or a duplicate. This is the most common reason the recipe seems to fail for first-time players, and it is also the cheapest problem to diagnose.

  • Water is one of the four default starting elements on every new run.
  • Fire is one of the four default starting elements on every new run.
  • Wind is one of the four default starting elements on every new run.
  • Earth is one of the four default starting elements on every new run.
  • Energy is made by combining Fire + Fire, so you need at least one extra Fire in your library before the recipe works.
  • Swamp is made by combining Earth + Water (or Water + Earth, since order does not matter).

Because the four bases are present from the start and Energy is a one-step recipe, the entire Life combination is at most three actions from a fresh save. That is short enough to memorise, but it is also short enough that a single missing base will silently break the chain. The fastest debugging step is to open the library and confirm that Energy and Swamp are both present before you try the final step. If either is missing, the engine will not surface a helpful error message, so the check has to be manual.

A related prerequisite is canvas hygiene. The combination engine resolves pairs only when the two blocks are dragged directly onto each other in a clear area of the workspace. If your canvas is crowded with earlier experiments, it is easy to drop a block onto the wrong target and trigger a Nothing result that has nothing to do with the recipe itself. Pan the canvas, clear the working area, and drop the two intermediates onto each other with deliberate spacing. The behaviour is consistent, but it is also easy to misread when the canvas is busy.

Why these ingredients work: the design behind the recipe

Infinite Craft’s combination system is a small implementation of a content graph. Each element is a node, and each successful pair creates a directed edge that produces a new node. The engine consults an internal table of authored recipes first and only falls back to procedural generation when no scripted result exists. That architecture explains three behaviours that players notice early on, and each behaviour is useful to know before you start exploring on your own.

First, order does not matter. Dragging Energy onto Swamp or Swamp onto Energy produces the same Life node, because the lookup is keyed on the unordered pair. This is also why community recipe tables rarely specify direction. Second, many recipes are not unique. The same target element can be reached by more than one path, which is why the alternative path above also works and why wikis sometimes disagree about which recipe counts as “the” recipe. Third, the engine deliberately biases toward intuitive, almost archetypal pairings. Energy plus Swamp is conceptually “spark plus ooze,” which is the kind of pair a designer would write down on a whiteboard, and that is exactly the kind of pair the engine prefers to script first.

Understanding this matters because it changes the way you explore. Instead of brute-forcing every two-element pair in your library, you can predict likely combinations by looking for pairs that map to a real-world metaphor: hot plus wet for Steam, Plant plus Human for Farmer, Energy plus Plant for Photosynthesis, and so on. The metaphor is not a rule, but it is a strong prior, and it is what makes Infinite Craft feel like a discovery toy rather than a random number generator. If you are a designer or producer, the same prior is what makes authored content feel “obvious” to players. Players do not need to be told that Fire plus Fire is Energy, because the pairing is already in their head. The engine simply makes that intuition explicit.

How to make life in infinite craft when your branch is stuck

Even with the recipe in front of you, four things can still go wrong. Each has a quick diagnostic step, and the table below pairs the symptom with the most likely cause and the cheapest fix. The cheapest fix is almost always the right place to start, because most failures are caused by missing intermediates rather than by a broken recipe.

Symptom Likely cause Cheapest fix
Combining Energy and Swamp produces “Nothing” One of the two elements is missing from the library, or you are dragging onto an empty slot Open the library, confirm Energy and Swamp are both present, then re-drag directly onto each other in the workspace
Combining Energy and Swamp produces a duplicate of an existing element You are dragging the result onto itself or onto a non-base element Drop Energy and Swamp onto each other in a clear area of the canvas, not onto an existing block
You cannot find Swamp in your library after combining Earth and Water Your session cached an earlier result and you are looking at the wrong region of the canvas Pan the canvas, or use the search box to type “Swamp” so the engine surfaces the node
Energy is missing entirely You have not yet combined Fire + Fire, or your session was reset Combine two Fire blocks, confirm the new Energy block appears, then proceed
The Life block appears but produces no children when combined with base elements The block is a procedurally named variant rather than the canonical Life element Delete the variant, re-run the canonical recipe, and verify the new block by combining it with Earth to produce Plant

If the recipe still refuses to resolve after these checks, the most common secondary cause is session state. The combination engine persists results in the current browser profile, and clearing site data or opening a private window effectively resets the run. If you have been experimenting heavily and your library feels inconsistent, exporting a save and importing it on a clean profile is a faster recovery than trying to repair the working canvas. Save exports are small text blobs, and the import process is one click, so the recovery cost is low.

Another secondary cause is browser extension interference. Some content blockers and privacy extensions strip the local storage keys that Infinite Craft uses to persist libraries, which can produce inconsistent results that look like engine bugs. If the issue only reproduces in one browser, try the same recipe in a different browser before assuming the engine is at fault. This is a common enough cause that it is worth mentioning explicitly, because the symptom looks identical to a missing intermediate.

What to unlock after life

Life is a hub, not a destination. Once it appears, the next moves are designed to feel obvious, and they are. The list below covers the most useful early unlocks and the recipe each one uses, so you can keep the discovery going without consulting an external list every time. Treat the list as a checklist for the first fifteen minutes after Life unlocks rather than as a definitive recipe table.

  • Plant from Life + Earth, or Life + Water as an alternative that some players report.
  • Tree from Plant + Plant, which doubles as a good test of the Plant chain.
  • Seed from Plant + Earth, useful for the agriculture branches later in the tree.
  • Human from Life + Earth (variant) or Life + Plant, depending on which path the engine prefers in your session.
  • Animal from Life + Water or Life + Earth, again depending on session behaviour.
  • Bacteria from Life + Swamp, which is a useful milestone for the medical and disease branches later in the tree.
  • Ocean from Water + Water, useful for the natural sub-tree before you go further into biology.
  • Storm from Wind + Water, useful for the weather branch that opens up after Life is in place.

The engine can substitute intermediate blocks when scripted recipes are missing, so your exact path may differ from the steps above. The order in which the next set of elements unlocks is also session-specific, because the graph traversal is not strictly deterministic in the procedurally generated tail of the tree. If a recipe does not work on the first try, the most likely cause is that your library has a different intermediate than the recipe assumes, and the fastest fix is to search for the intermediate by name and confirm the block before you try again.

How the engine decides what to call a new element

When two blocks are combined and no scripted recipe matches, the engine runs a fallback that picks two parent tokens and merges them through a small language model. This is why combinations occasionally produce unusual names that no player has seen before, and it is also why two players combining the same pair can occasionally see slightly different results. The engine weights semantic plausibility and uniqueness against the existing library, so the longer you play the more conservative the fallback becomes. The engine also has a small blacklist of names it will not produce, which prevents the most common forms of bad output but still leaves room for surprise.

For game developers, this is the most interesting part of Infinite Craft. It is a compact demonstration of content generation that respects authored canon while leaving room for emergent discovery. If you have ever wanted to explain to a junior designer why “small content graphs with intelligent fallbacks” are a useful pattern in narrative games, shop inventories, and quest generators, this is the toy to point them at. The lesson is not that procedural naming is good or bad, but that a thin authored layer plus a permissive fallback produces a system that feels both curated and limitless. The same lesson shows up in trading card games, in survival crafting, and in the dialogue systems of branching narrative games, where the authored layer is the dialogue tree and the fallback is the barks system that fills the gaps.

The other thing worth knowing is that the fallback is rate-limited. Once the engine has produced a certain number of procedurally named blocks, it becomes more conservative and starts returning Nothing for pairs that would otherwise have triggered the fallback. This is the design choice that keeps long runs from collapsing into noise, and it is the reason that experienced players tend to alternate between sub-trees rather than exhausting one branch at a time. Exhausting a single sub-tree pushes the engine into the procedural tail, where the results are less curated and harder to chain into further recipes.

Designing your own crafting chains

For a broader view of how the same pattern shows up in shipped content, the entry on Life Is What You Make It, which the linked Wikipedia article covers in detail, is a useful reference for how authored content sits inside a production pipeline, and the broader context of what a game development company actually does is helpful when you are trying to decide which parts of a crafting system belong in the engine, the design doc, and the data pipeline. The two contexts are not the same, but the underlying pattern of an authored layer plus a permissive fallback is consistent across both.

Once you have Life, Plant, Human, and Animal, you have enough of the biological tree to start building your own recipes with intent. A useful exercise is to choose a target concept, list the two most thematically related intermediates, and then build the path that reaches it. The exercise is similar to the node-graph design you would do for a recipe system, an alchemy system, or a research tree in a 4X game. The point is not to brute-force a result, but to choose a chain that reads as plausible when another player sees the recipe written out.

For example, if your target is “Doctor,” the natural chain is Life + Earth for Human, then Human + Plant for Healer, then Healer + Tool for Doctor. If your target is “Farmer,” the chain is Life + Earth for Human, then Human + Plant for Farmer. Notice that the steps mirror the metaphor rather than the spelling, which is exactly how a designer would want the canonical recipes to read in a shipped game. The same approach scales to abstract targets: combine the two intermediates that most clearly name the result, and only fall back to procedurally named blocks when no canonical pairing feels right.

A second exercise is to write the recipe in reverse. Start with a target like “Pizza,” list the two ingredients that most obviously combine to produce it (Dough and Cheese, or Dough and Tomato), then list the parents of each ingredient, and keep going until you reach base elements. Reverse design tends to surface more interesting chains, because it forces you to think about which intermediates are reachable rather than which ones are already in your library. The same technique is used in research-tree design for 4X games, where the goal is to produce a tree that is wide enough to be interesting and narrow enough to be learnable.

Common pitfalls when documenting life recipes

Three pitfalls trip up most first-time recipe writers, and they are worth naming explicitly because they are also the most common reasons that community recipe tables disagree with each other. The pitfalls are not specific to Infinite Craft; they show up in any system that mixes authored recipes with procedural fallbacks, and they are worth knowing about for anyone who works on content-driven games.

  • Order confusion. Many players assume that A + B and B + A must produce different results. In Infinite Craft they do not, and writing recipes with a specific order can mislead readers who are following the steps literally. The fix is to write recipes as unordered pairs and to mention order only when it actually matters.
  • Intermediate name drift. Swamp and Mud are sometimes used interchangeably because they can be reached through similar pairings. If your recipe calls for “Mud” and the engine produced “Swamp” instead, the next step still works, but the documentation will look inconsistent. The fix is to standardise on the most common canonical name and to mention alternates only when they are known to differ across sessions.
  • Session-specific recipes. The procedurally generated tail of the tree is not shared across all players, so recipes that work on one profile can fail on another. Test recipes on a clean profile before publishing them, and mark session-specific variants clearly so that readers do not assume a recipe is universal when it is not.
  • Stale libraries. Long sessions sometimes accumulate duplicates of the same element because the player dragged the result onto a non-base block. The duplicates look like the same element, but they are not, and combining a duplicate with another block can produce Nothing. The fix is to delete duplicates regularly and to keep the library as small as the current run requires.

For developers, the same pitfalls show up whenever a game ships with a content graph that mixes authored recipes and procedural fallbacks. The fix is the same in both cases: document the canonical path, mark session-specific variants clearly, and give the player a way to verify which intermediate they actually have. Verification is the part that is easiest to forget, because it feels redundant in the author’s own environment. The moment another player touches the system, however, verification is the difference between a recipe that works and a recipe that wastes ten minutes.

How to extend life into the rest of the tree

From Life, the most productive early direction is to push toward the two largest sub-trees: the natural world and the human world. The natural sub-tree starts with Plant and Tree, then branches into Wood, Forest, and Wood-derived tools. The human sub-tree starts with Human and Man, then branches into roles such as Farmer, Doctor, and Engineer. The two sub-trees meet when you combine Human with a tool, a profession, or a natural element, which is where most of the more interesting mid-game elements appear, including the first elements that feel narratively specific rather than purely categorical.

A practical workflow is to alternate between the two sub-trees rather than exhausting one before starting the other. Alternating keeps the immediate discovery rate high, because the engine has more candidates to script in the overlap region. Exhausting a single sub-tree first tends to push the engine into its procedural tail, where the results are less curated and less useful for building further chains. The same workflow applies to large content graphs in shipped games: alternating between adjacent regions of the graph keeps the player engaged, because every pair of recent unlocks has a higher chance of producing a curated result.

Once both sub-trees are partially open, the next productive direction is the technology sub-tree, which starts with Tool, Fire, and Metal, and which eventually opens up vehicles, electricity, and the modern world. The technology sub-tree is denser than the biological sub-tree, because the engine has more authored recipes for tools and machines than it does for living things. This is also where the more memorable recipes tend to live, because the metaphor is sharper: Engine plus Wheel is clearly a Cart, Metal plus Electricity is clearly a Light Bulb, and so on. If you are documenting recipes for a tutorial or a wiki, the technology sub-tree is usually the better place to start, because the recipes are more memorable and the chain lengths are more consistent.

Performance, save data, and library size

Each successful combination adds an entry to your library, and the library is what the engine uses to look up scripted recipes. As the library grows, the lookup cost per combination grows as well, but in practical terms the library only becomes a performance concern once it reaches several thousand entries. The more realistic concern is that very large libraries become harder to navigate visually, which is why experienced players tend to keep a text list of their most-used intermediates. The text list is also a useful reference when a recipe fails, because it lets you confirm the exact name of the intermediate without having to search the canvas.

If you want to share progress, Infinite Craft supports importing and exporting save data as a small text blob. The blob encodes the full library, so a colleague can import it and continue from the same state. The same mechanism is the simplest way to back up a long run before you start experimenting with risky combinations that you might want to roll back. Save exports are also useful for documenting runs, because the export captures the exact state of the library at the moment of export, including any procedurally named variants that the run has produced.

Save exports are also useful for reproducing bugs. If a recipe fails in a way that you cannot explain, exporting the save and importing it on a clean profile is a fast way to determine whether the issue is session-specific or reproducible across profiles. Reproducible bugs are usually caused by missing intermediates; session-specific bugs are usually caused by stale library state or by browser interference. The two cases look identical from the player’s perspective, but they have very different fixes, and the save export is the cheapest way to tell them apart.

Where Infinite Craft sits in the wider design space

Infinite Craft is a small but unusually honest example of combinatorial content design. It is honest because the authored layer is visible: most early recipes are clearly chosen by a designer, and the procedural tail is small enough that the seams are easy to find. The same pattern appears, with much larger scope, in games that ship content graphs as part of their core systems. Card games such as Slay the Spire, crafting systems in survival games, and research trees in strategy games all sit on the same design primitive: an authored set of canonical combinations plus a permissive fallback that fills the gaps. The differences are mostly in scope, not in structure.

If you are building a similar system, the practical lessons are familiar but worth restating. Keep the canonical layer dense enough that the player is never more than a few steps from a curated result. Use the fallback only when the canonical layer is silent. And document the canonical layer thoroughly, because players will read the recipes as soon as they exist, and ambiguous documentation will spread faster than the system itself. The same lessons show up in narrative design, where the authored barks are the canonical layer and the procedural barks are the fallback, and in inventory design, where the curated loot tables are the canonical layer and the random drops are the fallback. The structure is the same in each case, and the failure modes are the same in each case too: an authored layer that is too thin pushes the player into the procedural tail too quickly, and a fallback that is too permissive produces combinations that feel arbitrary.

Verifying that your life node is real

After you complete the recipe, the engine adds the new node to your library and shows it in the canvas. A useful sanity check is to combine the new Life block with a base element and confirm that the result matches an early biological node. If the result is Plant or Human, the Life node is real. If the result is Nothing or duplicates an existing element, the node is a false positive, usually caused by dragging the wrong block into the recipe. In that case, delete the duplicate, re-run the recipe, and confirm the intermediate Energy and Swamp blocks before you try the final step again.

The same verification pattern applies to any non-trivial recipe in the tree. Treat the first scripted child as proof that the parent was created correctly, and use the child as the basis for the next step. This keeps you from chasing recipe tables that contain mistakes, and it gives you a reliable way to test combinations before you trust them. Verification is also a useful habit to build before you start documenting recipes for other players, because it forces you to confirm the chain on a clean profile before you publish it.

A related habit is to test recipes on a fresh profile before you trust them. Session-specific variants can look canonical on a profile that has been used for a long time, and the only reliable way to tell a canonical recipe from a session-specific variant is to test it on a profile that has not been used before. The test is cheap, and it is the difference between a recipe that is useful to other players and a recipe that wastes their time.

Practical tips for faster discovery

Four habits will speed up your discovery rate without making the process feel like work. First, drag blocks onto each other rather than onto the search box. The search box is for recovery, not exploration, and the canvas is where the engine surfaces the most useful scripted results. Second, name your intermediates in your head as soon as they appear, because giving each new node a mental anchor makes the next pairing easier to predict. Third, keep a small text file of the recipes that surprised you, because the surprising ones are usually the ones that the engine has scripted in a way that maps to real-world metaphor. Fourth, alternate between sub-trees rather than exhausting one branch at a time, because alternating keeps the engine in the curated layer for longer.

For developers, the same four habits translate directly to designing or reviewing a crafting system. Use the in-game surface for exploration, not the documentation. Name intermediate systems as soon as they exist, so the next pairings are predictable. Document the surprising recipes, because they are usually the ones that map to a real mental model in the player’s head. And design the system to keep the player in the curated layer for as long as possible, because the curated layer is where the system feels like a toy and the procedural tail is where the system starts to feel like a random number generator. The same habits show up in narrative design, in quest design, and in inventory design, and the failure modes are the same in each case: an authored layer that is too thin, a fallback that is too permissive, and documentation that does not match the player’s actual experience.

A fifth habit, which is worth mentioning even though it is less about discovery and more about documentation, is to write recipes for the next player rather than for yourself. Recipes that make sense to the author often look opaque to a reader who does not have the same library state, and the only reliable way to write useful recipes is to assume that the reader is starting from the same baseline that you started from. The assumption is rarely true in practice, but it forces you to write recipes that are explicit about their prerequisites, and explicit prerequisites are the difference between a recipe that works and a recipe that wastes time.

Frequently asked questions

What is the fastest recipe for life in infinite craft?

The fastest consistent recipe is Energy plus Swamp, where Energy is Fire plus Fire and Swamp is Earth plus Water. From a fresh save with the four bases, that is three combinations and roughly fifteen seconds of work. If you would rather avoid the swamp intermediate, the alternative path of Energy plus Dust also reaches Life, where Dust is Earth plus Earth. Both paths terminate at the same Life node and both are valid in any session.

Do I need to combine the blocks in a specific order?

No. Infinite Craft’s lookup is keyed on the unordered pair, so Energy plus Swamp and Swamp plus Energy produce the same result. This is a useful property to remember when you are documenting recipes, because it means you only need to write the pair, not the direction. The same rule applies to most other pairs in the tree, with a small number of exceptions that are documented on the relevant community wikis.

Why does energy plus swamp produce nothing in my session?

The most common reason is that one of the two intermediates is missing from your library. The second most common reason is that you are dragging the pair onto an existing block rather than onto each other. Open the library, confirm both Energy and Swamp are present, and re-drag the pair directly onto each other in a clear area of the canvas. If the result is still Nothing, clear the site data and start a clean profile, and check whether a browser extension is interfering with local storage.

Is life required to reach plants, humans, or animals?

In practice, yes. Almost every early biological node is gated on Life in some form, which is why the standard recipe makes Life the first wall in the tree. A few scripted variants exist that skip the Life node for specific targets, but those are the exception rather than the rule, and the canonical path is always through Life. If you are documenting recipes for new players, the Life node is the place to start, because it is the entry point to the largest part of the tree.

Can I reach life without using fire?

Not through the standard recipes. Energy is the only reliable source of the spark ingredient that the engine associates with Life, and Energy is built from Fire plus Fire. If you are running a session in which Fire is missing, the most productive first step is to recover Fire from a save import or to restart the profile, because almost every early scripted recipe assumes Fire is present. A handful of session-specific variants exist that skip the Fire intermediate, but they are not reliable enough to depend on.

Why do some players report different recipes for life?

Because the procedurally generated tail of the tree is session-specific. Authored recipes are shared across all players, but combinations that fall through to the procedural fallback can produce different results on different profiles. When you see two players disagreeing about a recipe, the disagreement is usually one player using an authored recipe and the other using a procedural fallback that happens to land on the same target. The fix is to test the recipe on a clean profile before assuming it is canonical.

What should I unlock immediately after life?

Plant, Human, and Tree are the most useful first unlocks, because each one opens a different sub-tree. Plant leads into agriculture and botany, Human leads into roles and professions, and Tree leads into wood and tools. Alternating between these three keeps the discovery rate high and gives the engine a rich set of candidates to script in the overlap region. Bacteria and Ocean are also worth picking up early, because they open branches that are otherwise slow to reach.

Does combining the same pair twice give different results?

No. The engine is deterministic for any given pair, so combining Energy and Swamp twice produces two copies of Life, not two different results. If you ever see a different result from the same pair, the most likely cause is that one of the two blocks is a procedurally named variant rather than the canonical element you intended. The fix is to use the library to confirm the exact name before you combine, and to delete duplicates regularly so the library does not accumulate false positives.

How do I back up my progress?

Use the export function to copy your save data as a small text blob, then paste it into a file or a note. The blob encodes your full library, so importing it on another profile or after a reset restores the same state. This is the simplest way to protect a long run before you start experimenting with risky combinations, and it is also a useful way to share progress with colleagues who want to see the same library state you are working with.

Is infinite craft useful as a design reference?

It is a compact, honest example of a content graph with an authored layer and a procedural fallback. The design pattern shows up in much larger systems in shipping games, and the toy is a useful teaching aid for designers who are learning to balance curation against emergence. For a broader view of how that pattern fits into a production pipeline, the entry on why game art services matter more than ever gives useful context on the art side, while the broader context of what a game development company actually does is helpful when you are trying to decide which parts of a crafting system belong in the engine, the design doc, and the data pipeline.

2 responses to “How to make life in Infinite Craft: recipes, mechanics, and combinations”

Leave a Reply

Your email address will not be published. Required fields are marked *