Перейти к содержимому
Mineforgian

EnderDrives

EnderDrives is a mod that offers a way to store your items in the End — but digitally

Загрузки
13K
Подписчики
6
Обновлён
2 июля 2025 г.
Лицензия
MIT

Опубликован 10 апреля 2025 г.

These drives link together based on the frequency set for each drive. All drives with the same frequency and privacy share the same contents, regardless of who crafted them. Whether in your AE2 system, another dimension, or on another player’s system, the contents are globally synchronized.


EnderDrives

EnderDrives is a mod that offers a way to store your items in the End — but digitally. Each drive has a type limit based on its capacity.
This is an artificial limit for gameplay mechanics, not due to storage limitations, but it is heavily suggested to try and keep the least amount of types in the system as possible.
The system has been reliably tested up to 250,000 types. Exceed that with caution.


Transfer Mode

Bidirectional:
Drives set to Bidirectional (default) facilitate normal disk drive function. You are able to input/extract items like normal.

Input:
Drives set to Input will only allow the player and automations to input items. You are able to view the stacks, but you will be unable to remove them.

Output:
Drives set to Output will only allow the player and automations to pull from the drive, never insert.


Scope / Privacy Options

Global:
Items stored under this scope are shared server-wide. Any player with a drive set to the same frequency can access the same shared inventory.

Private:
Drives in private mode are tied to your UUID and only you can assign them to your private space. Other players can use the drive through your ME system, but the inventory is yours alone.

Team:
Team drives are accessible by all members of your FTB Team. Any member can craft a drive and set it to a team frequency. Internally, the data is tied to the party owner’s UUID, so even if the team disbands, the original owner still has access.


Powered by EnderDB

To handle storage at such large scales, EnderDrives uses a purpose-built database called EnderDB. All items are stored with their full data component (NBT), ensuring perfect accuracy in identifying and tracking items.
Each stored item is indexed by its frequency, scope, and full NBT, along with a count. The count is stored as a signed 64-bit long, allowing up to 9 quintillion items in a single record.


EnderDB Features

The goal of EnderDB is speed, reliability, and efficiency. EnderDB uses:

  • Rotating Write-Ahead Logging (WAL) for data integrity
  • Batch Commits for performance
  • CRC32 Checksums for data integrity
  • Compact Binary Storage for performance
  • In-Memory Caching for performance
  • Dedicated Background Threading
  • Safe Handling of Shutdowns and Crashes

All operations are atomic, ensuring that no data is ever lost or corrupted, even in the event of world corruption or server failure.


Data is saved in your world folder:
saves/world/data/enderdrives/enderdrives.bin
Write-ahead log (WAL) files are stored alongside this file for recovery and performance.

Центр версий

3 версий
  • Релиз307 КБ
  • Релиз304 КБ
  • Релиз189 КБ

Ченджлог

1.4.2Релиз1.21.5, 1.21.6, 1.21.7 · 2 июля 2025 г.

v1.4.2

Fixd a small parsing error to allow non-stackables properly

v1.4.1

Fixed a parsing error that resulted in extensive logging in a high IO system with a tape drive inserted Fixed an issue with flushing tape drives Added a sub-command to allow setting a tape drives uuid Set the tape import command to query uuids from the exported jsons

v1.4.0

Fixed drive recursion in an IO Port (And ExtendedAE's) - Provides sound and text notice to player Removed the delta buffer and just modify the ram cache directly Datagen for the dynamic recipes depending on whihc mod is installed curtesty of ATM Team's Satherov Added a "bail out" command in case items get stuck on a drive and unable to IO Port extract with /enderdrives dumpcell (Database will not be cleared automatically) Moved initialization and shutdown logic to onServerStart rather than onWorldJoin due to the latter method being called multiple times Changed a lot of the logic to be syncronized for consistency Database now will hold the current mod version, and will automatically backup if the version changes

v1.3.2 (rolled back)

Hotfix for v1.3.1 where types would be incorrectly displayed in tooltip

v1.3.1 (rolled back)

Tape Drives officially added! Added commands for Tape Drives to help admins moderate the different types of disks on their server Added a full server side configuration file which allows for many in depth changes to the mod to allow players to balance their playthrough if they feel that base it's not balanced or not strong enough Fixes an issue where the cache was not properly reset between world save and quits, resulting from the cache not being flushed and reset. Improved tooltips for both Ender Drives and Tape Drives to use the config values from the server

v1.3.0 Beta (rolled back)

Created Tape Disk for NTP-heavy, armor, tools, weapons, and single stack items Created a Server Config for almost every hardcoded value. Will allow enable/disable specific drives, change type counts, and database functionality The Server Config also allows for changing default scope and disable a scope entirely if wanted Updated networking to allow for better client and server syncing

v1.2.4

Adds GuideME support to all EnderDisk drives Added confirmation check for the AutoBenchmark and Clear commands Updating all logging to be under LogManager rather than System logs

v1.2.3

Fixes a race condition where you could insert more than the allowed types by IO transfering many disks. You can still extract from drives with too many types, it doesnt render them inoperable. Fixed the insert method to be more robust and simulate an item insert before actually moving the item to verify type limits Updated the getAvailableStacks method to use a ForkJoinPool to utilize multilple threads to query the database as fast as possible Added Japaneese localization with help from twister716 on Github Added Chinese localization with help from ZHAY1008 on Github

v1.2.2

Fixed potential issue with items not persisting across game relaunches Fixed tooltip caching to show a more accurate number Added new assets for components Added recipes depending on which AE2 additional mods are installed

v1.2.1

Added support for Cell Workbench filters Added agressive power draw scaling with the count of items on the frequency Added a new UI that better reflects the theme of the mod Added a delta buffer that is flushed to WAL in atomic batches Added WAL replay automatically in process Fixed an error with FTB Teams not being optional Fixed render issue with the items in the WAL getting added after the database gets loaded into memory

v1.2.0

Modifications to the database handler Added directional control (Bidirectional, Input, Output)

General code cleanups and UI updates

1.4.0Релиз1.21.1 · 27 апреля 2025 г.

v1.4.0

Fixed drive recursion in an IO Port (And ExtendedAE's) - Provides sound and text notice to player Removed the delta buffer and just modify the ram cache directly Datagen for the dynamic recipes depending on whihc mod is installed curtesty of ATM Team's Satherov Added a "bail out" command in case items get stuck on a drive and unable to IO Port extract with /enderdrives dumpcell (Database will not be cleared automatically) Moved initialization and shutdown logic to onServerStart rather than onWorldJoin due to the latter method being called multiple times Changed a lot of the logic to be syncronized for consistency Database now will hold the current mod version, and will automatically backup if the version changes

v1.3.2 (rolled back)

Hotfix for v1.3.1 where types would be incorrectly displayed in tooltip

v1.3.1 (rolled back)

Tape Drives officially added! Added commands for Tape Drives to help admins moderate the different types of disks on their server Added a full server side configuration file which allows for many in depth changes to the mod to allow players to balance their playthrough if they feel that base it's not balanced or not strong enough Fixes an issue where the cache was not properly reset between world save and quits, resulting from the cache not being flushed and reset. Improved tooltips for both Ender Drives and Tape Drives to use the config values from the server

v1.3.0 Beta (rolled back)

Created Tape Disk for NTP-heavy, armor, tools, weapons, and single stack items Created a Server Config for almost every hardcoded value. Will allow enable/disable specific drives, change type counts, and database functionality The Server Config also allows for changing default scope and disable a scope entirely if wanted Updated networking to allow for better client and server syncing

v1.2.4

Adds GuideME support to all EnderDisk drives Added confirmation check for the AutoBenchmark and Clear commands Updating all logging to be under LogManager rather than System logs

v1.2.3

Fixes a race condition where you could insert more than the allowed types by IO transfering many disks. You can still extract from drives with too many types, it doesnt render them inoperable. Fixed the insert method to be more robust and simulate an item insert before actually moving the item to verify type limits Updated the getAvailableStacks method to use a ForkJoinPool to utilize multilple threads to query the database as fast as possible Added Japaneese localization with help from twister716 on Github Added Chinese localization with help from ZHAY1008 on Github

v1.2.2

Fixed potential issue with items not persisting across game relaunches Fixed tooltip caching to show a more accurate number Added new assets for components Added recipes depending on which AE2 additional mods are installed

v1.2.1

Added support for Cell Workbench filters Added agressive power draw scaling with the count of items on the frequency Added a new UI that better reflects the theme of the mod Added a delta buffer that is flushed to WAL in atomic batches Added WAL replay automatically in process Fixed an error with FTB Teams not being optional Fixed render issue with the items in the WAL getting added after the database gets loaded into memory

v1.2.0

Modifications to the database handler Added directional control (Bidirectional, Input, Output)

General code cleanups and UI updates

1.2.4Релиз1.21.3, 1.21.4, 1.21.5 · 10 апреля 2025 г.

v1.2.4

Adds GuideME support to all EnderDisk drives Added confirmation check for the AutoBenchmark and Clear commands Updating all logging to be under LogManager rather than System logs

v1.2.3

Fixes a race condition where you could insert more than the allowed types by IO transfering many disks. You can still extract from drives with too many types, it doesnt render them inoperable. Fixed the insert method to be more robust and simulate an item insert before actually moving the item to verify type limits Updated the getAvailableStacks method to use a ForkJoinPool to utilize multilple threads to query the database as fast as possible Added Japaneese localization with help from twister716 on Github Added Chinese localization with help from ZHAY1008 on Github

v1.2.2

Fixed potential issue with items not persisting across game relaunches Fixed tooltip caching to show a more accurate number Added new assets for components Added recipes depending on which AE2 additional mods are installed

v1.2.1

Added support for Cell Workbench filters Added agressive power draw scaling with the count of items on the frequency Added a new UI that better reflects the theme of the mod Added a delta buffer that is flushed to WAL in atomic batches Added WAL replay automatically in process Fixed an error with FTB Teams not being optional Fixed render issue with the items in the WAL getting added after the database gets loaded into memory

v1.2.0

Modifications to the database handler Added directional control (Bidirectional, Input, Output)

General code cleanups and UI updates

Комментарии

Загружаем…