Boiler Fuel Fix and JEI Fuel Recipe Change Suggestions #2543
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.
STILL IN PROGRESS
Overview
I noticed that boiler fuels burned for significantly less time than they should. I also noticed some problems with JEI pages, mostly regarding generators and the large steam boiler. This PR aims to fix the issues and/or provide some additional information to the player to reduce confusion.
Changes
In Progress:
Changed Large Boilers to have their own JEI page with information unique to boilers (eg. water and steam, half/doubled durations for combustion and dense fuels respectively) and removing the Large Boiler machines from the Combustion and Semi-Fuel tabs, all while maintaining compatibility with existing packs and addons.
Implementation Details
I ended up almost entirely reworking the Large Boiler system. BoilerRecipeLogic.java has sustained immense changes, but only to the code inside trySearchNewRecipe(); systems that use this should function as usual.
While there is now a new RecipeMap for BoilerFuels, they are simply cloned from combustion and semi-fluid fuels (as previously the recipe logic used those two). The changes to each recipe that was previously done in the recipe logic is now done in the BoilerRecipeBuilder file.
There are some edits to the following files that (while utmost care was taken to ensure continued compatibility for packs) may cause unseen issues or use methods in ways that are unintended.
Screenshots
(In Progress: )
Potential Compatibility Issues
Honestly, I completely understand if this PR gets rejected simply because it goes to deep into the files, but I'm hoping the changes are worth it. I wont be offended if nothing gets accepted, don't worry!
I'm not certain that getAdditionalLinesCount() works entirely with multiple properties, especially when mixing hidden and unhidden properties. This will likely be resolved by the time I finish the branch.
I tried making it so addon devs wouldn't have to edit too much in the way of java files, but if one would like to add dynamic variables to a fuel recipe it would be a little hacky probably.