[Refacor/Bugfix] Clear only fluid nbt for GTFluidHandlerItemStack
#2894
+14
−36
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.
What
The implementation of
GTFluidHandlerItemStackclears the entire tag compound when fluids are drained:GregTech/src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java
Lines 85 to 89 in 70bfc8a
This causes other NBT datas to be purged together, e.g. the
lockedFluidfor quantum tanks. (btw the locked fluid don't work for item stacks)Implementation Details
The
removeTagWhenEmptymethod is removed completely, since Forge handles fluid nbt clearing itself alr inFluidHandlerItemStack#setContainerToEmpty:This clears only the NBT tag about the fluid contained within. An extra check was added to remove the NBT when empty: