Releases: SlimeKnights/Mantle
Releases · SlimeKnights/Mantle
1.9.20 for 1.18.2
General
- Deferred register wrapper now supports any registry type instead of just forge registries
- Added helpers to get streams of tag values
- Simplify tag preference
- Added command to view preferences for tags
- Generic loader now has a couple of new helpers for working with JSON objects and singletons
- Generic loader registry now has a bit more validation on the loader, ensuring the serializer is for the correct type
- Defaults are now supported as long as the generic methods are used
- Fix a bug with the mouse in books on macs (will likely backport to 1.18.1 later)
JSON
- Fluid tag empty condition replaced with generic tag empty condition
- Removed
mantle:intersection
in favor of newforge:intersection
- Removed
mantle:difference
in favor of newforge:difference
- Removed datagen helpers for compound and NBT ingredients as forge has static constructors now
1.8.37 for 1.18.1
- Added harvest tiers command - lets you list all forge harvest tiers and generate the JSON file to change their order
- Added option to dump a single tag to JSON, instead of just to chat or all tags to JSON
- Fix fluids not rendering on fabulous graphics
v1.8.31
Blocks
- Signs now register their own block entity instead of injecting into the vanilla block entity
New Utilities
- Added generic data provider: a basic data provider for JSON generators
- Added
NamedComponentRegistry
: Simple registry for a resource locaton to object registry for components of JSON files - Added
GenericSerializerRegistry
: allows registering a loader for something that reads/writes to JSON. - Added
GenericLoaderRegistry
: allows registering a loader for something that reads/writes to JSON and the packet buffer - Added
ISafeManagerReloadListener
: for registering a reload listener that safely exits if forge enters an invalid state - Added
IEarlySafeManagerReloadListener
: for registering a reload listener that runs during the first stage of reload that safely exits if forge enters an invalid state - Added
MergingJsonDataLoader
: Loads data from JSON, merging JSONs from all packs - Added
ResourceValidator
: Loads a list of present resource locations from a pack and allows checking if it exists - Added
FluidNameIngredient
: Allows referencing a fluid from another mod during datagen - Added
FluidTagEmptyCondition
: LikeTagEmptyCondition
but for fluids - Added
LoggingRecipeSerializer
: Recipe serializer that logs on decoder errors - Added cast ticker and server ticker helper to
BlockEntityHelper
Utility Tweaks
- Allow extensions of
InventoryBlockEntity
to opt out of saving size in NBT - Added utilities to register metal blocks with ingots and nuggets
- Added way to register enum block with no items
- Registering wood blocks now simpler, requires fewer parameters
- Fix wood block objects not having all blocks in
getValues
Renames
Container
is nowContainerMenu
Inventory
is nowContainer
in most classes- Recipe builders
addCriterion
is nowunlockedBy
setGroup
is nowgroup
build
is nowsave
- Tile entity is now block entity
- Rename
IngredientWithout
toIngredientDifference
- Many repackages, ask on the SlimeKnights discord if unsure where something went
Removals
- Remove
defaultIfNull
as Java addedObjects.requireNonNullOrElse
- Remove cached config values as Forge now caches them
- Remove offhand indicator tag in favor of the boolean enable
Models
- Make model caches concurrent
Books
- API changes
- Page IDs are now resource locations instead of strings
- Recipe age size is now autodetected by default
- Pages now have a
getTitle
method to make indexes simplier - Section transformer no longer translates both
<pageName>
, just<sectionName>.<pageName>
- Fix structure page text being inconsistent with other page content types
- Added command to open a book by ID
- Added test book to help debug content types in dev
- Fix book caching names for language entries when reloading contents
v1.6.157
Hopefully the final release for 1.16.
- For retexturable blocks, focusing on a no-texture variant now shows all recipe options in JEI, makes it easier to show just one variant.
- Fixed auto uv on fluid quads not properly rotating (thanks RCXcrafter)
- Fixed items in books not showing numbers (may cause books in TiC to be weird without the next update)
- Added ko_kr translation (thanks mindy15963)
- Added fr_fr translation (thanks Aarrn33)
v1.6.152
- Added loot modifier datagen helpers
- Improve mantle loot modifiers
- Added block tag loot condition
- Added set fluid loot function
- Simplify JSON for damagable items in ItemOutput
- Added transform type to the model item
1.6.146
Warning: this update will break the previously released build of Tinkers' Construct as some API was moved from Tinkers to Mantle. Make sure to update Tinkers Construct as well.
Datapacks
- Added fluid container ingredient: matches a fluid container with exactly the right amount of fluid
Utils
- Add option to cooldown tracker to enable separate from the tag. Will likely replace the tag in 1.17.
- Update tag preference list with the new Thermal Series mod ID
- Added merging behavior to
ConsumerWrapperBuilder
, so conditions are merged between wrapped wrappers - Deferred register automatically sets the luminosity for a fluid using the block light
Books - JSON
- Allow books to override the cover and page textures for the UI
- Added padding page type, a blank page that only shows when its on the left/right (useful to force later pages to be together)
- Added option for books to have large page titles and center page titles
- Added index pages - automatically generates an index for the current section
- Make the
image with text below
page easier to use - Allow book indexes to optionally be 4 columns, adds +3 entries
Books - Java
- Add more text helpers to the base page content
- Added
SectionTransformer
: implementation ofBookTransformer
targeting a specific section by name - Fix tooltips overflowing the page
- Fix tooltips on the left page rendering under the right page
- Fix crash on error page when there is no exception (for errors such as unknown page type)
v1.6.127
Add logic to prevent z-fighting for complex item models
Simplify some book code
Fix desync when interacting with lecterns
Fix missing tooltype check in strippable log block
v1.6.123
Tag preference improvements
- Improve caching of
ItemOutput
to reduce lookup time withinIRecipe
- Switch a crash for tags being uncachable to a logged error
- Make registry ID a fallback for equal mod ID preference
Helpers
- Added
LogicHelper
with a couple utilities for common ternaries - Added
JsonHelper.parseColor
to parse a 6 or 8 digit hexadecimal string into a integer color - Added
JsonHelper.getResourceLocation
to parse a resource location from JSON - Fix
SingleItemHandler
not allowing hopper input beyond 1 item
Models
- Added
MantleItemLayerModel
(registered asmantle:item_layer
). Improves the vanilla item layer by adding a non-tint color option, a no tint option, and a luminosity option. Can be used by other loaders (e.g. tinkers tool model) to add tinted and luminosity elements - Ported
NBTKeyModel
(registered asmantle:nbt_key
) from Tinkers. Allows a model to switch between a set of textures based on a string tag in NBT, plus more variants can be registered - Added
ColoredBlockModel
(registered asmantle:colored_block
). Allows non-tint colors and luminosity to be set for block style models
1.6.115
- Added ability to pick books up from lecterns
- Added offhand attack cooldown utility
- Added wood building block objects for logs, planks, fences, etc.
- Added single key multimap
- Added
IntArrayWrapper
,LambdaIntReference
, andZeroValidIntReference
for container syncing - Fix item cycle in books running faster on machines with higher FPS
1.6.109
- Add option to make a consumer wrapper with just a resource location (for compat which uses the same format)
- Skip writing conditions in the consumer wrapper if no conditions
- Add some extra ingredients and objects for datagen
- Add support for books in lecterns
- Fix some command localizations