Tags
Creators
Details
Licensed ARR
Published 3 years ago
Updated 7 hours ago
All versions
1.3.12-forge-mc1.20.1
Release
Fusion 1.3.122 weeks ago 17.9K
Compatibility
Minecraft: Java Edition
1.20–1.20.1
Platforms
Forge
NeoForge
Supported environments
Client-side
Changes
Fusion 1.3.12
- Fixed
MutableQuad#chunkLayernot always overwriting flags
Fusion 1.3.11
- Significantly reduced memory used by Fusion models
- Facing and chunk render type of
MutableQuads are now stored as bit flags connectingtextures ignore non-default tiles when predicate is always true or always falseconnectingtexture sub-texture data is now stored more compactly when some tiles are empty- When
connectingtexture has no sub-texture, its tiles are initialized lazily
- Facing and chunk render type of
Fusion 1.3.10
- Fixed translucent item models being invisible when graphics is set to 'Fabulous'
- Fixed model item transforms (
displayproperty) translations not being scaled by 1/16th - Fixed models for blocks targeted by block model modifiers not receiving world context with Sodium
- Fixed models sometimes failing to load with ModernFix'
dynamic_resourcesoption
Fusion 1.3.9
- Fixed
dimensionblock model predicate not working for chunk geometry
Fusion 1.3.8
- Fixed crash when using
continuoustexture type as a sub texture for other texture types - Fixed models from block model modifiers grouped by random offset being submitted for all models' render types
- Fixed models from block model modifiers grouped by random offset not receiving world context
- Fixed texture dependencies for composite model not always being loaded
Fusion 1.3.7
- Fixed crash when breaking blocks targeted by block model modifiers due to Mixin bug
Fusion 1.3.6
- Added
random_offsetproperty for block model modifier model entries to overwrite hardcoded block random offsets - Improved randomness of
randomtexture type - Significantly reduced memory footprint of
MutableQuads and thus models from Fusion - Fixed item model modifiers always using the default model's transforms
- Fixed
match_state_in_frontbehaving asmatch_state - Fixed incorrect uv calculation when explicitly specifying frame indices for animated textures leading to it always showing the first frame
- Fixed incorrect translucency handling for item models with translucent textures
- Fixed any model with a
cuboidparent being baked as acuboidmodel - Fixed block model predicates being rotated incorrectly due to floating point errors
- Fixed Forge/NeoForge
render_typeproperty not working forcuboidmodels - Fixed item models that have a parent model at the same location as the item identifier failing to load
Fusion 1.3.5
- Directional model predicates, i.e.
match_blockandmatch_state, are now rotated along withcompositemodel entries - Replaced vanilla default uv calculation of model elements with calculation that better handles elements outside the center block space
- Fixed deserialization of item transforms (
displayproperty) for Fusion models - Fixed
match_block,match_statemodel predicates andmatch_block,match_state,match_block_in_front,match_state_in_frontconnection predicates only using the last block from theblocksarray property - Fixed origin being offset for
compositemodel transforms - Fixed composition order of
compositemodel transforms with blockstate file transforms - Added workaround for Sodium breaking animated texture interpolation
Fusion 1.3.4
- Fixed threading issue with
match_blockandmatch_stateblock predicates potentially leading to incorrect results or crashes - Fixed element face 'uv' property being ignored
Fusion 1.3.3
- Fixed deserialization of
dimension,match_block, andmatch_stateblock predicates - Fixed deserialization of
dimensionentity predicate
Fusion 1.3.2a
- Fixed crash when mods bake models outside the normal baking window
Fusion 1.3.2
- Fixed wrong render type being used for modded blocks that set a Forge override
Fusion 1.3.1
- Fixed
overlayconnecting texture layout producing way too many quads - Fixed
connectionsproperty of connecting textures not working - Fixed base texture properties not working for
connectingandrandomtexture types - Fixed geometry of
basemodels being duplicated - Fixed broken textures when ModernFix
mixin.perf.dynamic_resourcesis enabled - Renamed
ConnectingModelData.ConnectingModelDataBuildertoConnectingModelData.Builder - Fixed
CuboidModelDataBuilder#materialcalling itself - Fixed model materials map serialization not including '#' for references
Fusion 1.3.0
- Model related changes:
- Overhauled
ModelTypeand how models are loaded:- Any model with a Fusion model as parent will now be loaded as a Fusion model
- Changes for
basemodel type:- Model can now be made emissive, through
emissiveproperty - Shading can now be disabled, through
shadeproperty - Ambient occlusion can now be disabled, through
ambient_occlusionproperty - Lighting in guis can now be changed, through
gui_lightproperty - Elements can now have
light_emission,emissive,shade,ambient_occlusionproperties - Element faces can now have
light_emission,emissive,shade,ambient_occlusionproperties
- Model can now be made emissive, through
- Overhauled block and item model modifiers:
- Added
priorityproperty - Modifiers are now applied in order of
priority, then file name, rather than 'random' - Missing targets (like modded items/blocks) can now be ignored, through
ignore_missing_targetsproperty - Added
default_model_overwritesto allow changes the default model when item/block model predicates are met - Added
append_modelsto append models when item/block model predicates are met - For block model modifiers,
show_breaking_overlaycan now be set per model entry
- Added
- Added block model predicates:
- Simple
true,false,and,or,nottypes match_blockchecks whether the block at a certain offset matches certain blocksmatch_statechecks whether the block at a certain offset matches certain blocks and state propertiesbiomechecks whether the block is in a biomedimensionchecks whether the block is in a dimensionaltitudechecks whether the block's y-position is within a range
- Simple
- Added item model predicates:
- Simple
true,false,and,or,nottypes countchecks if a stack's count is within a rangedurabilitychecks if a stack's durability is within a rangeenchantmentchecks whether an enchantment is present has a certain levelmatch_namechecks whether an item's custom name matches a string or regexpotionchecks whether the stack has a potion type
- Simple
- Added
compositemodel type:- Allows combining multiple models
- Models can be applied conditionally based on item and block predicates
- Models can be translated, scaled, and rotated
- Overhauled
- Texture related changes:
- Overhauled
TextureTypeand how textures are loaded:- Textures can now have multiple texture atlas sprites
- Textures can now have sub-textures
- Any model using a Fusion texture will now be loaded as a Fusion model
- Added generic quad processing for custom texture types
- Changes for
basetexture type:- No longer requires a
basemodel
- No longer requires a
- Changes for
connectingtexture type:- No longer requires a
connectingmodel - Each tile is now its own sprite on the texture atlas
- Empty tiles (completely transparent) are ignored and not stitched or processed
- Tiles can now use a sub-texture type, through
sub_textureproperty - Animated image layout can now be per-tile, through
per_tile_animationproperty - Added an option for a default connection predicate, through
connectionsproperty - Changes to connection predicates:
- Added
trueandfalsetypes - Added
ignore_missingoptions formatch_block,match_state,match_block_in_front,match_state_in_front - Allow specifying multiple blocks for
match_block,match_state,match_block_in_front,match_state_in_front
- Added
- No longer requires a
- Changes for
randomtexture type:- Each tile is now its own sprite on the texture atlas
- Empty tiles (completely transparent) are ignored and not stitched or processed
- Tiles can now use a sub-texture type, through
sub_textureproperty - Added randomness options
position,position_facing,position_axis, throughrandom_sourceproperty - Animated image layout can now be per-tile, through
per_tile_animationproperty - Increased maximum
rowsandcolumnsfrom 10 to 100
- Changes for
continuoustexture type:- Default tile is now its own sprite on the texture atlas
- Increased maximum
rowsandcolumnsfrom 10 to 32
- Changes for
scrollingtexture type:- Added 'wrap' loop type to allow the frame to wrap around the image
- Overhauled
- General changes:
- Error messages are now printed in a user-friendly readable format
- Improved clarity of error messages
- Bug fixes:
- Fixed handling of
fulllayout connecting textures with a legacy square image - Fixed inconsistent randomness for block model modifier models
- Fixed geometry key for block model modifiers
- Fixed handling of generated item models
- Fixed concurrency issue when using
pane_culling_fixpotentially leading to corrupted quads - Fixed item transforms not getting serialized for base model data
- Fixed incorrect scaling of origin for rotation of base model data elements
- Fixed not all vanilla model properties being serializable through
cuboidmodel type - Fixed continuous textures not working correctly when rotated
- Fixed thin edges sometimes showing around connecting, continuous, and random textures
- Fixed sometimes broken mipmaps for Fusion textures on Minecraft 1.12
- Fixed integration with FramedBlocks on Minecraft 1.20.1 and 1.21.1
- Fixed inconsistent ordering of model modifiers on older Minecraft versions
- Fixed model ordering of appended models in block model modifiers not being maintained when some models are vanilla and some are not
- Fixed handling of
Fusion 1.2.12
- Fixed handling of connections key references in connecting models
- Fixed texture references added through base model data builder having an extra '#'
Fusion 1.2.11c
- Fixed block model modifier outputting quads from
WeightedBakedModels for all render types
Fusion 1.2.11b
- Fixed the breaking texture not showing on blocks targeted by a block model modifier
Fusion 1.2.11a
- Fixed
show_breaking_overlayoption for block model modifiers not working
Fusion 1.2.11
- Added
show_breaking_overlayoption to block model modifiers to not show the breaking overlay for appended models - Fixed crash when modded model bakeries do not contain model modifiers' target models
Fusion 1.2.10
- Fixed all Fusion models loaded after any Fusion model has an error being broken
Fusion 1.2.9
- Fixed
piecedlayout when a quads' uv does not cover the entire sprite - Fixed connecting textures using connections for the wrong direction for rotated quads with mirrored uv in some cases
Fusion 1.2.8a
- Fixed texture metadata sometimes getting cleared to early
Fusion 1.2.8
- Added Hungarian translations (thanks to bayi!)
- Ambient occlusion is now disabled for emissive quads
- Fixed quads being emitted 7 times for
baseandconnectingmodels when rendered as items - Fixed quads with different render types being ordered randomly for
baseandconnectingmodels when rendered as items - Fixed inverted vertical tile ordering for
continuoustextures - Fixed
DefaultConnectionPredicates#isFaceVisiblereturningis_same_blockpredicate - Fixed
NotConnectionPredicateserialization being invalid - Fixed render type hint from Forge's model format being ignored
- Fixed crash when evaluating
biomeentity predicate - Fixed
randomtexture seed always being 0 for bottom side - Fixed Fusion texture metadata cache not being cleared between resource reloads
- Fixed entity model modifiers using model for incorrect layer when targeting entities with multiple vanilla layers
Fusion 1.2.7b
- Fixed integration with FramedBlocks
Fusion 1.2.7a
- Moved connection evaluation for connecting models fixing Fusion caching issue when combined with FramedBlocks
Fusion 1.2.7
- Fixed argument validation for
countanddurabilityitem predicates
Fusion 1.2.6b
- Fixed
connectingandbasemodels not always using correct render type when rendered as items
Fusion 1.2.6a
- Fixed multipart models not passing model MinecraftForge#10523
Fusion 1.2.6
- Added data providers for block model modifiers and item model modifiers
Fusion 1.2.5
- Fixed emissive quads not being quite as bright as they should be
Fusion 1.2.4
- Fixed vertex permutations for rotated textures being wrong and hence
piecedlayout not looking correct when rotated - Fixed non-custom render type quads not being rendered in item models for
baseandconnectingmodels - Files generated through
FusionModelProviderare now tracked in the existing file helper
Fusion 1.2.3
- Added special casing for
builtin/generatedparent model to make it work properly - Added Turkish translations (thanks to RuyaSavascisi!)
Fusion 1.2.2
- Fixed
pane_culling_fixculling being inverted, culling only quads which should not be - Fixed crash when mods use non-resource characters in model layer names
Fusion 1.2.1
- Fixed texture references overwriting model references in connecting models
- Fixed block model modifiers with only
pane_culling_fixoption getting ignored
Fusion 1.2.0
- Added base model type
- Allows for processing random and continuous textures
- Base models can have multiple parent models
- Connecting model type inherits all properties from the base model type
- Added base texture type
- Allows specifying emissiveness, custom render type, and custom tinting function
- Added
biome_grass,biome_foliage, andbiome_watertinting functions - All texture types inherit properties from base texture type
- Added block model modifiers
- Allows overlaying additional models onto blocks
- Added
pane_culling_fixto cull the top/bottom quads of glass panes
- Added item model modifiers
- Allows for conditionally changing item models
- Added
count,durability,enchantment, andpotionitem predicates
- Added custom entity models
- Added entity model modifiers
- Allows for random or conditional entity models and textures
- Added
altitude,is_baby,biome, anddimensionentity predicates
- Added a warning screen when a resource pack requires a newer Fusion version than the one installed
- Added
piecedconnecting texture layout allowing bordered textures from only a few tiles - Added
overlayconnecting texture layout intended for block overlays - All Fusion texture types can now be animated
- Added continuous texture type for textures which span multiple blocks
- Added random texture type for randomly choosing from a number of variations
- Connecting models now allow specifying a
connectionskey similar to thetexturekey - Added
match_block_in_front,match_state_in_front, andis_directionconnection predicates - Improved error messages for
match_stateconnection predicate - Drastically improved performance of connecting models
- Added compatibility for Embeddium, Iris, ModernFix, Oculus, Rubidium, Sodium, and VintageFix
- Removed empty space from the
fullconnecting texture layout - Fixed
match_statepredicate not working correctly when not all block state properties are specified - Fixed incorrect connections for connected textures when using UV lock or texture rotations
- Fixed specifying connections per texture in connecting models not working correctly
- Fixed connecting model sometimes using the wrong render type
- Fixed caching states in connecting model sometimes leading to incorrect connections
Fusion 1.1.1
- Added
match_stateconnection predicate - Added
is_face_visibleconnection predicate
Fusion 1.1.0c
- Fix Forge's
render_typeproperty not working for connecting models
Fusion 1.1.0b
- Fixed Fusion's appearance API checks, so it works properly with mods like FramedBlocks
Fusion 1.1.0a
- Fixed crash when rendering the breaking overlay for connecting models
- Fixed concurrency issue when checking connections for connecting models
Fusion 1.1.0
- Added an option for resource packs to have optional Fusion integration
- Added the option for connecting textures to override their render type
- Added the option to specify connections per texture in connecting models
- Added
horizontal,vertical, andcompactconnecting texture layouts - Added support for Forge's appearance API
- Fixed connecting models not respecting Forge's
render_typeproperty
Fusion 1.0.6
- Fixed concurrency issue when rendering connecting models
Fusion 1.0.5a
- Make sure parent models get resolved properly when combined with mods like DashLoader
Fusion 1.0.5
- Fixed
VanillaModelDataBuildersetting ambient occlusion to false by default
Fusion 1.0.4
- Fixed concurrency issue where some texture are sometimes not loaded correctly
Fusion 1.0.3
- Added
ModelBakingContext#getModel - Fixed parents for connecting models not always being resolved
- Added bypass to load child model data for multipart models
Fusion 1.0.2
- Fixed simple connected texture sprite coordinates for the left,up,down connection
Fusion 1.0.1
- Fixed
SpriteCreationContextsometimes returning the wrong atlas size
Fusion 1.0.0
- Initial release of Fusion
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:p19vrgc2:WXAxqZ1M"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:p19vrgc2:WXAxqZ1M"
}

