Steve's Simple Storage introduces a storage system that scales and evolves as players progress. Want to put 100,000 Cobblestone in 1 slot? No problem. Blocks in the mod can add a search bar, a crafting grid, additional storage, external access, security, and more. Also includes JEI integration for 1-click crafting from the system's internal inventory!
Version 0.12.0 — approaching 1.0.0 stable release. All core features complete and stable on Minecraft 1.21.1 / NeoForge 21.1.218. See docs/port-overview.md for details.
- Java 21 or higher (required for NeoForge)
- Gradle 8.x (wrapper included)
-
Clone the repository:
git clone https://github.com/scuba10steve/steves-simple-storage.git cd steves-simple-storage -
Build the mod:
./gradlew :neoforge:build
On Windows:
gradlew.bat :neoforge:build
-
Find the built mod: The compiled mod JAR will be located at
neoforge/build/libs/s3-<version>.jar
- Import the project into your IDE (IntelliJ IDEA or Eclipse recommended)
- Run the client for testing:
./gradlew :neoforge:runClient
- Run the server for testing:
./gradlew :neoforge:runServer
# Run unit tests
./gradlew :core:test
# Run game tests (integration)
./gradlew :gametest:s3:runData
./gradlew :gametest:s3:runGameTestServer
# View unit test report
open core/build/reports/tests/test/index.htmlSee TESTING.md for full details.
This project uses a multi-module Gradle layout for cleaner architecture and future multi-loader readiness:
steves-simple-storage/
├── core/ # Platform-agnostic code (vanilla MC only)
│ └── src/
│ ├── main/java/ # Blocks, block entities, menus, screens, packets, storage logic
│ ├── main/resources/ # Assets (textures, models, lang) and data (recipes, loot, tags)
│ └── test/java/ # Unit tests
├── neoforge/ # NeoForge-specific code
│ └── s3/
│ └── src/
│ ├── main/java/ # Mod entry point, registration, config, packet handlers, JEI
│ ├── main/resources/ # neoforge.mods.toml
│ └── generated/ # Datagen output
├── gametest/ # Integration tests using NeoForge gametest framework
│ └── s3/
│ └── src/main/java/ # StorageGameTests, MultiplayerStorageGameTests
├── build.gradle # Root: shared subproject config
├── settings.gradle # Includes core, neoforge/s3, and gametest/s3 modules
└── gradle.properties # Mod version and dependency versions
- Mod entry point:
neoforge/.../StevesSimpleStorage.java - Registration:
neoforge/.../init/(ModBlocks, ModItems, ModBlockEntities, ModMenuTypes) - Platform abstraction:
core/.../platform/(S3Platform, S3Config, S3NetworkHelper) - Blocks:
core/.../block/(most blocks) andneoforge/.../block/(port blocks) - Block Entities:
core/.../blockentity/(most) andneoforge/.../blockentity/(port BEs) - Storage logic:
core/.../storage/(StorageInventory, StoredItemStack) - Mod metadata:
neoforge/src/main/resources/META-INF/neoforge.mods.toml
Steve's Simple Storage uses TOML configuration files located at config/s3-common.toml. The configuration is organized into sections:
basicCapacity- Storage Box capacity (default: 10,000)condensedCapacity- Condensed Storage Box capacity (default: 40,000)compressedCapacity- Compressed Storage Box capacity (default: 80,000)superCapacity- Super Storage Box capacity (default: 160,000)ultraCapacity- Ultra Storage Box capacity (default: 640,000)hyperCapacity- Hyper Storage Box capacity (default: 2,560,000)ultimateCapacity- Ultimate Storage Box capacity (default: 10,240,000)
enableSecurity- Enable Security Box and Key item (default: true)enableTerminal- Enable Access Terminal block (default: true)enableDolly- Enable Dolly items for moving blocks (default: true)enableSearchModes- Enable advanced search modes (default: true)enableOpOverride- Allow operators to override security (default: true)
classicRecipes- Use classic (easier) recipes (default: false)toughHyper- Make Hyper Storage Box recipe more expensive (default: false)
jeiIntegration- Enable JEI integration features (default: true)
extractPortInterval- Ticks between Extract Port extraction attempts (default: 8, range: 1-100). Lower values = faster extraction, higher values = less server load.minSyncInterval- Minimum ticks between storage inventory sync packets (default: 2, range: 0-20). Helps prevent visual flicker. Set to 0 to disable throttling.
Configuration changes require a game restart to take effect.
This Open Source project is licensed under the MIT License (see LICENSE).
- Current Maintainer: scuba10steve
- Original Authors: zerofall, SBlectric
- Game: Minecraft by Mojang AB
- Mod Loader: NeoForge
- GitHub Repository
- Original Project on CurseForge (EZStorage 2 - 1.12.2 version)