promotional bannermobile promotional banner

Obscura's Simple Storage (Tom's Simple Storage Fork)

A hyper-optimized, zero-lag reimagining of simple storage! Featuring 80+ engine optimizations, instant terminal sync, massive TPS/FPS server boosts, and beautiful new native textures. A must-have for massive modpacks.
Back to Files

obscuras_simple_storage-fabric-mc1.21.1-v3.0.2.jar

File nameobscuras_simple_storage-fabric-mc1.21.1-v3.0.2.jar
Uploader
NavrelisNavrelis
Uploaded
Sep 16, 2026
Downloads
497
Size
4.0 MB
Mod Loaders
Fabric
File ID
8894439
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:obscuras-simple-storage-1475987:8894439"

Learn more about Curse Maven

What's new

# Obscura's Simple Storage - Update v3.0.2

## Supported Versions
* Minecraft 1.20.1 (Fabric)
* Minecraft 1.21.1 (Fabric)

## Mods Updated
* Obscura's Simple Storage (Fabric 1.20.1) v3.0.2 - `obscuras_simple_storage-fabric-mc1.20.1-v3.0.2.jar`
* Obscura's Simple Storage (Fabric 1.21.1) v3.0.2 - `obscuras_simple_storage-fabric-mc1.21.1-v3.0.2.jar`

## Highlights
* Fixed Fabric 1.21.1 Storage Terminal becoming laggy and the search box unresponsive when vanilla double chests, furnaces, hoppers, droppers, dispensers, or brewing stands were connected to the network.
* Double chests on the network are no longer counted twice.
* Terminal search on both versions is now debounced on large item lists and can no longer get stuck mid-search after typing.
* Fixed Fabric 1.20.1 painted Trim not showing its paint, plus other painted-block rendering fixes and an Open Crate item-duplication fix.
* Filing Cabinet scrollbar and item-placement fixes; sanitized Inventory Link channel names on both versions.

## Major Changes

### Fabric 1.21.1 storage terminal freeze on double chests and sided inventories
Fabric's `ItemStorage` API hands back a brand-new storage wrapper object every time it is looked up for a vanilla double chest (`CombinedSlottedStorage`) or for a sided inventory like a furnace, hopper, dropper, dispenser, or brewing stand (`SidedInventoryStorageImpl`), and that wrapper's version counter is a single, globally ever-increasing number rather than something scoped to the block. The mod's change tracker was keyed on that wrapper object, so a fresh tracker with empty state got created almost every tick, every slot looked "new" against it, the terminal's internal change counter incremented every tick, a full sync packet was sent every tick, and the client re-filtered and re-sorted its entire item list up to 20 times per second. With roughly ten or more full double chests on the network, this was enough to make the search box stop responding to typing. The fix makes the tracker owned by the connected block face (one tracker per inventory access) instead of the storage wrapper, and only compares storage versions within the same storage instance; both halves of a double chest are now deduplicated so they aren't counted twice, while an item-filtered inventory is deliberately never deduplicated away. (`Fabric-1.21.1/src/main/java/com/tom/storagemod/inventory/PlatformInventoryAccess.java`, `.../inventory/InventoryChangeTracker.java`, `.../inventory/MultiInventoryAccess.java`, `.../util/WorldStates.java`, `.../screen/AbstractStorageTerminalScreen.java`)

A second, independent bug compounded the symptom on networks with 1000+ distinct item types: the search debounce timer re-armed on every tick while the typed text still differed from the applied search, so the 150 ms window never elapsed and the typed text was only applied when a sync packet happened to force a refresh. The timer is now armed only when the typed text actually changes, so the search is applied 150 ms after the last keystroke regardless of network traffic, and content refreshes from sync packets are coalesced instead of disabling the debounce.

### Bug Fixes

#### Fabric 1.20.1
* Fixed the `painted_trim` block using the plain, unpainted trim model instead of the applied paint. (`Fabric-1.20.1/src/main/java/com/tom/storagemod/model/BakedPaintedModel.java`, `src/main/resources/assets/toms_storage/blockstates/painted_trim.json`)
* Fixed painted blocks rendering invisible when held in hand, caused by a missing model cache and missing item render data; the cache is now cleared correctly on resource reload. (`.../model/BakedPaintedModel.java`)
* An unpainted painted block (for example right after painting a Trim, or if its paint data was lost) now renders the plain trim look instead of turning invisible, and painting a block with itself can no longer crash the renderer.
* Fixed the Open Crate being able to extract more items than an item entity actually held when two extractions happened in the same tick, which could duplicate items. (`.../tile/OpenCrateBlockEntity.java`)
* Fixed a rare regex failure during terminal search leaving stale items on screen. (`.../gui/AbstractStorageTerminalScreen.java`)
* Fixed the Storage Terminal's tall display mode showing more rows than it could actually manage; mouse-wheel scrolling now scrolls a full page instead of a fixed 5 rows and no longer breaks in tall mode. (`.../gui/AbstractStorageTerminalScreen.java`)
* Added a missing chat message translation ("Terminal out of range (Not Loaded)").
* Fabric 1.20.1 now enforces the same 20-channels-per-player Inventory Link limit as Fabric 1.21.1, and channel names are sanitized to strip invisible/control characters and lone surrogates; a name made up of only invisible/space-like characters is rejected.
* Fixed a Filing Cabinet scrollbar divide-by-zero/NaN when all contents fit in the visible rows, along with a stale scroll offset in that case; fixed being able to place a second item type into an empty visible page.

#### Fabric 1.21.1
* Fixed the false "changed every tick" detection on double chests and sided inventories (furnaces, hoppers, droppers, dispensers, brewing stands) described above, which caused constant sync spam and an unresponsive search box.
* Hardened terminal sorting so a bad comparator can no longer wedge the terminal open.
* Added missing narration and tooltip translations for the sort/control/priority/side buttons, popup text fields, and the inventory configurator hint.
* Inventory Link channel names are now sanitized to strip invisible/control characters and lone surrogates, and a name made up of only invisible/space-like characters is rejected.
* Fixed the same Filing Cabinet scrollbar divide-by-zero/NaN and stale scroll offset, and the same empty-visible-page item placement issue, as on 1.20.1.



This mod has no additional files