MCPcopy Index your code
hub / github.com/Infinicraft-Mod/infinicraft

github.com/Infinicraft-Mod/infinicraft @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
204 symbols 499 edges 23 files 13 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Infinicraft Project

Thank you to everyone who has contributed to the mod!

The Minecraft Infinicraft mod from the Blucubed video. Feel free to use this code as long as you credit Blucubed (Spiralio). Blucubed Discord Server (for answering setup questions or crediting): https://discord.gg/TveN5TTE7J

Setup

Mod Setup

IMPORTANT: THIS MOD IS IN A DEVELOPMENT BUILD! IF YOU AREN'T FAMILIAR WITH PROGRAMMING/MODDING CONCEPTS, IT IS RECOMMENDED TO WAIT FOR A STABLE RELEASE BUILD.

Download the mod's jar from the website or in Releases. The mod requires OWO lib and Mod Menu. You can change its settings by clicking Mods on the main menu, then Infinicraft, then the little icon in the top right. ~~By default the mod is set to the public Infinicraft backend. This can, however, be changed to a personal backend, if you prefer. If you do change backends, I'd recommend purging the cached recipes so that there won't be any client-backend discrepancies.~~ THERE ISN'T A DEDICATED PUBLIC BACKEND YET, SO IT'S ACTUALLY JUST SET TO LOCALHOST BUT THERE WILL BE ONE EVENTUALLY!!!

Personal Backend Setup (DEV SAVVY'S ONLY!)

  1. Install Ollama and llama3
  2. Download the infinicraft-server folder here on GitHub.
  3. Run the server python script.
  4. It should now be running on port 17707, though you can change that as well as the prompt inside the script itself. It's not that hard to find.

Credits

Blucubed; original mod base

PatelRahil; a few tooltips

timaaos; deprecated fork (integrated script into mod!)

Chara; bitross

Brian Dean Ullery (NonzeroCornet34); a lot.

BookCatKid; bug fixes

Basic Structure

This system works in two parts. A client and a backend. The client talks to the backend to generate and store items.

Minecraft Mod (Fabric 1.20.4)

The mod has two items: infinicraft:infinite and infinicraft:infinicrafter. The first acts as a "universal item" and can take on any texture. Textures are stored in a 256-length array of integers representing colors (in decimal form) of a 16x16 sprite, with -1 representing transparency. The infinicrafter block takes two items and attempts to find a cached recipe for them.

If a recipe is not cached, the mod sends a request to an Infinicraft backend (configurable) and adds the new item into items.json. Then it sends another request to generate a texture for the item with BitRoss.

Extension points exported contracts — how you extend this code

ImplementedInventory (Interface)
A simple Inventory implementation with only default methods + an item list getter. Originally by Juuz [1 implementers]
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java

Core symbols most depended-on inside this repo

isEmpty
called by 17
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java
get
called by 16
infinicraft-mod/src/main/java/net/spiralio/blocks/entity/InfinicrafterBlockEntity.java
toString
called by 11
infinicraft-mod/src/main/java/net/spiralio/items/InfiniteItem.java
size
called by 10
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java
setStack
called by 9
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java
makeTransform
called by 6
infinicraft-mod/src/client/java/net/spiralio/models/InfiniteModel.java
getStack
called by 6
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java
decode
called by 5
infinicraft-server/libs/train.py

Shape

Method 159
Class 27
Function 16
Interface 1
Route 1

Languages

Java85%
Python15%

Modules by API surface

infinicraft-mod/src/main/java/net/spiralio/blocks/entity/InfinicrafterBlockEntity.java34 symbols
infinicraft-mod/src/main/java/net/spiralio/util/GeneratedItem.java18 symbols
infinicraft-mod/src/client/java/net/spiralio/models/InfiniteModel.java18 symbols
infinicraft-server/libs/train.py16 symbols
infinicraft-mod/src/main/java/net/spiralio/util/JsonHandler.java14 symbols
infinicraft-mod/src/main/java/net/spiralio/inventory/ImplementedInventory.java12 symbols
infinicraft-mod/src/main/java/net/spiralio/items/InfiniteItem.java11 symbols
infinicraft-mod/src/main/java/net/spiralio/ai/ModelManager.java11 symbols
infinicraft-mod/src/main/java/net/spiralio/util/GeneratedRecipe.java10 symbols
infinicraft-server/infinicraftServer_v2.0.0.py9 symbols
infinicraft-mod/src/main/java/net/spiralio/blocks/screen/InfinicrafterScreenHandler.java8 symbols
infinicraft-mod/src/main/java/net/spiralio/blocks/InfinicrafterBlock.java8 symbols

For agents

$ claude mcp add infinicraft \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact