* Reimplement forge blockstates variant through the use of a pseudo-model that handles the model loading, retexturing, custom data, etc. on behalf of the blockstates loader. This model gets injected into the model registry with an autogenerated unique name, to not collide with other model locations.
* Fix model loaders not being properly initialized by calling the reload method from the loader register function. In 1.12, registering a reload listener caused the listener to be called right away from the register method. This is not true anymore.
- Fix race condition lazy-initializing flowing fluid block data.
- Fix typo in ItemTextureQuadConverter that prevents certain animated textures from being used in the fluid bucket.
- Fix calls to onContentsChanged in FluidTank.
- Fix FluidUtil.tryEmptyContainer logic when simulating.
- Fix EmptyFluidHandler.fill returning the wrong number.
* Some (sadly breaking) improvements to the API, after feedback and concerns provided by users:
- Moved calculation of the translation key to the FluidAttributes constructor, so that builders can be shared between still & flowing sub-fluids.
- Moved biome-based coloring to a dedicated FluidAttributes.Water variant, which is not used by default.
- Added logic to automatically gather fluid textures into the list of textures to bake.
- Patched BucketItem and FlowingFluidBlock to avoid eager access to the fluid objects.
- Added a ForgeFlowingFluid class, as a more user-friendly way to construct a new FlowingFluid.
- Moved forge fluids into FluidAttributes companion object to the vanilla Fluid. By gigaherz
- Redesigned the Fluid API to be closer to the Items API. By King Lemming
Co-authored-by: King Lemming <kinglemming@gmail.com>
class as suggested in the issue.
Note: most tests are commented out at the present time, pending
rework. Tests that work, work.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Add AT for GameRules.register Closes#5946
Fix Forge Blockstate loader model path is inconsistent with vanilla blockstates Closes#5892
Fix client crashing when opting not to load a world when there's missing blocks Closes#5886
Implement properly scalable progress thanks to @gigaherz. Closes#5863.
Implement API for pushing messages to the startup screen from mods.
Add memory display.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Fix not including userdev source in sources jar.
Update license header of files that need it.
Delete patches_old folders. Most are unneeded in 1.13+ as the systems they effected were changed significantly. Any that need to be readdressed can be done as PRs.
`java.awt` will statically load itself when `java.awt.Color`, `java.awt.Dimension`, etc are loaded.
This conflicts with lwjgl3 and must be avoided (except for in mojang's server gui).
DimensionType is not unique per Dimension. See DimensionManager for more details.
Vanilla now has a chunk loading system, so Forge's will need to be deprecated/adapted.
- Move to util package, rename to LazyOptional
- Clean up existing javadocs, add javadocs to everything missing them
- Add more NonNull functional interfaces, and use them everywhere
- Move orEmpty() to Capability, works better here anyways