Putting the villagers to work: Automating production with Minecraft and D365FO

Hello fellow Steves, Crafters, Endermen, and Creepers 🧱⛏️We are the Cepheo Crafting Creepers

Today, we kick off ACDC 2026, and what a craftable treat we have in store for you.

 We’d like to share the early delivery of this years project: an end-to-end integration between enterprise production planning and Minecraft… with automatic resource gathering.

The idea is simple and lazy, but also business applicable:

What if a production order in Dynamics 365 Finance & Operations didn’t just sit in a system and have to be given out to a worker, but was executed by an AI-controlled NPC inside a Minecraft world? Gathering materials and equipment to fulfill the task. This means you could have a robot mine and gather materials in dangerous places, while you focus on sipping your mushroom stew and enjoying a few buckets of milk as our AI friend does the work.

With the Early Delivery Creeper approaching fast, and this rookie blogger-graduate having to hurry and mine out the two early badges and showcase our idea for this year’s ACDC, we focused on proving the full flow from D365, Power Platform, ERP to game and back again into a nicely interactive Power BI report. Below is how it works.

🧱The System Crafting Table

Our solution revolves around treating Minecraft as a visual execution layer for real production logic.

Here’s the end-to-end idea:

Production Order Creation

A production order is created using Power Platform and Dynamics 365 Finance & Operations. The order contains a Bill of Materials (BOM) describing what needs to be produced.

Bill of Materials → Minecraft Tasks

The BOM is read and translated into Minecraft equivalents:

  • Raw materials → blocks and items
  • Quantities → resource counts
  • Operations → NPC task steps

We are creating our own Minecraft server using the Java engine, where we can send data to and from Azure and format it into FO.

NPC Worker Execution

An AI-controlled NPC worker is spawned in the Minecraft world. Based on the translated task list, the NPC:

  • Mines required resources
  • Harvests or gathers materials
  • Crafts the required items
  • Deposits finished goods into a chest

Status Back to ERP

Once the required items are completed and deposited, completion status is sent back to Dynamics 365, where the production order can be updated or closed.

And we can fully Power BI report what has been gathered, the time spent, total deaths?

We will host the server on a Raspberry Pi

🏁 Why We Deserve the Early Delivery Badge

This delivery qualifies for the Early Delivery badge because we have already defined and demonstrated the complete end-to-end solution, even though some components are still being implemented or refined.

🖼️ Architecture Overview (#ShowAndTell)

This sketch represents our Show And Tell artifact and documents the complete solution flow.

🚧 What’s Next

With the end-to-end flow established, the next phase focuses on turning the concept into a more concrete and observable system.

The upcoming steps include:

  • Setting up the Raspberry Pi
    Preparing the device to act as a physical integration point and control interface for parts of the solution.
  • Sending data through Azure with our Java Minecraft Server
    Routing data to and from Microsoft Azure, acting as the integration backbone between Minecraft, the Raspberry Pi, and Dynamics 365 Finance & Operations.
  • Integrating Finance & Operations
    Establishing reliable communication for reading production orders and writing back execution status.
  • Configuring and understanding our little AI villager friend
    Improving how the NPC interprets tasks, executes them, and reports progress in a predictable and inspectable way.
  • Creating links to Power Apps and Power BI visualizations
    Exposing production data and execution status through Power Apps and dashboards, enabling easy interaction and monitoring outside the Minecraft world.

Until next time, mine away and don’t get lost in a cave.

_______________

Cepheo Crafting Creepers

Mads, Sebastian, Jan, Simen, Frank