Skip to content

Releases: SlimeKnights/Mantle

1.9.20 for 1.18.2

08 May 21:09
Compare
Choose a tag to compare

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 new forge:intersection
  • Removed mantle:difference in favor of new forge:difference
  • Removed datagen helpers for compound and NBT ingredients as forge has static constructors now

1.8.37 for 1.18.1

15 Mar 01:37
Compare
Choose a tag to compare
  • 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

03 Feb 03:05
857f65d
Compare
Choose a tag to compare

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: Like TagEmptyCondition 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 now ContainerMenu
  • Inventory is now Container in most classes
  • Recipe builders
    • addCriterion is now unlockedBy
    • setGroup is now group
    • build is now save
  • Tile entity is now block entity
  • Rename IngredientWithout to IngredientDifference
  • Many repackages, ask on the SlimeKnights discord if unsure where something went

Removals

  • Remove defaultIfNull as Java added Objects.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

31 Jan 18:32
e3377ec
Compare
Choose a tag to compare

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

22 Dec 06:47
Compare
Choose a tag to compare
  • 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

06 Dec 05:21
Compare
Choose a tag to compare

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 of BookTransformer 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

06 Oct 04:46
Compare
Choose a tag to compare

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

25 Aug 22:02
Compare
Choose a tag to compare

Tag preference improvements

  • Improve caching of ItemOutput to reduce lookup time within IRecipe
  • 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 as mantle: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 as mantle: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 as mantle:colored_block). Allows non-tint colors and luminosity to be set for block style models

1.6.115

15 Jul 05:14
Compare
Choose a tag to compare
  • 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, and ZeroValidIntReference for container syncing
  • Fix item cycle in books running faster on machines with higher FPS

1.6.109

15 Jun 02:44
Compare
Choose a tag to compare
  • 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