Links
Tags
Creators
Details
2.3.0
Compatibility
Required content
Changes
StorageGuide v2.3.0
StorageGuide 2.3.0 expands server administration and makes sloppiness detection auditable without sacrificing compatibility with older clients.
Required-client enforcement
- Operators can now require joining players to have a compatible StorageGuide client installed.
- The option is available from the server-authoritative Operator Settings menu.
- New connections receive a five-second grace period to complete the existing StorageGuide version handshake.
- Clients that do not identify themselves within that period are disconnected with a clear installation message.
- Enabling the option also checks players who are already connected but have not completed the StorageGuide handshake.
- Enforcement is disabled by default when upgrading an existing configuration.
Configurable sloppiness cooldown
- Operators can set the announcement cooldown from 1 to 3600 seconds.
- The default remains 30 seconds for new and migrated configurations.
- Cooldown continues to apply independently per player and per chest.
- Changing the cooldown does not delete or combine history entries.
- The detector toggle, required-client option, and cooldown are managed together through the operator menu.
- Non-operators can view the settings in read-only mode but cannot modify them.
Per-chest detection exclusions
- Every storage-cell editor now includes an Exclude from sloppiness detection option.
- Exclusion affects only sloppiness detection; item lookup and storage assignments continue to work normally.
- Excluded single chests are skipped entirely.
- If a configured half of a double chest is excluded, the combined chest is treated as excluded to avoid ambiguous slot ownership.
- Existing cells remain included after migration.
- New V2 editor payloads carry exclusion state while the original editor payloads remain registered for older peers.
Persistent sloppiness history
- Every newly detected incompatible item addition is now stored in
config/storageguide.json. - Events are recorded before announcement cooldown checks.
- This means multiple incidents during a cooldown are all retained even when only one chat announcement is broadcast.
- Each entry stores:
- Player UUID and current player name.
- Detection timestamp.
- Incompatible item ID.
- Configured storage-cell ID.
- Chest position.
- History persists across server restarts.
Public history menu
- Added a paged Sloppiness History screen available to every player.
- Entries are grouped alphabetically by player and sorted newest-first within each player.
- Each visible row shows the player, item, and local detection time.
- Open the menu from StorageGuide's client configuration screen or with:
/storageguide history
Networking and migration
- Increased the StorageGuide protocol version to
3. - Migrated the server configuration schema to version
4. - Existing configurations receive safe defaults:
- Required clients: off.
- Announcement cooldown: 30 seconds.
- Existing cells excluded: no.
- History: empty.
- Added separate V2 packet IDs for richer operator settings and cell-editor state.
- No existing packet codec was silently changed.
- Older peers retain the original detector toggle and item-assignment behavior when newer optional packets are unavailable.
Install the attached storageguide-2.3.0.jar on the server and participating clients. If required-client enforcement is enabled, every joining player must install a compatible StorageGuide client.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:4kCoqlbL:qwkXcqbU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:4kCoqlbL:qwkXcqbU"
}

