Refined Integrations seamlessly integrates Create's mechanical automation with Refined Storage's network-based item storage. This mod adds the External Storage Interface block, which exposes your entire Refined Storage network as a standard inventory that Create (and other mods) can interact with directly.
This mod was built with a HEAVY help from AI since I have never coded Java before, and I also had never worked with Minecraft modding APIs. So, even though I have written all the code myself (not automated) and tried to fix and test most of the things to make sure they work, if you find any issues, please open an issue or a PR to help me improve it! (and please teach me Java and Minecraft modding too :))
This is my first Minecraft mod, so please be kind :) and this is also in HEAVY development, so expect frequent updates and changes.
The External Storage Interface implements IItemHandler (NeoForge's standard inventory interface):
// Dynamic slot count based on network contents
int getSlots() // Returns: (item types in network) + 1
// Items are exposed as "virtual slots"
// Slot 0 = First item type, Slot 1 = Second item type, etc.
// Last slot is always empty for new item insertions
// Insert operations ignore slot parameter and add to network
ItemStack insertItem(int slot, ItemStack stack, boolean simulate)
// Extract operations pull from the specific item type in that slot
ItemStack extractItem(int slot, int amount, boolean simulate)Performance Optimizations:
- 1-second slot count cache to prevent excessive network queries
- Lazy initialization of the item handler
- Stream-based filtering for item resources vs. fluids
Clone the repository and import the Gradle project:
git clone https://github.com/yourusername/create-refined.git
cd create-refined
./gradlew buildDevelopment Commands:
./gradlew runClient # Launch Minecraft client
./gradlew runServer # Launch dedicated server
./gradlew runData # Generate assets/data| Mod | Version | Type |
|---|---|---|
| Minecraft | 1.21.1 | Required |
| NeoForge | 21.1.216 | Required |
| Create | 6.0.9-215 | Required |
| Refined Storage | 2.0.0 | Required |
| Ponder | 1.0.81 | Required (Create dependency) |
| Flywheel | 1.0.6 | Required (Create dependency) |
| Registrate | MC1.21-1.3.0+67 | Required (Create dependency) |
refined_integrations/
├── network_interface/ # Main feature package
│ ├── ExternalStorageInterfaceBlock.java
│ ├── ExternalStorageInterfaceBlockEntity.java
│ ├── rs_integration/
│ │ ├── ExternalStorageInterfaceNetworkNode.java
│ │ └── NetworkItemHandler.java # IItemHandler adapter
│ └── datagen/ # Data generators
└── Config.java # Mod configuration
This mod bridges two amazing projects:
- Create by simibubi and team
- Refined Storage by refinedmods
Special thanks to both communities for their excellent APIs and documentation!
This project is licensed under the GNU General Public License v3.0 - see LICENSE for details.