Changes

Summary

  1. Implement validate function for common task of throwing an error after constructing (details)
  2. Fix prefernce cache not proeprtly supporting multiple registries (details)
  3. Ditch the "forRemoval" part of deprecation on IGenericLoadable (details)
  4. Stop ItemOutput from caching the result if the preference is missing (details)
  5. Bring back name key in fluid ingredient loadable as deprecated (details)
  6. Make TagPreference thread safe (details)
  7. Restore single type entity ingredient syntax (details)
  8. Add entity ingredient logic to JEI (details)
Commit 164cc41ee6061572d1ea8900a71fe798b081442a by KnightMiner
Implement validate function for common task of throwing an error after constructing

Means you can use the same logic in both without an extra variable
The file was modifiedsrc/main/java/slimeknights/mantle/data/loadable/common/ItemStackLoadable.java (diff)
The file was modifiedsrc/main/java/slimeknights/mantle/data/loadable/common/FluidStackLoadable.java (diff)
The file was modifiedsrc/main/java/slimeknights/mantle/data/loadable/primitive/StringLoadable.java (diff)
The file was modifiedsrc/main/java/slimeknights/mantle/data/loadable/record/RecordLoadable.java (diff)
The file was modifiedsrc/main/java/slimeknights/mantle/data/loadable/Loadable.java (diff)
Commit b81df4aa1109c8d979d369e0ff1bd0e19454eee8 by KnightMiner
Fix prefernce cache not proeprtly supporting multiple registries

Technically not a new issue, but we only use this for items right now so we never noticed
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/helper/TagPreference.java (diff)
Commit 5769a4503da9bc5198006465337c22aac66887ec by KnightMiner
Ditch the "forRemoval" part of deprecation on IGenericLoadable

We don't have a good migration path for interfaces using this directly so its better to not have the IDE "errors"
The file was modifiedsrc/main/java/slimeknights/mantle/data/registry/GenericLoaderRegistry.java (diff)
Commit 1ab30ac0983d23f65cd85946d97ba61da0d85d16 by KnightMiner
Stop ItemOutput from caching the result if the preference is missing

Can cause issues if someone is to fetch recipe oututs before tags are loaded.
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/helper/ItemOutput.java (diff)
Commit 40ce6432b44241c481dd674f44ea7f077b121c57 by KnightMiner
Bring back name key in fluid ingredient loadable as deprecated

Turns out some people had tinkers support via JSON on 1.19.2, so might as well keep that working
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/ingredient/FluidIngredient.java (diff)
Commit a5337b5b95e8657fe898d03df7c18064d35467f9 by KnightMiner
Make TagPreference thread safe
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/helper/TagPreference.java (diff)
Commit 0358e1d3807725b6fef8ccdfec7262a9b15ebb71 by KnightMiner
Restore single type entity ingredient syntax

Same deal as fluid ingredient, help other mods that relied on teh old syntax, though in this case no need to deprecate it. Might want a more general way to do a list or value type field in the future
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/ingredient/EntityIngredient.java (diff)
Commit eed14b3321ffc764a752c097947fe645a627e03b by KnightMiner
Add entity ingredient logic to JEI

Means anyone using entity ingredient gets it for free
The file was addedsrc/main/java/slimeknights/mantle/plugin/jei/entity/EntityIngredientRenderer.java
The file was addedsrc/main/java/slimeknights/mantle/plugin/jei/entity/EntityIngredientHelper.java
The file was addedsrc/main/resources/assets/mantle/textures/item/missingno.png
The file was addedsrc/main/java/slimeknights/mantle/plugin/jei/entity/package-info.java
The file was addedsrc/main/java/slimeknights/mantle/plugin/jei/MantleJEIConstants.java
The file was modifiedsrc/main/java/slimeknights/mantle/plugin/jei/JEIPlugin.java (diff)
The file was modifiedsrc/main/java/slimeknights/mantle/recipe/ingredient/EntityIngredient.java (diff)