Skip to content

Releases: SlimeKnights/Mantle

1.11.97 for 1.20.1

03 Jan 23:56
2187847

Choose a tag to compare

What's Changed

  • Shaped retextured recipe now supports copying texture from any input block instead of just using the block itself.
  • Added a config option to reenable the buggy fluid renderer, as shaders can't stand mods doing normal things.
  • Allow setting the texture for a retextured recipe using a key from the ingredients map. This will likely be the primary way to do it in the future.
  • Fixed wrong translation key for failing to write tags.

Full Changelog: v1.11.95...v1.11.97

1.11.96 for 1.20.1

31 Dec 02:02

Choose a tag to compare

1.11.96 for 1.20.1 Pre-release
Pre-release
  • Shaped retextured recipe now supports copying texture from any input block instead of just using the block itself.
  • Added a config option to reenable the buggy fluid renderer, as shaders can't stand mods doing normal things.
  • Fixed wrong translation key for failing to write tags.

Full Changelog: v1.11.95...v1.11.96

1.11.95 for 1.20.1

22 Dec 23:57

Choose a tag to compare

Content

  • Allow wetting a sponge using fluid transfer.
  • Retextured blocks now show the block ID under advanced tooltips.

Commands

  • Allow registering custom tag sources for the tags command.
  • New command /mantle sources ... - lists all sources of a file in a resource pack or datapack.
  • New command /mantle remove (structure_set|biome_modifier) to allow disabling parts of worldgen. /mantle remove_recipes is now /mantle remove recipes.

Tags

  • Regrouped tag related commands as sub-commands of /mantle tags.
    • /mantle tags_for is now /mantle tags for
    • /mantle view_tag is now /mantle tags view
    • /mantle dump_tag is now /mantle tags entries
    • /mantle dump_all_tags is now /mantle tags dump
    • /mantle tag_preference is now /mantle tags preference
  • Added /mantle tags for targeted block and /mantle tags for targeted fluid as the F3 debug screen is not always easy to navigate.
  • Tag viewing commands no longer sort the tag so its possible to view the natural ordering.
  • /mantle tags entries and /mantle tags dump now properly dumps tag removals.
  • New command /mantle tags add ... - adds the entry to the given tag in a generated datapack.
  • New command /mantle tags remove ... - removes the entry from to the given tag in a generated datapack.
  • New command /mantle tags clear ... - puts an empty replace tag in a generated datapack.

Fluids

  • Added InvertedFluid and InvertedFluidType for a basic implementation of reverse gravity fluids.
  • Added BurningLiquidBlock and MobEffectLiquidBlock to make it easier to create fluids that apply fire or a constant effect.
  • FluidDeferredRegister has been updated with helpers to build the above new classes automatically.
  • Fix fluid renderer not adjusting for fog properly (for example, the blindness effect).

Fluid textures

  • Replace textures helper with root(ResourceLocation) and argumentless versions of still() and alike that suffix the root.
  • Added a new data provider to generate camera textures from the first frame of a fluid texture.
  • Allow fluid textures to change the camera image opacity instead of it being hardcoded to 10%.
  • Add options to control fluid fog, including the start and end distances, the color, and the shape.

Helpers

  • Added TextureColorHelper for getting the average color of a block, item, or general sprite.
  • Added loadable helper that catches errors and supplies a default, for more safe JSON parsing.
  • Make the JEI crafting index helper public.

Deferred

  • BlockDeferredRegister has new helpers to add potted plant blocks.
  • Added ArgumentTypeDeferredRegister, AttributeDeferredRegister, and PotionDeferredRegister to aid in registering the respective objects.
  • Added EnumDeferredRegister to allow enum object registration for any registry without a dedicated register.

JSON

  • Added block predicates mantle:blocks_motion and mantle:can_be_replaced.
  • Added item predicate mantle:has_container.
  • Added Entity predicates mantle:sprinting, mantle:has_effect, mantle:block_at_entity, and mantle:blocking.
  • Added mantle:load_condition to all relevant loader registries. Allows using a load condition to change the object loaded. Requires condition context in the typed map for tag access.
  • Added potion display ingredient, which displays all variants of a potion bottle.
  • Fix potion ingredient not serializing in datagen properly.

Books

  • Improve placement of padding in books. Ensures its more likely to end up in the previous section and not mess with other indices.
  • Item lists no longer cycle during book export and reset to index 0.
  • Improve setting of element parents.
  • Change default scale for export command to 2.

Full Changelog: v1.11.79...v1.11.95

1.11.79 for 1.20.1

27 Jul 22:34

Choose a tag to compare

Remove Recipes command

JSON

  • Added item predicate for checking if an item is registered with the fluid transfer registry
  • ItemOutput and FluidOutput now have a new getTag() helper to fetch the tag being used for tag preferences. Will be null for direct item outputs.
  • Added new recipes for all 4 furnace variants (furnace, blast furnace, smoker, campfire) with results of ItemOutput. In other words, you can create a smelting recipe that outputs a tag. Plus, our recipe builder is way better than vanillas.
  • Fix recipe builders producing multiple JSONs erroring if configured to create advancements.
  • Fix FluidOutput exception messages saying ItemOutput

Book

  • Added SpriteElement, renders a texture atlas sprite.
  • Added support for scaling non-ItemElement icons in icon listing indexes (notably includes SpriteElement).

Full Changelog: v1.11.71...v1.11.79

1.11.71 for 1.20.1

16 Jul 22:53

Choose a tag to compare

Books

  • Added AbstractBookItem for creating a basic book with right click open functionality.
  • Added BookScreenOpener to make it easier to reference BookData methods in item classes.
  • Added ContentPageIconList from Tinkers' for an index with icons.
  • Added uniformFont option to appearance.json to use the compact unform font in the book.
  • Added helpers to BookScreen to fetch the uniform and enchanting table fonts.
  • Fix title font centering wrongly when using custom book fonts.
  • Fix missing shadow on book cover titles.

Combat

  • Introduce CombatHelper.
    • Methods for creating damage sources.
    • Method for attacking with a tool in offhand.
    • Tool action for bypassing weapon knockback.
    • Helper to fetch main hand attribute from stack in the "wrong slot".
  • Remove the need to mark the offhand cooldown tracker as active.

Utility

  • Added metalborn and embers to the default tag preferences list.
  • Make SmartItemHandlerSlot more compatible with JEI slot expectations.
  • Added LogicHelper.orElseNull to resolve a lazy optional to null if absent.
  • Make layers in mantle:item_layer optional, as the model is useful for anti-z-fighting. Make LayerData#DEFAULT public to help with layer datagen.
  • Gauges on right click now skip checking the "hide amount" tag. Its only really needed client side as the problem is that info not being synced.
  • Fix DamageSourcePredicate#CAN_PROTECT not checking DamageTypeTags#BYPASS_EFFECTS.

Network

  • Added option for network version to be set to ensure exceptions on version mismatch.
  • Improve exception logging for failed packet decoding.

Translations

Contributors

Full Changelog: v1.11.63...v1.11.71

1.11.63 for 1.20.1

12 Jun 04:55

Choose a tag to compare

Heart Renderer

  • Heart renderer now shows max health via colored heart containers behind the main ones.
  • Max health rendering can be disabled in the client config. Config property was renamed as part of this change so if you had previously disabled the renderer you will need to disable it again.
  • Fix absorption heart colors being wrong.
  • Fix hardcore hearts not showing

What's Changed

New Contributors

Full Changelog: v1.11.61...v1.11.63

v1.11.61

10 Jun 03:32

Choose a tag to compare

This build adds new utilities for Ceramics and Inspirations, plus some additional utilities to reduced copied code between those mods and Tinkers' Construct.

Registration

  • Added ContainerFoodItem and FluidContainerFoodItem for constructing simple stackable edible items.
  • Added ConstantFluidContaineRWrapper for creating simple fluid items storing a single fluid.
  • Added helper to ItemDeferredRegister to register an item with no special properties (useful now that creative tabs are no longer set on the item instance)
  • Added MultiObject, shared interface for many different registration objects to make it easier to iterate for creative tab filling.
  • Fix adapter approach to fluid registration not including all the newest block properties.

Gauges

  • Ported over gauge code from Ceramics.
  • gauges are a block which when right clicked show the amount of fluid in the block behind them (provided its synced to client).
  • As a new feature for 1.20, anything in the block tag mantle:gauges/attached will show as an in world tooltip the fluid contents of the tank behind it.
  • Similarly, anything in the tag mantle:gauges/tank will show a fluid tooltip for the contents of the targeted block.
  • Anything in the block entity tag mantle:hides_gauge_amount will render just the fluid name, no fluid amount. This is used for Ceramics and Tinkers' channel blocks, which do not sync amounts to client.
  • Anything in the block entity tag mantle:gauge_blacklist will be entirely ignored by gauges.

Utility

  • Mark BlockEntityHelper get methods as deprecated as simple pattern matching instanceof is better in 99% of cases.
  • FluidTooltipHandler now includes the mod ID in the fluid tooltip when advanced tooltips are enabled. Helpers to do this are exposed publically.
  • Fluid unit tooltips now show values comma formatted for the thousands place.

Heart Renderer

  • Rewrote the Mantle extra heart renderer to update for latest vanilla changes along with other missing features.
  • Resource pack information: the heart textures are now only pulled from our texture sheet, as resource packs changing the red hearts won't work with our higher colors of hearts. We also relocated the texture sheet due to many new heart variants.
  • When max health or absorption is an odd number, renderer now shows a half heart container instead of the (debatably buggy) vanilla behavior of a full container that is impossible to fill.
  • Added freezing hearts (#226)
  • When taking damage, higher colors of hearts now show the damage animation where the heart flashes a brighter color temporarily.
  • Absorption no longer shows poison hearts as that is inconsistent with vanilla. It still shows wither hearts.
  • Retextured poison and wither hearts to better match vanilla poison. These may get tweaked a bit in later builds as I am not 100% happy with the distinctions between colors at higher levels. Feel free to reach out on our discord if you are interested in helping with that (as I am not the best artist).
  • Fixed issues with absorption rendering when max health is reduced below 10 hearts.

JSON

Loadable

  • Added new varargs constructor for EnumLoadable.

Resource packs

  • Make MantleItemLayer#buildQuad public, useful for highly specialized model building.
  • Fix SimpleBlockModel being unable to deserialize non-list elements.
  • Fixed book tooltips going out of bounds on the right side of the page.

Data packs

  • Added PotionIngredient (mantle:potion), a new ingredient type that matches an item (list) or a tag with the given potion set.
  • Rename filled in both empty and filled fluid container transfers to result for more consistency with recipe naming. The old filled key is still supported for backwards compatability.

Content

  • Added default fluid transfer instances for soups (beetroot, mushroom, rabbit), honey, water bottles, and potions. Each activates if the relevant fluid tag is filled, with water bottles being the only default behavior.
  • Make result for fluid transfer optional, allowing a fluid item to be emptied leaving nothing behind.
  • Added default fluid tooltips for honey, potion, soup, and water. Each activates on fluids in the relevant tags.
  • Default fluid transfer no longer uses kilobuckets, and uses lowercase unit naming convention with full name for buckets

Full Changelog: v1.11.55...v1.11.61

1.11.55 for 1.20.1

31 May 22:42

Choose a tag to compare

1.11.55 hotfix: revert an accidental binary break due to method return change.

Fluids

  • Fluid tooltip helper now has a new method for getting the fluids while ignoring the "hold shift" prompt.
  • When transferring fluids, if not all fluid is transferred, return the remainder to the original tank. This should only happen in rare cases where a tank accepted N but not M were 0 < M < N.
  • Added many improvements for FluidTransferHelper to better navigate recent usages in Tinkers, such as smarter tank interaction and fluid slots and sound effects.

Loadable

  • Added RecordLoadable#withLoader for the relatively common case of loadables that need to pass the loader instance to the child constructor.
  • Added deprecated loadable helpers for recipe serializers and loader registries, along with LegacyLoadable for migrating JSON syntax.

Misc

  • Switch render items to a block state based loader registry. The parented block based registry will be removed in a later build.
  • Improve builder for block state data map datagen.
  • Added new tag preference loot table entry.

Full Changelog: v1.11.44...v1.11.55

1.11.54 for 1.20.1

31 May 06:41

Choose a tag to compare

Fluids

  • Fluid tooltip helper now has a new method for getting the fluids while ignoring the "hold shift" prompt.
  • When transferring fluids, if not all fluid is transferred, return the remainder to the original tank. This should only happen in rare cases where a tank accepted N but not M were 0 < M < N.
  • Added many improvements for FluidTransferHelper to better navigate recent usages in Tinkers, such as smarter tank interaction and fluid slots and sound effects.

Loadable

  • Added RecordLoadable#withLoader for the relatively common case of loadables that need to pass the loader instance to the child constructor.
  • Added deprecated loadable helpers for recipe serializers and loader registries, along with LegacyLoadable for migrating JSON syntax.
  • Fix wrong return type on collection methods preventing usage of the empty helper.

Misc

  • Switch render items to a block state based loader registry. The parented block based registry will be removed in a later build.
  • Improve builder for block state data map datagen.
  • Added new tag preference loot table entry.

Full Changelog: v1.11.44...v1.11.54

1.11.44 for 1.20.1

03 Mar 01:40

Choose a tag to compare

  • Added enum set loadable for more performant enum set loading.
  • Add several improved tag conditions for datapack loading.
  • Add option to ElementScreen to specify a blit offset.
  • Implement helpers for GUI based fluid transfer.
  • Add freeze related entity predicates.
  • Make fluid output and item output record loadable.
  • Add ability to lookup a loader name from a loader registry.
  • Fix fluid and item output tag NBT not deserializing.

Full Changelog: v1.11.36...v1.11.44