Releases: SlimeKnights/Mantle
Releases · SlimeKnights/Mantle
1.11.97 for 1.20.1
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
- 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
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_recipesis now/mantle remove recipes.
Tags
- Regrouped tag related commands as sub-commands of
/mantle tags./mantle tags_foris now/mantle tags for/mantle view_tagis now/mantle tags view/mantle dump_tagis now/mantle tags entries/mantle dump_all_tagsis now/mantle tags dump/mantle tag_preferenceis now/mantle tags preference
- Added
/mantle tags for targeted blockand/mantle tags for targeted fluidas 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 entriesand/mantle tags dumpnow 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
InvertedFluidandInvertedFluidTypefor a basic implementation of reverse gravity fluids. - Added
BurningLiquidBlockandMobEffectLiquidBlockto make it easier to create fluids that apply fire or a constant effect. FluidDeferredRegisterhas 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
textureshelper withroot(ResourceLocation)and argumentless versions ofstill()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
TextureColorHelperfor 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
BlockDeferredRegisterhas new helpers to add potted plant blocks.- Added
ArgumentTypeDeferredRegister,AttributeDeferredRegister, andPotionDeferredRegisterto aid in registering the respective objects. - Added
EnumDeferredRegisterto allow enum object registration for any registry without a dedicated register.
JSON
- Added block predicates
mantle:blocks_motionandmantle:can_be_replaced. - Added item predicate
mantle:has_container. - Added Entity predicates
mantle:sprinting,mantle:has_effect,mantle:block_at_entity, andmantle:blocking. - Added
mantle:load_conditionto 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
Remove Recipes command
- Added
/mantle remove_recipescommand for generating JSON to remove a recipe. - Supports removing recipes by ID.
- Can also remove recipes by input or output, provided the recipe implements the relevant methods on
Recipe. Notably works well for crafting table and furnace recipes. - Supports creating presets in JSON for Mantle using mods to have common recipe removals pre-configured. For some examples, see https://github.com/SlimeKnights/TinkersConstruct/tree/1.20.1/src/generated/resources/data/tconstruct/mantle/command/remove_recipes
- Note this command is entirely voluntary; its just a tool to help modpack makers remove recipes from datapacks.
JSON
- Added item predicate for checking if an item is registered with the fluid transfer registry
ItemOutputandFluidOutputnow have a newgetTag()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
FluidOutputexception messages sayingItemOutput
Book
- Added
SpriteElement, renders a texture atlas sprite. - Added support for scaling non-
ItemElementicons in icon listing indexes (notably includesSpriteElement).
Full Changelog: v1.11.71...v1.11.79
1.11.71 for 1.20.1
Books
- Added
AbstractBookItemfor creating a basic book with right click open functionality. - Added
BookScreenOpenerto make it easier to referenceBookDatamethods in item classes. - Added
ContentPageIconListfrom Tinkers' for an index with icons. - Added
uniformFontoption toappearance.jsonto use the compact unform font in the book. - Added helpers to
BookScreento 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
metalbornandembersto the default tag preferences list. - Make
SmartItemHandlerSlotmore compatible with JEI slot expectations. - Added
LogicHelper.orElseNullto resolve a lazy optional to null if absent. - Make
layersinmantle:item_layeroptional, as the model is useful for anti-z-fighting. MakeLayerData#DEFAULTpublic 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_PROTECTnot checkingDamageTypeTags#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
- First Simplified Chinese Translation by @Don-Trueno in #230
Contributors
- @KnightMiner
- @Don-Trueno made their first contribution in #230
Full Changelog: v1.11.63...v1.11.71
1.11.63 for 1.20.1
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
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
ContainerFoodItemandFluidContainerFoodItemfor constructing simple stackable edible items. - Added
ConstantFluidContaineRWrapperfor creating simple fluid items storing a single fluid. - Added helper to
ItemDeferredRegisterto 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/attachedwill show as an in world tooltip the fluid contents of the tank behind it. - Similarly, anything in the tag
mantle:gauges/tankwill show a fluid tooltip for the contents of the targeted block. - Anything in the block entity tag
mantle:hides_gauge_amountwill 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_blacklistwill be entirely ignored by gauges.
Utility
- Mark
BlockEntityHelperget methods as deprecated as simple pattern matchinginstanceofis better in 99% of cases. FluidTooltipHandlernow 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#buildQuadpublic, useful for highly specialized model building. - Fix
SimpleBlockModelbeing 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
filledin both empty and filled fluid container transfers toresultfor more consistency with recipe naming. The oldfilledkey 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
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
Nbut notMwere0 < M < N. - Added many improvements for
FluidTransferHelperto better navigate recent usages in Tinkers, such as smarter tank interaction and fluid slots and sound effects.
Loadable
- Added
RecordLoadable#withLoaderfor 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
LegacyLoadablefor 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
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
Nbut notMwere0 < M < N. - Added many improvements for
FluidTransferHelperto better navigate recent usages in Tinkers, such as smarter tank interaction and fluid slots and sound effects.
Loadable
- Added
RecordLoadable#withLoaderfor 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
LegacyLoadablefor 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
- Added enum set loadable for more performant enum set loading.
- Add several improved tag conditions for datapack loading.
- Add option to
ElementScreento 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