Terrastorage
🟡 IMPORTANT: Known Compatibility Issues
Version 1.3.0 and 1.3.1 significantly improved compatibility with other storage mods:
- 🟢 Sophisticated Storage & Backpacks: Compatibility is mostly stable now - there's still a minor issue with sorting and one with item favoriting, but I didn't run into anything that could cause item duplication or item loss.
- 🔴 Traveler's Backpack: Still has issues that can result in item loss, or at least in items temporarily disappearing. I'd recommend holding off on using Terrastorage alongside it for now.
Thanks for your patience!
Terrastorage is a customizable server and client-side mod that brings the amazing storage options from Terraria to Minecraft, including the incredibly useful Quick Stack To Nearby Chests feature. It currently supports Fabric and Quilt.
Note that Terrastorage needs to be installed on both the client and server to work properly. With that out of the way, let's dive into the feature showcase:
Features
Loot and Deposit All:
- Loot All - Transfers all items from the storage to the player's inventory.
- Deposit All - Transfers all items from the player's inventory to the storage.
⏺️ Items are first stacked with existing ones in the opposite inventory before being moved to an empty slot.
⏺️ Favorite items will not be affected by Deposit All.
Quick Stack and Restock:
-
Quick Stack - Transfers items from the player's inventory to the storage using one of two modes:
-
Smart Deposit - Similar to Fill Up, but also moves all matching items into empty slots, creating new stacks as needed.
-
Fill Up - Adds items to existing stacks until they reach their maximum capacity, keeping empty slots in the receiving inventory unaffected.
-
-
Restock - Transfers items from the storage into existing stacks in the player's inventory.
⏺️ Favorite items will not be affected by Quick Stack.
✳️ The Quick Stack mode can be configured through the Storage Quick Stack Mode option in the Options Screen.
Item Favoriting:
- Item Favoriting - You can favorite items in your inventory by holding the modifier key for Item Favoriting (Left Alt by default) and left-clicking them.
✳️ The modifier key is customizable via the controls menu.
⏺️ Favorite items are protected from being:
- Thrown out of the inventory.
- Shift-pressed to a different inventory.
- Swapped from the hotbar to a different inventory during a hotbar keybind press.
- Deleted in the creative inventory screen.
- Moved by Deposit All or Sort Inventory.
- Modified by Quick Stack or Quick Stack To Nearby Storages.
Sort Items and Rename:
- Sort Items - Sorts the items in the storage.
- Rename - Renames the storage block.
✳️ The sorting method for both Sort Items and Sort Inventory is controlled by a single configurable setting.
⏺️ Sort Items can also be activated by hovering over a slot and pressing the sort inventory keybind (R by default, customizable in the controls menu).
⏺️ Renamed storage blocks display nametags either above them or on the side facing the player if there’s a block above.
Sort Inventory and Quick Stack To Nearby Storages:
- Sort Inventory - Sorts the items in the player's inventory.
- Quick Stack To Nearby Storages - Finds all nearby storages and performs the Quick Stack operation on each.
✳️ The sorting method for both Sort Items and Sort Inventory is controlled by a single configurable setting.
⏺️ Sort Inventory can also be activated by hovering over a slot and pressing the sort inventory keybind (R by default, customizable in the controls menu).
✳️ By default, the Quick Stack To Nearby Storages feature only considers storages within the player's line of sight, this is configurable.
✳️ The Quick Stack To Nearby Storages feature includes an animation where items fly from the player to the storage. Both the animation length and the time interval between flying items are configurable.
⏺️ Favorite items will not be moved by Sort Inventory or modified by Quick Stack To Nearby Storages.
Customization

Client side:
The client side features an options screen that can be accessed with mod menu or with the /tsclient options command, it allows for the configuration of the following settings:
- Options Button - Controls whether an "Options" button, which takes the player to the options screen, is added to the storage screens.
- Hotbar Protection - Determines whether the hotbar is excluded from storage actions.
- Favorite Border Visibility - Controls when the favorite item border is drawn on slots holding favorite items. Can be set to:
- Always – The border is always drawn.
- On Modifier Press – The border is only drawn while the modifier key (Left Alt by default) is held.
- Non-Hotbar – The border is drawn everywhere except the hotbar.
- On Modifier & Non-Hotbar – The border is only drawn while the modifier key is held and only outside the hotbar.
- Never – The border is never drawn.
- Sort By - Determines the property by which items are sorted when using Sort Items or Sort Inventory. It can be set to:
- Item Group - Items are sorted by their group.
- Item Count - Items are sorted by quantity (from highest to lowest).
- Item Rarity - Items are sorted by their rarity (from higher to lower).
- Item Name - Items are sorted alphabetically by name.
- Item Id - Items are sorted by their ID (from lower to higher).
- Storage Quick Stack Mode - Configures the quick stack mode used for single storage operations. (See Quick Stack and Restock for details.)
- Nearby Storage Quick Stack Mode - Configures the quick stack mode used for nearby storages. (See Quick Stack and Restock for details.)
- Buttons Textures - Controls the textures used by the inventory storage buttons.

In addition to the Options Screen, a dedicated buttons customization screen allows for customizing the appearance of the storage option buttons displayed in storage inventory screens.
⏺️ All these options are customizable through the client configuration file, located at .\config\terrastorage_client.toml. This file is designed for easy manual editing and includes the default values of each property, as well as the range of integer properties.
Server Side
The following server settings can be modified via in-game commands. To change a setting, use the command /terrastorage [option] [new value]. To view the current value, use /terrastorage [option].
The available options are:
-
action-cooldown
Sets the cooldown for all storage actions, in game ticks.
Default: 10
-
line-of-sight-check
Determines whether the Quick Stack To Nearby Storages feature only considers storages within the player's line of sight.
Default: true
-
quick-stack-range
Specifies the range of the Quick Stack to Nearby Storages feature, in blocks.
Default: 8
-
item-animation-length
Sets the length of the flying item animation when Quick Stack to Nearby Storages is used, in game ticks.
Default: 20
-
item-animation-interval
Specifies the time interval between animated flying items in ticks.
Default: 5
-
enable-item-favoriting (1.21+ servers only)
Determines whether Item Favoriting is enabled on dedicated servers. Set to false to ensure compatibility with vanilla clients. Not available for singleplayer.
Default: true
-
keep-favorites-on-drop
Determines whether items will keep their favorite status once they are dropped as an item entity.
Default: true
⏺️ These settings can be directly modified through the configuration file, located at .\config\terrastorage.toml. Just like the client configuration file, it is designed for easy manual editing. Below are its default contents:
#The cooldown of all storage actions, in game ticks
#Range: 2 to 100, inclusive
#Default: 10
action_cooldown = 10
#==========
#Whether the Quick Stack To Nearby Storages feature only considers storages within the player's line of sight.
#Default: true
line_of_sight_check = true
#==========
#The range of the Quick Stack to Nearby Storages feature, in blocks
#Range: 3 to 16, inclusive
#Default: 8
quick_stack_range = 8
#==========
#The length of the flying item animation that occurs when Quick Stack To Nearby Storages is used, in game ticks
#Range: 10 to 200, inclusive
#Default: 20
item_animation_length = 20
#==========
#The interval between animated flying items, in game ticks
#Range: 0 to 20, inclusive
#Default: 5
item_animation_interval = 5
#==========
#Whether the item favoriting feature is enabled. Disable this to ensure compatibility with vanilla clients.
#Default: true
enable_item_favoriting = true
#==========
#Whether items will keep their favorite status once they are dropped as an item entity.
#Default: true
keep_favorites_on_drop = true
Compatibility
Supported Storages
Terrastorage works smoothly with all the vanilla storage blocks like chests, barrels, shulker boxes, and even things like chest minecarts and chest boats.
Compatibility with modded storage blocks varies. Some will work without any issues, while others might not be compatible right away. If you come across a storage block from another mod that doesn’t seem to work with Terrastorage, feel free to open an issue on GitHub, and I’ll see what I can do!
Feature Limitations
Renaming modded storage blocks that do not extend BaseContainerBlockEntity or modded storage entities that do not extend ContainerEntity is currently not supported. This is a limitation that would be difficult to overcome and is likely to remain for the foreseeable future.
Acknowledgments
The Minecraft-style textures for the Quick Stack To Nearby Storages and Sort Inventory buttons were generously provided by Ventgirl_Joanne.
The Russian translation was provided by Demzy123.
Feedback & Support
If you've got a question, a suggestion, or run into any issues, don't hesitate to submit an issue!
Please note: As of December 2nd, 2024, I’ve started my studies, which will keep me busy for the next few years. This means I will have significantly less time to actively work on the Terrastorage or respond to feedback and issues.
I’ll still do my best to address important issues and consider suggestions when possible, but response times may be slower.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 |
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
## Version 1.3.2
A small bugfix release taking care of some issues.
### Fabric Loader
- Fixed a bug that could cause recent versions of Terrastorage (1.3.0 & 1.3.1) to crash the client on startup if the Fabric Loader version was below 0.19.5.
### Sinytra Connector
Fixed the following crashes when Terrastorage was run on NeoForge via Sinytra Connector:
- Fixed a bug that caused the client to crash on startup, affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash when opening of an inventory/container ([#62](https://github.com/TimVincii/Terrastorage/issues/62)), affecting version **1.21.1** of Minecraft.
- Fixed a bug that caused the client to crash on startup on version **26.1.2** of Minecraft.
### Quick Stack To Nearby Storages
- Fixed a small bug that caused the flying items animation to be triggered even when no items were actually transferred.
New version of Terrastorage for a new version of Minecraft. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
New version of Terrastorage. 🎉
## Version 1.3.1
This version focused **heavily** on improving **Quick Stack To Nearby Storages**, with two major changes:
### Major Compatibility Improvements
Up until now **Quick Stack To Nearby Storages** has been limited to very specific types of block entities (ones implementing the
Container interface), which limited compatibility with mods such as **Metal Barrels**, **Sophisticated Storage & Backpacks** and many more.As of this version **Quick Stack To Nearby Storages** now uses the neat **Fabric Transfer API** to access the items of block entities.
The result of this change is **MASSIVE**: **Quick Stack To Nearby Storages** should now _essentially_ support every **slot-backed** modded storage that has hopper support (that is, a hopper is able to pull items from the storage placed above it).
I tested this out with **Metal Barrels** and **Sophisticated Storage** and found no issues. Implementing this resolves [#66](https://github.com/TimVincii/Terrastorage/issues/66), the very old [#20](https://github.com/TimVincii/Terrastorage/issues/20) (sorry for taking so long 😭), and [#54](https://github.com/TimVincii/Terrastorage/issues/54).
With this in place, compatibility with **Sophisticated Storage** & **Sophisticated Backpacks** is now **stable** (I'm not aware of any bugs that can result in item duplication or item loss), though note that there are still some minor issues (see the **updated** compatibility notice at the head of the README/Mod description page).
#### Traveler's Backpack
Per this improvement, **Quick Stack To Nearby Storages** should now also support a placed-down **Traveler's Backpack** backpack, but it currently doesn't, as the backpack block entity isn't being identified as a **slot-backed** storage.
I've opened an issue about this, and it should be resolved soon.
### Performance Improvement at High Range
The README on GitHub and Terrastorage's description on **Modrinth** and **CurseForge** have had a small mistake in the server config default contents section: the comment about the
quick-stack-range setting stated that the max value is 16 blocks, while the actual max has always been 48.That said, using the max range of 48 had a big performance hit, and the impact of multiple players using **Quick Stack To Nearby Storages** at the same time on a server was noticable.
For this reason, I've updated the block entity iteration logic to heavily improve the performance at max ranges and also slightly at lower ranges too. The current approach is now dynamic and ensures that performance is never worse than before (and under normal gameplay circumstances it's much better).
The result from my brief testing is that **Quick Stack To Nearby Storages** on max range is now **100x to 700x** faster than before under regular gameplay circumstances.
### Fixed Translation
The Terrastorage category's title under the **controls** screen wasn't being resolved properly since version **1.21.9** of Minecraft.
This is now fixed.
Thanks for using Terrastorage :D
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!
Finally got the time and determination to update and fix some things :D
## Major Changes
### Slot Handling Revamp
- Note that this is about the storage button operations. NOT Quick Stack To Nearby Storages, which needs its own revamp that I've already started working on.**
All storage button operations now operate directly on container menu slots rather than Container instances. Terrastorage now respects those slots' permissions, and only moves items if they're allowed to be picked up from the source slot and allowed to be placed in the target slot.
Up until now Terrastorage had something similar, but as of 1.3.0 the check is much stricter and applies to all container menus, not just modded ones.
This was necessary in order to provide better compatibility with other storage mods.
This revamp should fix compatibility issues with many storage mods, but note that it isn't perfect - my testing covered 3 mods:
- Backpacked**: Appears to work well, I haven't been able to find any issues. Terrastorage now properly respects the locked slots.
- Sophisticated Storage & Backpacks**: Compatibility has improved - I was still able to find an issue with sorting and one with item favoriting, but nothing that looked able to result in item duplication or item loss.
- Traveler's Backpack**: Compatibility has also improved, but there are still issues that can result in item loss, or at least in a temporary disappearance, so I wouldn't recommend using Terrastorage alongside Traveler's Backpack just yet.
The issues that are still present can't be fixed by a 'better' generic approach. The solution I'm planning is a 'slot ignoring' configuration that ships with Terrastorage and is customizable by the player (via a GUI screen, for instance).
That way certain slots of backpacks from **Traveler's Backpack** (fluid slots, for instance) will simply be ignored by storage operations.
### Storage Detection
Improved the detection mechanism Terrastorage uses to identify which container screens the storage buttons should be added to.
The new mechanism should prevent the storage buttons from being added to locked or non-functional container menu screens. For instance, before this change the storage buttons would be added to **Traveler's Backpack's** backpack settings screen, even though items aren't accessible inside of it.
### Player Inventory Detection
Player slots are now identified by comparing directly against the player's own inventory instance rather than by an **instanceof** check, which mistook any storage backed by an Inventory, such as a grave holding a dead player's items, for the player's own inventory. (It was also possible to favorite items inside another player's storage lol)
### Removed Expanded Storage Compatibility
- Expanded Storage** is kind of gone so:
## Bug Fixes
- The **Slot Handling Revamp** solves various issues, such as the infamous item duplication bug with **Traveler's Backpack** ([#40](https://github.com/TimVincii/Terrastorage/issues/40)).
- Fixed a bug that caused the sort inventory keybind to not work on certain modded container menus, such as **Traveler's Backpack's** or **Sophisticated Storage & Backpacks'** containers.
- Fixed a crash on client startup, caused by Terrastorage creating block entities in order to decide which ones need a nametag renderer (this could crash with **Traveler's Backpack**). Nametag renderers are now provided while rendering instead, which also makes the storage size check accurate for storages whose inventory can be upgraded.
- [1.21.2+] Fixed probably the oldest Terrastorage bug, which caused shift-clicking the destroy item slot in the creative inventory to not properly delete regular non-favorite items ([#61](https://github.com/TimVincii/Terrastorage/issues/61)).
- [1.21.5+] Fixed a bug that caused block entity custom names to include quotation marks around the actual name.
- [1.21.9+] Fixed a bug that resulted in a desync of the custom name between the chest block entities making up a double chest.
## Next Up
I plan on targeting these 3 goals by the next update:
1. **Quick Stack To Nearby Storages handling revamp**:
Currently only a limited number of block entities are supported by **Quick Stack To Nearby Storages**, and that's a real shame considering it's probably the most useful feature brought over from Terraria.
My goal with this revamp is to hopefully achieve compatibility with a wider range of container block entities, such as **Sophisticated Storage** block entities or **Metal Barrel** block entities.
2. **Slot Blacklist Configuration**:
A customizable slot blacklist (either by slot index or by unique slot class name) that ships with Terrastorage and is easily extensible and customizable in game is something I really want to do. It will also finally make Terrastorage playable with **Traveler's Backpack** without the risk of losing items.
3. **Container Blocklist Configuration**:
Same thing as the **Slot Blacklist Configuration**, but for blacklisting certain containers, either from having the storage buttons appended to their menus, or from being picked up by **Quick Stack To Nearby Storages** ([#55](https://github.com/TimVincii/Terrastorage/issues/55)).
I would also really love to work on improving the options screen, and mainly the currently lacking button customization screen, but I'm prioritizing these 3 goals above that for now.
Thanks for using Terrastorage!


