{"id":51002868,"url":"https://github.com/shasankp000/AI-Player","last_synced_at":"2026-07-08T16:00:36.235Z","repository":{"id":247041925,"uuid":"824878901","full_name":"shasankp000/AI-Player","owner":"shasankp000","description":"A minecraft mod which aims to add a \"second player\" into the game which will actually be intelligent.","archived":false,"fork":false,"pushed_at":"2026-06-06T06:35:57.000Z","size":2649,"stargazers_count":125,"open_issues_count":9,"forks_count":20,"subscribers_count":10,"default_branch":"1.21.1","last_synced_at":"2026-06-06T08:10:16.181Z","etag":null,"topics":["artificial-intelligence","game-modding","java","minecraft","minecraft-mod","natual-language-processing","nlp","q-learning","reinforcement-learning","reinforcement-learning-agent"],"latest_commit_sha":null,"homepage":"https://shasankp000.github.io/AI-Player-Website/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shasankp000.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-06T07:44:15.000Z","updated_at":"2026-06-06T06:36:01.000Z","dependencies_parsed_at":"2024-12-06T22:30:34.951Z","dependency_job_id":"a3f8ecca-d774-460b-8841-62434dc632c6","html_url":"https://github.com/shasankp000/AI-Player","commit_stats":null,"previous_names":["shasankp000/ai-player"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/shasankp000/AI-Player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shasankp000%2FAI-Player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shasankp000%2FAI-Player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shasankp000%2FAI-Player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shasankp000%2FAI-Player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shasankp000","download_url":"https://codeload.github.com/shasankp000/AI-Player/tar.gz/refs/heads/1.21.1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shasankp000%2FAI-Player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35270196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","game-modding","java","minecraft","minecraft-mod","natual-language-processing","nlp","q-learning","reinforcement-learning","reinforcement-learning-agent"],"created_at":"2026-06-20T17:00:21.337Z","updated_at":"2026-07-08T16:00:36.220Z","avatar_url":"https://github.com/shasankp000.png","language":"Java","funding_links":["https://buymeacoffee.com/shasankp000"],"categories":["Game-Playing Agents"],"sub_categories":[],"readme":"# Official website\n\nhttps://shasankp000.github.io/AI-Player-Website/\n\n---\n\n## Stargazers over time\n[![Stargazers over time](https://starchart.cc/shasankp000/AI-Player.svg?variant=adaptive)](https://starchart.cc/shasankp000/AI-Player)\n\n---\n\n# Read this section please.\n\nThis project so far is the result of thousands of hours of endless reasearch, trials and errors, and just the simple goal of eliminating loneliness from minecraft as much as possible.\nIf you liked my work, please consider donating so that I can continue to work on this project in peace and can actually prove to my parents that my work is making a difference. (Also not having to ask for pocket money from mom).\n\nJust know that I won't ever give up on this project.\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/shasankp000)\n\nI also have started accepting payments and donations in cryptocurrencies.\n\nEthereum: 0x47014CC9F8054593027c53996ddfDFa4ca8a5271\n\nBitcoin: bc1qae6u7rqv0pmppxmr2uqfftrj4p6c7hmm3m39r5\n\nSolana: 3U3bXZJ2NrMV9FmkaotvPaNwWthg68sRqvstJwanyhcU\n\nPolygon Network (USDC or any other polygon based coins): 0x47014CC9F8054593027c53996ddfDFa4ca8a5271\n\nAny amount would help :)\n\n---\n# Also, THIS!\n\nNLP pipeline training in-depth information : https://github.com/shasankp000/NLP_2.0_pipeline\n\nWebsite repo: https://github.com/shasankp000/AI-Player-Website\n\n---\n\n# Project description\n\n---\n\n**The footages for the bot conversation and config manager here in the github page is a bit outated. Check the modrinth page and download the mod to stay updated.** \n  \nA minecraft mod which aims to add a \"second player\" into the game which will actually be intelligent.\n\n**Ever felt lonely while playing minecraft alone during that two-week phase? Well, this mod aims to solve that problem of loneliness, not just catering to this particular use case, but even (hopefully in the future) to play in multiplayer servers as well.**\n\n**Please note that this is not some sort of a commercialised AI product. This project is just a solution to a problem many Minecraft players have faced and do continue to face.**\n\nI had to add that statement up there to prevent misunderstandings.\n\nThis mod relies on the internal code of the Carpet mod, please star the repository of the mod: https://github.com/gnembon/fabric-carpet (Giving credit where it's due)\n\nThis mod also relies on the ollama4j project. https://github.com/amithkoujalgi/ollama4j\n\n---\n# Download links\n\n1. From this github page, just download from the releases section or follow the steps in usage section to build and test.\n2. Modrinth: https://modrinth.com/mod/ai-player/\n3. Curseforge: https://www.curseforge.com/minecraft/mc-mods/ai-player\n\n---\n\n# Progress: 75.5%\n\n---\n# Current stage of the mod\n\nSince the new semester in my college has started this month, I am gonna be under really heavy pressure, since I have to study 11 subjects in total (Machine learning, Linear Algebra, Physics, CyberSecurity, and a lot more lol). Don't worry though I won't stop working on this project, it's just that the updates will be quite slower.\n\nIt's understandable if y'all leave by then or give up on this project, so, I won't mind. :))\n\nThank you all from the core of my heart for the support so far. I never imagined we would come this far.\n\nLatest Update: 21/8/2025 at 04:08 AM IST (Indian Standard Time)\n\n\nPlease have patience while waiting for updates. Since I am the only guy working on this project, it does take me time to address all the issues/add in new features.\n\n---\n# Changelog v1.0.5.2-release+1.21.1\n\n**Important: Earlier proposed second part features will be added in the next patch and this new update marks the end of support for 1.20.6 and below.**\n\nThanks to https://github.com/arichornlover AI Player has now been updated to version 1.21.1\n\nThis minor update of AI player updates the mod to version 1.21.1 and also brings support for other custom API providers.\n\n## Custom OpenAI-Compatible Provider Support\n\nThis feature allows you to use alternative AI providers that are compatible with the OpenAI API standard, such as OpenRouter, TogetherAI, Perplexity, and others.\n\n## How to Use\n\n### 1. Enable Custom Provider Mode\n\nSet the system property(JVM argument) when launching the game:\n```\n-Daiplayer.llmMode=custom\n```\n\n### 2. Configure API Settings\n\n0. Firstly, delete the existing settings.json5 in the config folder (save any api keys elsewhere for the meantime)\n1. Open the in-game API Keys configuration screen (`/configMan`) and then click the API Keys button.\n2. Set the following fields:\n    - **Custom API URL**: The base URL of your provider (e.g., `https://openrouter.ai/api/v1`)\n    - **Custom API Key**: Your API key for the provider\n3. Hit save. In case you don't see the list of models immediately hit the \"Refresh Models\" button once or twice.\n4. If you still don't see the list of models, close the config manager, type `/configMan` again and you should see the list of models available.\n5. ollama is still required to be open in the background because of the embedding model being used, but I will separate this entirely in the next mini patch, by adding an embedding api endpoint from the providers, and also upgrading to the `embedddinggemma` model from `nomic-embed-text`\n\n### 3. Select a Model\n\nThe system will automatically fetch available models from your provider's `/models` endpoint and display them in the model selection interface.\n\n## Supported Providers\n\nAny provider that implements the OpenAI API standard should work. Some examples:\n\n- **OpenRouter**: `https://openrouter.ai/api/v1`\n- **TogetherAI**: `https://api.together.xyz/v1`\n- **Perplexity**: `https://api.perplexity.ai/`\n- **Groq**: `https://api.groq.com/openai/v1`\n- **Local LM Studio**: `http://localhost:1234/v1`\n\n## API Compatibility\n\nThe custom provider implementation uses the following OpenAI API endpoints:\n\n- `GET /models` - For fetching available models\n- `POST /chat/completions` - For sending chat completion requests\n\nYour provider must support these endpoints with the same request/response format as OpenAI's API.\n\n## Troubleshooting\n\n- **\"Custom provider selected but no API URL configured\"**: Make sure you've set the Custom API URL field\n- **\"Custom API key not set in config!\"**: Make sure you've set the Custom API Key field\n- **Empty model list**: Check that your API key is valid and the URL is correct\n- **Connection errors**: Verify that the provider URL is accessible and supports the OpenAI API format\n\n---\n\n# Changelog v1.0.5.1-release+1.20.6-bugfix-2\n\n- Fixed a lot of bugs that got overlooked in the previous testing phase.\n\n\n---\n\n# Changelog v1.0.5.1-release+1.20.6-bugfix\n\nI realized that many of the commitments made in the previous announcement were too ambitious to implement in a single update. To keep development smooth, this release is the **first part** of a two-part update.  \n\nThis update focuses on **core system rewrites** and **better AI decision-making**, laying the foundation for the next wave of features.  \n\nAlso support for versions below 1.20.6 has been dropped due to codebase changes that I simply can't handle migrating by myself. However others are free to port to lower versions.\n\nUpcoming second part will have the update in 1.20.6 as the final update for 1.20.6 and also will have a new update to directly 1.21.6 where hence the future versions will continue onwards.\n\n---\n\n## What's New in 1.0.5.1\n\n### Revamped NLP System  \n- Fully redesigned Natural Language Processing (NLP) — no more *\"I couldn’t understand you.\"*  \n- This is a **new and experimental system** I’ve been designing and rigorously testing over the last month.  \n- Results are promising, but not yet up to my personal standards — expect further refinements in future updates.  \n\n### Rewritten RAG \u0026 Database System (with Web Search)  \n- New Retrieval-Augmented Generation (RAG) system integrated with a database and **web search**.  \n- The AI now provides **accurate factual information about Minecraft**, drastically reducing hallucinations.  \n- Supported search providers:  \n  - Gemini API  \n  - Serper API  \n  - Brave Search API (in development, will push this to the next patch instead) \n\n### Meta-Decision Layer  \n- Added a **task chaining system**:  \n  - You give a high-level instruction → the bot automatically breaks it into smaller tasks → executes step by step.  \n\n#### Current Supported Tasks:  \n- Go to a location  \n- Go to a location and mine resources  \n- Detect nearby blocks \u0026 entities  \n- Report stats (health, oxygen, hunger, etc.)  \n\n### API Integrations  \nAI Player now supports multiple LLM providers (configurable via API keys):  \n- **OpenAI**  \n- **Anthropic Claude**  \n- **Google Gemini**  \n- **xAI Grok**  \n- **Custom OpenAI-Compatible Providers** (e.g., OpenRouter, TogetherAI, Perplexity)\n\n#### Using Custom Providers\n\nTo use a custom OpenAI-compatible provider:\n\n1. **Set the provider mode**: Add `-Daiplayer.llmMode=custom` to your JVM arguments\n2. **Configure in-game**: Open the API Keys screen and set:\n   - Custom API URL (e.g., `https://openrouter.ai/api/v1`)\n   - Custom API Key (your provider's API key)\n3. **Select model**: Choose from the available models fetched from your provider\n\nSee [CUSTOM_PROVIDERS.md](CUSTOM_PROVIDERS.md) for detailed instructions and supported providers.  \n\n### Web Search Tool\n\nIf you select the Gemini Search as the web search tool for the LLM, it will use the API key you have set as your LLM provider in the settings.json5 file automatically.\n\nFor https://serper.dev/ search, get an api key from serper.dev and then navigate to the config folder in game, open the `ai_search_config.json` and put the key:\n\n![Web search json file contents](https://cdn.modrinth.com/data/cached_images/b3dbb07a9e166d4d0860d490d8d5d938e4e6cd50.png)\n\n*(Note: I couldn’t test all of these myself except the Gemini API since API keys are costly, but the integrations are ready.)*  \n\n---\n# Bugfixes\n\n- Fixed bug where JVM arguments were not being read.\n- Removed owo-lib. AI-Player now uses an in-house config system.\n- Fixed API keys saving issues.\n- Added a new Launcher Detection System. Since Modrinth launcher was conflicting by it's own variables path system so the QTable was not being loaded. Supports: Vanilla MC Launcher, Modrinth App, MultiMC, Prism Launcher, Curseforge launcher, ATLauncher, and even unknown launchers which would be unsupported by default, assuming they follow the vanilla mc launcher's path schemes.\n- Revamped the Config Manager UI with a responsive UI along with a search option for providers with a lot of models (like gemini).\n\n![Config Manager New UI with search options and responsive UI](https://cdn.modrinth.com/data/cached_images/e5ab3e3d23978a96312c6528fd27f996d279adcc_0.webp)\n\n---\n\n## Development Notes  \n- While this update may look small on the surface, designing the systems, writing the code, and debugging took **a huge amount of time**.  \n- On top of this, I’ve picked up more freelance contracts and need to focus on my final-year project.  \n- Updates will continue — just at a slower pace.  \n\n---\n\n## Coming Soon in Part 2  \n\nHere’s what’s planned for the **next patch**:  \n\n- **Combat \u0026 Survival Enhancements**  \n  - Bot uses weapons (including ranged) to fend off mobs.  \n  - Reflex module upgrades.  \n  - More natural world interactions (e.g., sleeping at night).\n  - A more lightweight but more powerful logic engine that will replace the current LLM based reasoning for the Meta-Decision Layer  \n\n- **Improved Path Tracer**  \n  - Smarter navigation through **water and complex terrain**. Abilities such as bridging upwards with blocks.\n\n- **Self-Goal Assignment System**  \n  - Bot assigns itself goals like a real player.  \n  - Will initiate conversations with players and move autonomously.  \n\n- **Mood System** *(design phase)*  \n  - Adds emotional context and varied behavior.  \n\n- **Player2 Integration**  \n  - Highly requested — this will be the first major feature of the second update.  \n\n---\n\n# Upcoming changes (some of them might be seen in the second patch).\n\n1. Switch to Deep-Q learning instead of traditonal q-learning (TLDR: use a neural network instead of a table)\n2. Create custom movement code for the bot for precise movement instead of carpet's server sided movement code.\n3. Implement human consciousness level reasoning??? (to some degree maybe) (BIG MAYBE)\n\n---\n\n# Current bugs in this version :\n\nI can proudly say that all bugs in this current version, has been for good, squashed.\n\n---\n## Some video footage of this version\n\n`mob related reflex actions`\n\nhttps://github.com/user-attachments/assets/1700e1ff-234a-456f-ab37-6dac754b3a94\n\n\n`environment reaction`\n\n\nhttps://github.com/user-attachments/assets/786527d3-d400-4acd-94f0-3ad433557239\n\n---\n# Usage\n\nIf you want to manually build and test this project, follow from step 1.\n\nFor playing the game, download the jar file either from modrinth or the releases section and go directly to step 6.\n\n---\n# Buidling the project from intellij\n\nStep 1. Download Java 21. \n\nThis project is built on java 17 to support carpet mod's updated API.\n\nGo to: https://bell-sw.com/pages/downloads/#jdk-21-lts\n\nClick on Download MSI and finish the installation process. [Windows]\n\n![image](https://github.com/user-attachments/assets/8cf3cbe1-91a9-4d7e-9510-84723d928025)\n\n**For linux users, depending on your system install openjdk-21-jdk package.**\n\n\nStep 2. Download IntelliJ idea community edition.\n\nhttps://www.jetbrains.com/idea/download/?section=windows\n\n![Screenshot 2024-07-21 123239](https://github.com/user-attachments/assets/75d636cb-99f8-4966-8a18-f9ae22ce46bc)\n\nStep 3. Download the project. \n\nIf you have git setup in your machine already you can just clone the project to your machine and then open it in intellij\n\nOr alternatively download it as a zip file, extract it and then open it in intellij\n\n![image](https://github.com/user-attachments/assets/4384fa90-2fe9-4685-a793-8238f2789532)\n\nStep 4. Configure the project SDK.\n\n![image](https://github.com/user-attachments/assets/ee5a1be5-7fa4-4d42-bfdd-291a74666267)\n\nClick on the settings gear.\n\n![image](https://github.com/user-attachments/assets/ef74de58-6e97-428a-9e76-c5c19423963b)\n\nGo to Project Structure\n\n![image](https://github.com/user-attachments/assets/8979a760-3a96-49a6-8a42-c8dcd4c2e0ee)\n\nConfigure the SDK here, set it to liberica 21\n\n\nStep 5. Once done wait for intellij to build the project sources, this will take a while as it basically downloads minecraft to run in a test version.\n\nIf you happen to see some errors, go to the right sidebar, click on the elephant icon (gradle)\n\n![image](https://github.com/user-attachments/assets/7916d2bf-1381-4f9e-9df6-1e43a7bfed55)\n\nAnd click on the refresh button, besides the plus icon.\nAdditionally you can go to the terminal icon on the bottom left\n\n![image](https://github.com/user-attachments/assets/f95f54ab-847a-42de-b3d8-4401f03ac83a)\n\nAnd type `./graldew build`\n\n---\n\n**Below instructions are same irrespective of build from intellij or direct mod download.**\n\nStep 6. Setup ollama.\n\nGo to https://ollama.com/\n\n![image](https://github.com/user-attachments/assets/c28798e4-c7bf-4faf-88e5-76315f88f0d1)\n\nDownload based on your operating system.\n\nAfter installation, run ollama from your desktop. This will launch the ollama server. \n\nThis can be accessed in your system tray\n\n![image](https://github.com/user-attachments/assets/3ed6468e-0e8c-4723-ac80-1ab77a7208d4)\n\n\nNow open a command line client, on windows, search CMD or terminal and then open it.\n\n```\n1. In cmd or terminal type `ollama pull nomic-embed-text (if not already done).\n2. Type `ollama pull llama3.2`\n3. Type `ollama rm gemma2 (if you still have it installed) (for previous users only)\n4. Type `ollama rm llama2 (if you still have it installed) (for previous users only)\n5. If you have run the mod before go to your .minecraft folder, navigate to a folder called config, and delete a file called settings.json5 (for previous users only)\n```\n\nThen **make sure you have turned on ollama server**. \n\nStep 7: Download the dependencies\n\nStep 8: Launch the game.\n\nStep 9: Type `/configMan` in chat and select llama3.2 as the language model, then hit save and exit.\n\nStep 10: Then type `/bot spawn \u003cyourBotName\u003e \u003ctraining (for training mode, this mode won't connect to language model) and play (for normal usage)`\n\n---\n# Mod usage\n\nThis section is to describe the usage of the mod in-game\n\n## Commands\n\n**Main command**\n\n`/bot`\n\nSub commands: \n\n`spawm \u003cbot\u003e` This command is used to spawn a bot with the desired name.\n\n`walk \u003cbot\u003e \u003ctill\u003e` This command will make the bot walk forward for a specific amount of seconds.\n\n`go_to \u003cbot\u003e \u003cx\u003e \u003cy\u003e \u003cz\u003e` This command is supposed to make the bot go to the specified co-ordinates, by finding the shortest path to it. It is still a work in progress as of the moment.\n\n`send_message_to \u003cbot\u003e \u003cmessage\u003e` This command will help you to talk to the bot.\n\n`teleport_forward \u003cbot\u003e` This command will teleport the bot forward by 1 positive block\n\n`test_chat_message \u003cbot\u003e` A test command to make sure that the bot can send messages.\n\n`detect_entities \u003cbot\u003e A command which is supposed to detect entities around the bot`\n\n`use-key \u003cW,S, A, D, LSHIFT, SPRINT, UNSNEAK, UNSPRINT\u003e \u003cbot\u003e`\n\n`release-all-keys \u003cbot\u003e \u003cbotName\u003e`\n\n`look \u003cnorth, south, east, west\u003e`\n\n`detectDangerZone` // Detects lava pools and cliffs nearby\n\n`getHotBarItems` // returns a list of the items in it's hotbar\n\n`getSelectedItem` // gets the currently selected item\n\n`getHungerLevel` // gets it's hunger levels\n\n`getOxygenLevel` // gets the oxygen level of the bot\n\n`equipArmor` // gets the bot to put on the best armor in it's inventory\n\n`removeArmor` // work in progress.\n\n**Example Usage:**\n\n`/bot spawn Steve training`\n\nThe above command changes credits go to [Mr. Álvaro Carvalho](https://github.com/A11v1r15)\n\nAnd yes since this mod relies on carpet mod, you can spawn a bot using carpet mod's commands too and try the mod. But if you happen to be playing in offline mode, then I recommend using the mod's in built spawn command.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshasankp000%2FAI-Player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshasankp000%2FAI-Player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshasankp000%2FAI-Player/lists"}