An open-source, interactive Minecraft AI designed to play, learn, and collaborate with players in real-time.
MindiBot is more than just a bot; it's an experiment in creating a true AI companion for Minecraft. It's built to be extensible and community-driven, with deep integration into Discord for communication and control. Our goal is to create an AI that can learn from players, take on complex tasks, and become a genuine member of the server community.
- 🧠 Advanced AI Brain: A central logic unit that manages tasks, goals, and dynamic decision-making.
- 💬 Natural Language Chat: Integrates with the Gemini API to understand and respond to players in natural, human-like conversation.
- 🤖 Modular Architecture: Built with a clear separation of concerns (Body, Brain, Communication), making it easy for new developers to understand and contribute.
- 🎮 Discord Control Center: A dedicated Discord bot allows the community to see the bot's status, give it commands, and influence its goals.
- 🧑💻 Developer Sandbox Ready: Designed with a "Developer Plan" in mind, where contributors can have their own bots join the server to test new features.
The project follows a simple but powerful architecture:
- The Body (
Bot.js): This is the Mineflayer instance. Its only job is to connect to the Minecraft server, execute low-level actions (move, dig, chat), and report world events (seeing chat, taking damage). - The Brain (
Brain.js): This is the central decision-making unit. It receives information from the Body and Discord, maintains the bot's current state and goals, and decides what action to take next. - The Mouth & Ears (
Discord.js&LLM.js): These modules handle all communication.Discord.jsconnects to the Discord server to listen for commands and post updates.LLM.jsconnects to the Gemini API to generate intelligent chat responses.
Ready to bring MindiBot to life? Follow these steps.
- Node.js (v18.x or higher recommended)
- Git
-
Clone the repository:
git clone https://github.com/shaktibiplabDev/mindibot.git MinediBot cd MindiBot -
Install dependencies:
npm install
-
Configure your bot:
- Copy the
.env.examplefile to a new file named.env. - Open
.envand fill in all the required values (Minecraft server details, Discord bot token, Gemini API key, etc.).
- Copy the
-
Run the bot:
node index.js
MindiBot is a community-driven project, and we need YOU to help it grow! Whether you're a seasoned developer, a Minecraft enthusiast, or just someone with great ideas, there are many ways to contribute.
- Shape the Future of AI in Gaming: Be part of a pioneering project to create a truly interactive AI companion.
- Learn and Grow: Work with modern technologies like Node.js, AI APIs, and real-time bot frameworks.
- Join a Fun Community: Collaborate with other developers and players who are passionate about Minecraft and AI.
-
Code Contributions:
- Tackle an existing issue! A great place to start is by looking for issues tagged with
good first issue. - Implement a new feature or skill for the bot (e.g., farming, building, exploring).
- Refactor code to improve performance or readability.
- Tackle an existing issue! A great place to start is by looking for issues tagged with
-
Ideas & Feedback:
- Join our Discord server to share your ideas for what MindiBot should do next.
- Open a feature request to suggest new capabilities.
-
Bug Reports:
- If you find a bug, please create a detailed bug report so we can fix it.
Please see our CONTRIBUTING.md file for detailed guidelines on our development process and code standards. We're excited to see what you'll build!
This project is licensed under the MIT License - see the LICENSE file for details.
