This is first update pass, which is mainly import reorganization, name
fixes, etc... Although some parts of second were done where changes
aren't important.
Errors: ~1400 -> 82.
Using LogManager instead of FMLRelaunchLog to access the logger instance.
Added logging of the name of failed exports instead of exception.
Improved crafting log to include issuer including their location and the
requested item.
Removed superfluous FMLRelaunchLog instance.
Removed superfluous parameters for PlayerData constructor.
Reduces the visibility of all fields to private and create setters/getters
when necessary. Exceptions are fields with GuiSync as these need to be
public.
Reduces the visibility of internal methods to private/protected/default when possible.
ModVersionFetcher will now return a MissingVersion in case of an exception
instead of letting it propagate upwards.
Also added a generic try/catch to the VersionChecker itself, just in case
any unchecked exception might be triggered inside the thread and at least
not logged correctly.
Mostly used for the recipe system, but can also be used for debugging purposes. Debug options needs to be ticked to use the full information gain. Recipes only require the normal localization and the specific name plus metadata.
Shifted the recipes into a recipes folder where the CSV will also reside. This will also elevate the copying of the readme to the user directory since it can reside in the recipes folder.
Fixed a bug where the copier would copy the would also copy empty folders
This should no longer keep a reference to a World around and potentially
keep them loaded.
Also added a finalize() to CompassRegion to ensure the file is closed on a
GC.
Some cleanup regarding member order, final, etc
Outsources the encoding of the compass data into the file name
Written tests for the encoding
Did some internal cleaning of the class
Conflicts:
src/main/java/appeng/block/solids/BlockSkyStone.java
src/main/java/appeng/core/WorldSettings.java
src/main/java/appeng/core/features/registries/PlayerRegistry.java
src/main/java/appeng/core/sync/network/NetworkHandler.java
src/main/java/appeng/core/worlddata/PlayerMapping.java
src/main/java/appeng/core/worlddata/PlayerMappingsInitializer.java
src/main/java/appeng/services/CompassService.java
src/main/java/appeng/worldgen/MeteoritePlacer.java
src/main/java/appeng/worldgen/MeteoriteWorldGen.java
Removes the improper way to set itself into a public static non-final variable.
Removes the direct access to the IntegrationRegistry from AppEng. Will be added at some later point somewhere else for non-singleton access.
Constructor is set to package private to enable possible construction from unit tests. Are current not runnable sind it is currently tied to the FML Loader instance.
Many exceptions got an improvement due to changed class or description or details it is providing.
Is not complete, needs to be done in patches in the regions, where it is needed, since some are just
swallowed.
Removed total usage of pure RuntimeExceptions to 0.
Deprecates the old usage of the AEItemDefinitions via the direct method access of
* blocks()
* parts()
* items()
* materials()
and thus use the new re-direct via definitions().
All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.
Reworked whole Version Checker with an extensible interface to add any other service later on easier.
The version checker now has its own config file, to collect the different options and extract them from the main config file.
In that you can specify how fine the versions should be checked.
Replaced String concat in loops with StringBuilder (performance)
Replaced for with keySet + Map.get() through for with entrySet (perf)
Changed inner classes to static classes, mostly struct like (memory)