* resource package and misc leftover rendering stuff
* Port Item and ItemStack patches
* Extract most item patches to interface
* Refactor Item#setNoRepair to be part of Item.Builder
* Adapt AnimationItemOverrideList to new cap system
* Improve null contract of OptionalCapabilityInstance
* Remove Capability.cast
* Update CapabilityAnimation to new cap system
* Remove OptionalCapabilityInstance#flatMap and add NonNullConsumer
* Add capability patch to Entity, not everything yet
* Fix Entity patch and add missing methods to IForgeEntity
* Fix null contract of CapabilityDispatcher
* Add TileEntity caps
* Adapt FluidUtil to new cap system
* Add world caps
* Add chunk caps
* Clean up cap patches
* Replace all tabs with spaces
* Move builder methods on Item to Item.Builder
Whitepsace fix
* Sided stuff take 2
* Prevent OptionalCapabilityInstance creating additional empty instances
* Cache getCapability result in AnimationTESR
* Fix imports in TileEntity patch
* Pull out cap code to base class, add village caps
The abstract class will be used as the default, and to enable delegates but we should keep it api simple by keeping the interface.
Removed some patches that didnt get removed in the rebase.
Tests do not run yet.
Things of note:
Removed the idea of substitutions, just register multiple items with the same name they will override each other like a normal map.
Decoupled Forge registries from vanilla classes. They now use bouncer classes. MODDERS SHOULD NEVER USE THESE
Introduced more stringent registry locking. As it sits things are only allowed to be registered during the RegistryEvent.Registry phases!
This is to force modders to split up their registrations, and pave the way for calling these functions multiple times during a single MC lifecycle.
ObjectHolder, Missing Mappings, etc... *should* now work for all registry types, nothing should be special cased to Blocks/Items anymore.
Added optional generic dummy factory to registries, to allow registry creators the ability to dummy more then just Blocks.
Re-worked the ItemStack transformer and applied it to ItemBlock and ItemBlockSpecial. Allowing us to cleanup reflective hacks in Block callbacks.
Registry onAdd callback is now only fired on the ACTIVE registry, fixing any issues of temp registries overriding active objects.