TimVincii / Terrastorage

Brings Terraria's amazing storage features to Minecraft!
MIT License
1 stars 0 forks source link
![Terrastorage Banner](https://github.com/TimVincii/Terrastorage/raw/HEAD/.assets/banner.png) [![Available On Modrinth](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/available/modrinth_46h.png)](https://modrinth.com/mod/terrastorage) [![Available On Curseforge](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/available/curseforge_46h.png)](https://www.curseforge.com/minecraft/mc-mods/terrastorage) [![Support Me On Ko-Fi](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/donate/kofi-singular_46h.png)](https://ko-fi.com/timvinci)
[![Available For Fabric](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/supported/fabric_46h.png)](https://fabricmc.net) [![Available For Quilt](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/supported/quilt_46h.png)](https://quiltmc.org/en) [![Requires Fabric API](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/compact/requires/fabric-api_46h.png)](https://github.com/FabricMC/fabric)

Terrastorage

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

Showcase Loot And Deposit Loot and Deposit All:

⏺️ 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.


Showcase Quick Stack And Restock Quick Stack and Restock:

⏺️ 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.


Showcase Item Favoriting Item Favoriting:

✳️ The modifier key is customizable via the controls menu.

⏺️ Favorite items are protected from being:


Showcase Sort Items And Rename Sort Items and Rename:

✳️ The sorting method for both Sort Items and Sort Inventory is controlled by a single configurable setting.

⏺️ Renamed storage blocks display nametags either above them or on the side facing the player if there’s a block above.


Showcase Sort Inventory And Qstns Sort Inventory and Quick Stack To Nearby Storages:

✳️ The sorting method for both Sort Items and Sort Inventory is controlled by a single configurable setting.

✳️ 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 between flying items are configurable.

⏺️ Favorite items will not be moved by Sort Inventory or modified by Quick Stack To Nearby Storages.

Customization

Options Screen

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:

Buttons Customization Screen

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. It includes:

⏺️ 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:

⏺️ 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 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 LockableContainerBlockEntity or modded storage entities that do not extend VehicleInventory is currently not supported. This is a limitation that would be difficult to overcome and is likely to remain for the foreseeable future.

Feedback & Support

If you've got a question, a suggestion, or run into any issues, don't hesitate to submit an issue!

I’ll do my best to get back to you as quickly as possible!