Fix battery capacity reverting to default on world reload#1667
Merged
rubensworks merged 1 commit intomaster-26from Apr 20, 2026
Merged
Fix battery capacity reverting to default on world reload#1667rubensworks merged 1 commit intomaster-26from
rubensworks merged 1 commit intomaster-26from
Conversation
…ame test Agent-Logs-Url: https://github.com/CyclopsMC/IntegratedDynamics/sessions/0af42aed-4a9c-4410-83f8-d8e4033bbf56 Co-authored-by: rubensworks <440384+rubensworks@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
rubensworks
April 20, 2026 15:27
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Battery capacity (set via crafting multiple batteries together) was silently discarded on save/load —
SimpleEnergyHandler.serialize()only persistsenergy, notcapacity. On reload, the block entity's energy handler was re-constructed with the default 1M capacity, capping stored energy even when the actual capacity was higher.Changes
SimpleEnergyHandlerCapacity: Overrideserialize/deserializeto also persist thecapacityfield. Deserialize falls back to the current (constructor-provided) value when the field is absent, preserving backward compatibility with existing saves.GameTestsBattery: AddtestBatteryCapacityPersistence— sets a 2× capacity handler with energy above the default cap, round-trips through serialize/deserialize, asserts bothcapacityandenergyare preserved.