Clean patch fix for the Assassin bee crashing servers and sided RF / Energy bee issues #40
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.
This is a cleaner pull request (than #39 ) with only a small change based on further review of the code that I had refactored; I realized that I had missed the possibility of another mod returning more consumed energy than sent energy since that seemed like an obvious bug. A trace level logger call has been added in case someone is debugging such an issue.
Thank you for helping to make Bees fun and worth doing in packs that include your mod (especially when combined with Gendustry).
While fixing a server crashing bug with the Assassin bees, I also looked over the other currently open issues and made the Energy bee work with sided blocks (by checking the null/internal side, as well as all the others).
Please accept this contribution of code. As there isn't an existing license specified nor a contributor agreement to look at and since the additions are either purely derivative works or arguably the obvious way for someone skilled in the art to resolve the problem (and thus not fit for copyright alone):
I grant non-revocable, transferable, non-exclusive (you have them, I have them for my contributions alone, etc) rights to the code that I have offered for addition in the combined work, please use or share it as you desire with whatever license you desire.
It resolves the following bugs, and I have built and tested these locally (both in the prior iteration, and the current code on a server-side only patch which works correctly without the client updated).
Fix bugs #22 #25 (do not work on source hive)
Fix bugs #23 #37 (use canHandleBlock guard)
(and my issue) DarkPacks/Crackpack-3#113
src/main/java/com/rwtema/careerbees/effects/EffectPower.java
Fix #17 (work on any valid side, including 'internal' / null) and refactored to de-duplicate code
Also include the logger to annotate the 'sent too much' corner case covered by the code this replaces (in case other mods are glitchy about storing too much energy).